@seams/wallet 0.7.1 → 0.8.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 (1880) hide show
  1. package/README.md +4 -5
  2. package/THIRD_PARTY_NOTICES.md +1 -113
  3. package/dist/.build-inputs.sha256 +1 -1
  4. package/dist/esm/SeamsWeb/SeamsWeb.js +12 -3
  5. package/dist/esm/SeamsWeb/assembly/browserSigningSurfaceAssembly.js +2 -2
  6. package/dist/esm/SeamsWeb/assembly/createBrowserRecoveryPublicDeps.js +1 -1
  7. package/dist/esm/SeamsWeb/assembly/createBrowserSigningStores.js +1 -1
  8. package/dist/esm/SeamsWeb/assembly/createBrowserWarmSessionPublicDeps.js +0 -2
  9. package/dist/esm/SeamsWeb/operations/auth/login.js +34 -49
  10. package/dist/esm/SeamsWeb/operations/auth/scheduleLinkedDevicePresignaturePrefill.js +64 -0
  11. package/dist/esm/SeamsWeb/operations/auth/walletAuth.js +2 -3
  12. package/dist/esm/SeamsWeb/operations/auth/walletUnlockEcdsaSubject.js +1 -4
  13. package/dist/esm/SeamsWeb/operations/auth/walletUnlockSubject.js +2 -8
  14. package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/addEmailOtp.js +1 -1
  15. package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/googleEmailOtpWalletAuthFlow.js +5 -9
  16. package/dist/esm/SeamsWeb/operations/authMethods/passkey/addPasskey.js +1 -1
  17. package/dist/esm/SeamsWeb/operations/authMethods/revokeAuthMethod.js +1 -1
  18. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingHttpTransport.js +11 -12
  19. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingResume.js +2 -9
  20. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingWorkerChannels.js +24 -24
  21. package/dist/esm/SeamsWeb/operations/devices/linkDeviceFlow.js +38 -13
  22. package/dist/esm/SeamsWeb/operations/devices/scanDevice.js +1 -1
  23. package/dist/esm/SeamsWeb/operations/near/signNEP413.js +0 -1
  24. package/dist/esm/SeamsWeb/operations/recovery/syncAccount.js +2 -4
  25. package/dist/esm/SeamsWeb/operations/recovery/walletRecovery.js +1 -2
  26. package/dist/esm/SeamsWeb/operations/recovery/walletRecoveryCommit.js +4 -5
  27. package/dist/esm/SeamsWeb/operations/recovery/walletRecoveryDurablePayload.js +5 -9
  28. package/dist/esm/SeamsWeb/operations/recovery/walletRecoveryRotation.js +1 -2
  29. package/dist/esm/SeamsWeb/operations/registration/pendingRegistrationRecovery.js +5 -20
  30. package/dist/esm/SeamsWeb/operations/registration/registration.js +5 -5
  31. package/dist/esm/SeamsWeb/operations/registration/registrationStrictEcdsa.js +1 -1
  32. package/dist/esm/SeamsWeb/operations/registration/registrationTerminalCommit.js +1 -1
  33. package/dist/esm/SeamsWeb/operations/session/thresholdEcdsaProvisioning.js +2 -6
  34. package/dist/esm/SeamsWeb/operations/tempo/executeEvmFamilyTransaction.js +4 -1
  35. package/dist/esm/SeamsWeb/publicApi/auth.js +2 -1
  36. package/dist/esm/SeamsWeb/publicApi/near.js +1 -1
  37. package/dist/esm/SeamsWeb/publicApi/tempo.js +6 -0
  38. package/dist/esm/SeamsWeb/publicApi/transactionReview.js +4 -1
  39. package/dist/esm/SeamsWeb/signingSurface/BrowserSigningSurface.js +28 -19
  40. package/dist/esm/SeamsWeb/walletIframe/client/router.js +1 -2
  41. package/dist/esm/SeamsWeb/walletIframe/client/surface/domain.js +0 -2
  42. package/dist/esm/SeamsWeb/walletIframe/client/transport/IframeTransport.js +0 -4
  43. package/dist/esm/SeamsWeb/walletIframe/client/transport/iframe-transport-handshake.js +1 -1
  44. package/dist/esm/SeamsWeb/walletIframe/host/restoredSessionPresignaturePrefill.js +29 -0
  45. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuFooter.js +64 -0
  46. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.js +194 -385
  47. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/icons.js +136 -0
  48. package/dist/esm/SeamsWeb/walletIframe/shared/exactSessionState.js +6 -26
  49. package/dist/esm/SeamsWeb/walletIframe/shared/messages.js +6 -6
  50. package/dist/esm/SeamsWeb/walletIframe/shared/transactionReview.js +11 -1
  51. package/dist/esm/advanced.js +0 -1
  52. package/dist/esm/base-styles.js +2 -2
  53. package/dist/esm/build-paths.js +0 -2
  54. package/dist/esm/core/accountData/near/accountProjection.js +0 -1
  55. package/dist/esm/core/accountData/near/keyMaterial.js +0 -1
  56. package/dist/esm/core/browser/walletIframe/events.js +1 -5
  57. package/dist/esm/core/browser/walletIframe/host-mode.js +0 -10
  58. package/dist/esm/core/config/chains.js +1 -2
  59. package/dist/esm/core/config/configBuilder.js +0 -1
  60. package/dist/esm/core/config/configHelpers.js +0 -1
  61. package/dist/esm/core/indexedDB/accountKeyMaterial.js +0 -1
  62. package/dist/esm/core/indexedDB/index.js +3 -4
  63. package/dist/esm/core/indexedDB/pendingWalletRecoveryCommit.js +6 -14
  64. package/dist/esm/core/indexedDB/pendingWalletRegistrationCommit.js +139 -273
  65. package/dist/esm/core/indexedDB/schemaNames.js +0 -22
  66. package/dist/esm/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestRecords.js +3 -3
  67. package/dist/esm/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestStore.js +3 -3
  68. package/dist/esm/core/indexedDB/seamsWalletDB/ecdsaClientPresignatures.js +1 -1
  69. package/dist/esm/core/indexedDB/seamsWalletDB/pendingWalletRecoveryCodeBackup.js +0 -1
  70. package/dist/esm/core/indexedDB/seamsWalletDB/registrationSetup.js +103 -0
  71. package/dist/esm/core/indexedDB/seamsWalletDB/repositories.js +2 -3
  72. package/dist/esm/core/indexedDB/seamsWalletDB/signingSessionSeals.js +0 -35
  73. package/dist/esm/core/indexedDB/seamsWalletDB/walletCustodyEcdsaContinuity.js +4 -4
  74. package/dist/esm/core/indexedDB/seamsWalletDB/walletSessionAuthorizationStore.js +37 -19
  75. package/dist/esm/core/indexedDB/unifiedIndexedDBManager.js +10 -3
  76. package/dist/esm/core/indexedDB/walletCustodyEd25519MaterialRecord.js +1 -1
  77. package/dist/esm/core/platform/browser/createBrowserPlatformRuntime.js +8 -25
  78. package/dist/esm/core/rpcClients/near/rpcCalls.js +39 -1
  79. package/dist/esm/core/rpcClients/relayer/passkeyCustodyEnvelope.js +3 -13
  80. package/dist/esm/core/rpcClients/relayer/thresholdEcdsa.js +0 -2
  81. package/dist/esm/core/rpcClients/relayer/walletRecoveryPrepare.js +72 -125
  82. package/dist/esm/core/rpcClients/relayer/walletRegistration.js +21 -15
  83. package/dist/esm/core/rpcClients/relayer/walletRegistrationTerminalResponse.js +1 -2
  84. package/dist/esm/core/signingEngine/assembly/createManagers.js +1 -1
  85. package/dist/esm/core/signingEngine/assembly/ports/recovery.js +1 -1
  86. package/dist/esm/core/signingEngine/assembly/ports/shared.js +1 -2
  87. package/dist/esm/core/signingEngine/assembly/warmup.js +1 -5
  88. package/dist/esm/core/signingEngine/chains/evm/display/functionSelectors.js +2 -5
  89. package/dist/esm/core/signingEngine/chains/near/nearSignerWasm.js +2 -33
  90. package/dist/esm/core/signingEngine/flows/recovery/ecdsaDerivationExport.js +0 -1
  91. package/dist/esm/core/signingEngine/flows/recovery/ecdsaExportFlow.js +2 -2
  92. package/dist/esm/core/signingEngine/flows/recovery/ecdsaExportMaterial.js +35 -29
  93. package/dist/esm/core/signingEngine/flows/recovery/ed25519YaoExportFlow.js +3 -3
  94. package/dist/esm/core/signingEngine/flows/recovery/exportKeypairOperation.js +1 -4
  95. package/dist/esm/core/signingEngine/flows/recovery/passkeyEd25519YaoRecovery.js +2 -5
  96. package/dist/esm/core/signingEngine/flows/recovery/stepUpAuthorization.js +1 -1
  97. package/dist/esm/core/signingEngine/flows/registration/accountLifecycle.js +3 -8
  98. package/dist/esm/core/signingEngine/flows/registration/services/passkeyEd25519YaoAddSigner.js +1 -2
  99. package/dist/esm/core/signingEngine/flows/shared/signingStateMachine.js +2 -5
  100. package/dist/esm/core/signingEngine/flows/signEvmFamily/emailOtpSigningSession.js +2 -2
  101. package/dist/esm/core/signingEngine/flows/signEvmFamily/preparedSigning.js +2 -9
  102. package/dist/esm/core/signingEngine/flows/signEvmFamily/readySecp256k1Material.js +0 -2
  103. package/dist/esm/core/signingEngine/flows/signEvmFamily/signEvmFamily.js +6 -8
  104. package/dist/esm/core/signingEngine/flows/signEvmFamily/signers/ecdsaDerivationClientSigningMaterialSource.js +24 -18
  105. package/dist/esm/core/signingEngine/flows/signEvmFamily/signingFlow.js +7 -5
  106. package/dist/esm/core/signingEngine/flows/signEvmFamily/signingFlowRuntime.js +10 -9
  107. package/dist/esm/core/signingEngine/flows/signEvmFamily/transactionExecutor.js +3 -7
  108. package/dist/esm/core/signingEngine/flows/signNear/implicitAccountFunding.js +1 -1
  109. package/dist/esm/core/signingEngine/flows/signNear/shared/ed25519YaoNormalSigning.js +33 -42
  110. package/dist/esm/core/signingEngine/flows/signNear/shared/signatureOnlySigning.js +0 -2
  111. package/dist/esm/core/signingEngine/flows/signNear/shared/signingMaterials.js +1 -7
  112. package/dist/esm/core/signingEngine/flows/signNear/shared/signingSessionAuthMode.js +4 -14
  113. package/dist/esm/core/signingEngine/flows/signNear/signDelegate.js +2 -6
  114. package/dist/esm/core/signingEngine/flows/signNear/signNear.js +2 -2
  115. package/dist/esm/core/signingEngine/flows/signNear/signNep413.js +2 -6
  116. package/dist/esm/core/signingEngine/nonce/NonceCoordinator.js +1 -1
  117. package/dist/esm/core/signingEngine/nonce/nearNonceLane.js +1 -1
  118. package/dist/esm/core/signingEngine/nonce/nonceDiagnostics.js +1 -1
  119. package/dist/esm/core/signingEngine/routerAb/ecdsaDerivation/poolFillRoutes.js +0 -1
  120. package/dist/esm/core/signingEngine/routerAb/ecdsaDerivation/presignaturePool.js +2 -1
  121. package/dist/esm/core/signingEngine/routerAb/ecdsaDerivation/signingMaterialRef.js +0 -3
  122. package/dist/esm/core/signingEngine/session/SigningSessionCoordinator.js +1 -4
  123. package/dist/esm/core/signingEngine/session/authority/authorityOperationResolver.js +17 -68
  124. package/dist/esm/core/signingEngine/session/availability/availableSigningLanes.js +1 -10
  125. package/dist/esm/core/signingEngine/session/availability/persistedAvailableSigningLanes.js +7 -6
  126. package/dist/esm/core/signingEngine/session/emailOtp/EmailOtpWalletSessionCoordinator.js +107 -24
  127. package/dist/esm/core/signingEngine/session/emailOtp/ecdsaBootstrapCommit.js +1 -1
  128. package/dist/esm/core/signingEngine/session/emailOtp/ecdsaLifecycleRuntime.js +0 -3
  129. package/dist/esm/core/signingEngine/session/emailOtp/ecdsaLogin.js +4 -15
  130. package/dist/esm/core/signingEngine/session/emailOtp/ecdsaRecovery.js +12 -16
  131. package/dist/esm/core/signingEngine/session/emailOtp/ed25519ExportContext.js +0 -3
  132. package/dist/esm/core/signingEngine/session/emailOtp/exportRecovery.js +0 -2
  133. package/dist/esm/core/signingEngine/session/identity/clientSessionPersistenceState.js +5 -16
  134. package/dist/esm/core/signingEngine/session/identity/evmFamilyEcdsaIdentity.js +0 -1
  135. package/dist/esm/core/signingEngine/session/identity/exactSigningLaneIdentity.js +1 -1
  136. package/dist/esm/core/signingEngine/session/identity/exactWalletSessionCredential.js +0 -2
  137. package/dist/esm/core/signingEngine/session/identity/selectLane.js +7 -21
  138. package/dist/esm/core/signingEngine/session/material/activeWalletAuthorityEcdsaRuntime.js +3 -9
  139. package/dist/esm/core/signingEngine/session/material/ecdsaCapabilityManifest.js +4 -16
  140. package/dist/esm/core/signingEngine/session/material/ecdsaRoleLocalMaterialResolver.js +1 -14
  141. package/dist/esm/core/signingEngine/session/material/ecdsaSigningCapability.js +1 -1
  142. package/dist/esm/core/signingEngine/session/operationState/preparedOperation.js +1 -5
  143. package/dist/esm/core/signingEngine/session/passkey/ecdsaBootstrap.js +3 -6
  144. package/dist/esm/core/signingEngine/session/passkey/ecdsaKeyFactsInventory.js +0 -1
  145. package/dist/esm/core/signingEngine/session/passkey/ecdsaRecovery.js +1 -4
  146. package/dist/esm/core/signingEngine/session/passkey/ed25519SessionProvision.js +0 -1
  147. package/dist/esm/core/signingEngine/session/passkey/ed25519YaoLocalMaterial.js +2 -3
  148. package/dist/esm/core/signingEngine/session/passkey/ed25519YaoWarmRecovery.js +13 -49
  149. package/dist/esm/core/signingEngine/session/persistence/clientSessionPersistence.js +8 -16
  150. package/dist/esm/core/signingEngine/session/persistence/sealedSessionRecords.js +5 -10
  151. package/dist/esm/core/signingEngine/session/postconditions/runtimePostconditions.js +0 -2
  152. package/dist/esm/core/signingEngine/session/routerAbSigningWalletSession.js +2 -8
  153. package/dist/esm/core/signingEngine/session/warmCapabilities/ecdsaLoginPrefillSigningMaterialSource.js +2 -2
  154. package/dist/esm/core/signingEngine/session/warmCapabilities/nearEd25519CapabilityRehydration.js +1 -1
  155. package/dist/esm/core/signingEngine/session/warmCapabilities/readModel.js +2 -8
  156. package/dist/esm/core/signingEngine/session/warmCapabilities/routerAbWalletSessionCredential.js +1 -12
  157. package/dist/esm/core/signingEngine/session/warmCapabilities/transitions.js +7 -11
  158. package/dist/esm/core/signingEngine/stepUpConfirmation/otpPrompt/authLane.js +0 -1
  159. package/dist/esm/core/signingEngine/stepUpConfirmation/passkeyPrompt/touchIdPrompt.js +6 -30
  160. package/dist/esm/core/signingEngine/stepUpConfirmation/passkeyPrompt/webauthnPromptCoordinator.js +0 -3
  161. package/dist/esm/core/signingEngine/stepUpConfirmation/requireStepUpAuth.js +1 -5
  162. package/dist/esm/core/signingEngine/threshold/commitQueueShared.js +20 -6
  163. package/dist/esm/core/signingEngine/threshold/crypto/ecdsaDerivationClientWasm.js +7 -4
  164. package/dist/esm/core/signingEngine/threshold/crypto/ed25519YaoLaneWasm.js +0 -3
  165. package/dist/esm/core/signingEngine/threshold/ecdsa/bootstrapSession.js +1 -5
  166. package/dist/esm/core/signingEngine/threshold/ecdsa/signingQueue.js +8 -50
  167. package/dist/esm/core/signingEngine/threshold/ed25519/commitQueue.js +7 -43
  168. package/dist/esm/core/signingEngine/threshold/ed25519/walletSession.js +1 -1
  169. package/dist/esm/core/signingEngine/threshold/ed25519/yaoClient.js +1 -35
  170. package/dist/esm/core/signingEngine/threshold/sessionPolicy.js +0 -1
  171. package/dist/esm/core/signingEngine/uiConfirm/PasskeyMpcSessionDurableState.js +1 -4
  172. package/dist/esm/core/signingEngine/uiConfirm/PasskeyMpcSessionManager.js +4 -3
  173. package/dist/esm/core/signingEngine/uiConfirm/UiConfirmManager.js +0 -1
  174. package/dist/esm/core/signingEngine/uiConfirm/handlers/flows/adapters/adapters.js +1 -1
  175. package/dist/esm/core/signingEngine/uiConfirm/handlers/flows/localOnly.js +0 -1
  176. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionReceipt.js +25 -16
  177. package/dist/esm/core/signingEngine/uiConfirm/ui/transaction-display/abi/abiDecode.js +3 -13
  178. package/dist/esm/core/signingEngine/uiConfirm/ui/transaction-display/tree.js +1 -10
  179. package/dist/esm/core/signingEngine/walletCustody/activateEd25519Capability.js +0 -1
  180. package/dist/esm/core/signingEngine/walletCustody/emailOtpLink.js +10 -13
  181. package/dist/esm/core/signingEngine/walletCustody/openCustodyCache.js +2 -6
  182. package/dist/esm/core/signingEngine/walletCustody/passkeyLink.js +7 -10
  183. package/dist/esm/core/signingEngine/walletCustody/registrationCeremony.js +0 -1
  184. package/dist/esm/core/signingEngine/walletCustody/walletRecoveryCredential.js +0 -1
  185. package/dist/esm/core/signingEngine/walletCustody/walletRecoveryEcdsa.js +0 -1
  186. package/dist/esm/core/signingEngine/walletCustody/walletRecoveryEd25519.js +1 -1
  187. package/dist/esm/core/signingEngine/walletCustody/walletRecoveryManifest.js +0 -2
  188. package/dist/esm/core/signingEngine/walletCustody/walletRecoveryRotation.js +0 -1
  189. package/dist/esm/core/signingEngine/webauthnAuth/walletOriginWebAuthn.js +109 -0
  190. package/dist/esm/core/signingEngine/workerManager/SignerWorkerManager.js +0 -2
  191. package/dist/esm/core/signingEngine/workerManager/deviceLinkingPorts.js +67 -48
  192. package/dist/esm/core/signingEngine/workerManager/ecdsaClientWorkerChannels.js +0 -4
  193. package/dist/esm/core/signingEngine/workerManager/validation.js +1 -1
  194. package/dist/esm/core/signingEngine/workerManager/workerTransport.js +4 -47
  195. package/dist/esm/core/signingEngine/workerManager/workerTypes.js +0 -2
  196. package/dist/esm/core/types/accountIds.js +0 -1
  197. package/dist/esm/core/types/sdkSentEvents.js +1 -2
  198. package/dist/esm/core/types/signer-worker.js +1 -36
  199. package/dist/esm/core/walletRuntimePaths/base.js +11 -1
  200. package/dist/esm/plugins/headers.js +0 -1
  201. package/dist/esm/plugins/next.js +0 -1
  202. package/dist/esm/plugins/plugin-utils.js +0 -1
  203. package/dist/esm/plugins/shared-ts/src/utils/normalize.js +1 -1
  204. package/dist/esm/react/components/AccountMenuButton/AccountsSection.js +1 -1
  205. package/dist/esm/react/components/AccountMenuButton/AuthenticationMethodsModal.js +3 -3
  206. package/dist/esm/react/components/AccountMenuButton/ExportKeysSection.js +2 -2
  207. package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal.js +8 -8
  208. package/dist/esm/react/components/AccountMenuButton/LockMenuItem.js +2 -1
  209. package/dist/esm/react/components/AccountMenuButton/MenuItem.css +17 -0
  210. package/dist/esm/react/components/AccountMenuButton/ProfileDropdown.js +1 -1
  211. package/dist/esm/react/components/AccountMenuButton/UserAccountButton.css +0 -5
  212. package/dist/esm/react/components/AccountMenuButton/WalletSettingsLayout.css +8 -0
  213. package/dist/esm/react/components/AccountMenuButton/WalletSettingsLayout.js +21 -13
  214. package/dist/esm/react/components/AccountMenuButton/Web3AuthProfileButton.css +0 -52
  215. package/dist/esm/react/components/AccountMenuButton/icons/GlobeIcon.js +12 -27
  216. package/dist/esm/react/components/AccountMenuButton/icons/KeyIcon.js +12 -27
  217. package/dist/esm/react/components/AccountMenuButton/icons/LaptopIcon.js +4 -19
  218. package/dist/esm/react/components/AccountMenuButton/icons/LinkIcon.js +4 -19
  219. package/dist/esm/react/components/AccountMenuButton/icons/LockIcon.js +11 -26
  220. package/dist/esm/react/components/AccountMenuButton/icons/MailIcon.js +10 -25
  221. package/dist/esm/react/components/AccountMenuButton/icons/RecoveryCodesIcon.js +16 -31
  222. package/dist/esm/react/components/AccountMenuButton/icons/ScanIcon.js +9 -24
  223. package/dist/esm/react/components/AccountMenuButton/icons/SlidersIcon.js +14 -29
  224. package/dist/esm/react/components/AccountMenuButton/icons/SmartphoneIcon.js +11 -26
  225. package/dist/esm/react/components/AccountMenuButton/icons/TouchIcon.js +1 -1
  226. package/dist/esm/react/components/AccountMenuButton/icons/lucideIcon.js +27 -0
  227. package/dist/esm/react/components/AccountMenuButton/icons/strokeIcon.js +7 -17
  228. package/dist/esm/react/components/AccountMenuButton/index.js +11 -11
  229. package/dist/esm/react/components/HostedSeamsAuthMenu/SeamsAuthMenuMock.js +1 -1
  230. package/dist/esm/react/components/HostedSeamsAuthMenu/shell.js +1 -1
  231. package/dist/esm/react/components/QRCodeScanner.css +0 -15
  232. package/dist/esm/react/components/QRCodeScanner.js +2 -2
  233. package/dist/esm/react/components/ShowQRCode.css +0 -14
  234. package/dist/esm/react/components/ShowQRCode.js +4 -4
  235. package/dist/esm/react/components/theme/design-tokens.js +1 -2
  236. package/dist/esm/react/context/index.js +1 -1
  237. package/dist/esm/react/context/reactLoginStateBuilders.js +1 -1
  238. package/dist/esm/react/context/seamsManagerSingleton.js +2 -2
  239. package/dist/esm/react/context/useLoginStateRefresher.js +2 -5
  240. package/dist/esm/react/context/useSeamsContextValue.js +1 -1
  241. package/dist/esm/react/context/useSeamsWithSdkFlow.js +2 -3
  242. package/dist/esm/react/context/useWalletIframeLifecycle.js +1 -15
  243. package/dist/esm/react/hooks/useAccountInput.js +4 -4
  244. package/dist/esm/react/hooks/useNearClient.js +3 -3
  245. package/dist/esm/react/hooks/usePreconnectWalletAssets.js +1 -1
  246. package/dist/esm/react/hooks/useQRCamera.js +2 -2
  247. package/dist/esm/react/hooks/useWallet.js +1 -1
  248. package/dist/esm/react/index.js +10 -10
  249. package/dist/esm/react/styles/styles.css +25 -86
  250. package/dist/esm/react/transactionReview/TransactionReviewHost.js +1 -1
  251. package/dist/esm/react/transactionReview/boundCalls.js +2 -2
  252. package/dist/esm/react/transactionReview/contract.js +1 -1
  253. package/dist/esm/react/transactionReview/controller.js +2 -2
  254. package/dist/esm/react/transactionReview/snapshot.js +2 -2
  255. package/dist/esm/sdk/ConfirmationDrawer-DrsREojk.js +1 -0
  256. package/dist/esm/sdk/EvmClient-DoxytQaJ.js +1 -0
  257. package/dist/esm/sdk/NearClient-vJ65Wjrq.js +1 -0
  258. package/dist/esm/sdk/NonceCoordinator-BBeadCSq.js +1 -0
  259. package/dist/esm/sdk/accountIds-C3Ihsd2c.js +1 -0
  260. package/dist/esm/sdk/accountLifecycle-EyfYPnuT.js +1 -0
  261. package/dist/esm/sdk/actions-DZLxCcrU.js +1 -0
  262. package/dist/esm/sdk/adapters-DtAyuoiA.js +2 -0
  263. package/dist/esm/sdk/base-Xtd32asf.js +1 -0
  264. package/dist/esm/sdk/base64-ojm5DKcF.js +1 -0
  265. package/dist/esm/sdk/browser-CsOGMbMy.js +8 -0
  266. package/dist/esm/sdk/bytes-t5S5mkat.js +1 -0
  267. package/dist/esm/sdk/canonicalPrimitives-MPGET2cl.js +1 -0
  268. package/dist/esm/sdk/canonicalSignerErrorCode-C0hh_SVi.js +1 -0
  269. package/dist/esm/sdk/capabilityKinds-XaXXiD2B.js +1 -0
  270. package/dist/esm/sdk/chains-yAls2d9X.js +1 -0
  271. package/dist/esm/sdk/challengeDelivery-cAsaUC6U.js +1 -0
  272. package/dist/esm/sdk/chunk-dVx5-UGu.js +1 -0
  273. package/dist/esm/sdk/configHelpers-CseiVoZD.js +1 -0
  274. package/dist/esm/sdk/csp-stylesheet-B1fAhrGB.js +2 -0
  275. package/dist/esm/sdk/defaultConfigs-CWpApkMq.js +1 -0
  276. package/dist/esm/sdk/display-jK7_hYho.js +1 -0
  277. package/dist/esm/sdk/domainIds-GDzjOs6i.js +1 -0
  278. package/dist/esm/sdk/ecdsaCapabilityManifest-CHFu-QrV.js +1 -0
  279. package/dist/esm/sdk/ecdsaChainTarget-CRcRR78w.js +1 -0
  280. package/dist/esm/sdk/ecdsaPresignLifecycle-CQnCxSlq.js +1 -0
  281. package/dist/esm/sdk/ecdsaPresignPoolIdentity-Ci-ovDlv.js +1 -0
  282. package/dist/esm/sdk/ecdsaWalletRecords-Cm1DdexN.js +1 -0
  283. package/dist/esm/sdk/enrichDisplayModelWithAbi-CR-4ebuU.js +1 -0
  284. package/dist/esm/sdk/enrichDisplayModelWithAbi-CwHKFqF4.js +569 -0
  285. package/dist/esm/sdk/errors-DfbnsXjO.js +1 -0
  286. package/dist/esm/sdk/events-BJyVcnsn.js +1 -0
  287. package/dist/esm/sdk/evmCryptoWasm-CwEXiLrC.js +1 -0
  288. package/dist/esm/sdk/evmFamilyEcdsaIdentity-Br3iFdQx.js +1 -0
  289. package/dist/esm/sdk/exactSessionState-CjD8gekO.js +210 -0
  290. package/dist/esm/sdk/exactSigningLaneIdentity-olheZx_n.js +1 -0
  291. package/dist/esm/sdk/executeWorkerOperation-CrFf3FkL.js +1 -0
  292. package/dist/esm/sdk/export-viewer-host-jo7h_0wl.js +1 -0
  293. package/dist/esm/sdk/helpers-D4QckQhq.js +1 -0
  294. package/dist/esm/sdk/host-BAqOYnju.js +1 -0
  295. package/dist/esm/sdk/intentDigest-CB6zy3lN.js +1 -0
  296. package/dist/esm/sdk/jsonRpc-C85RYR0A.js +1 -0
  297. package/dist/esm/sdk/jsxRuntime.module-CoHsKD_3.js +1 -0
  298. package/dist/esm/sdk/keccak-zexutGfG.js +1 -0
  299. package/dist/esm/sdk/keyMaterialBrands-uVZHfAh3.js +1 -0
  300. package/dist/esm/sdk/localOnly-DBQRG6Qh.js +1 -0
  301. package/dist/esm/sdk/messages-Cv2j4SKI.js +1 -0
  302. package/dist/esm/sdk/mountExportPrivateKeySurface-G7Z_9JMQ.js +1 -0
  303. package/dist/esm/sdk/mountRecoveryCodeBackupSurface-BBCTaQsu.js +2 -0
  304. package/dist/esm/sdk/nearEd25519YaoMaterialActivation-DQIw8ho3.js +1 -0
  305. package/dist/esm/sdk/nearEd25519YaoSigningPreparation-Bp_CvWRz.js +1 -0
  306. package/dist/esm/sdk/nearRpcResults--cBcfmp4.js +1 -0
  307. package/dist/esm/sdk/nonceLaneKeys-BBYi4g51.js +1 -0
  308. package/dist/esm/sdk/normalization-BGPR6osg.js +1 -0
  309. package/dist/esm/sdk/operationFingerprint-5-wH2Ht8.js +1 -0
  310. package/dist/esm/sdk/operationFingerprint-DtQb0pdp.js +1 -0
  311. package/dist/esm/sdk/passkey-custody-LP4UTFbn.js +1 -0
  312. package/dist/esm/sdk/pendingWalletRecoveryCodeBackup-BNk4ebsY.js +1 -0
  313. package/dist/esm/sdk/prfCache-Mbo7_USg.js +1 -0
  314. package/dist/esm/sdk/profileAccountProjection-DHCaMtOu.js +1 -0
  315. package/dist/esm/sdk/promptText-s8TQ6ckX.js +1 -0
  316. package/dist/esm/sdk/recovery-entrypoint-DkT8sFO5.js +1 -0
  317. package/dist/esm/sdk/registration-Btozh7uh.js +1 -0
  318. package/dist/esm/sdk/registration-CSAG_h4Y.js +1 -0
  319. package/dist/esm/sdk/registrationAccounts-DIeEVy6W.js +1 -0
  320. package/dist/esm/sdk/registrationIds-BIel5S0i.js +1 -0
  321. package/dist/esm/sdk/registrationIntent-DV1GYZ3K.js +1 -0
  322. package/dist/esm/sdk/registrationPreparationPreload-vOCqNuG4.js +1 -0
  323. package/dist/esm/sdk/registrationSignerPlan-FzD3TwxB.js +1 -0
  324. package/dist/esm/sdk/relayerHttp-DaPeS929.js +1 -0
  325. package/dist/esm/sdk/routePlan-B_KJaPtm.js +1 -0
  326. package/dist/esm/sdk/router-Dd3fFHk3.js +1 -0
  327. package/dist/esm/sdk/routerAbNormalSigning-D_fHjq5l.js +1 -0
  328. package/dist/esm/sdk/router_ab_ed25519_yao_client_bg.wasm +0 -0
  329. package/dist/esm/sdk/runtime-auth-B2M91rSx.js +1 -0
  330. package/dist/esm/sdk/runtime-device-link-ojjPSRaG.js +1 -0
  331. package/dist/esm/sdk/runtime-ecdsa-tempo-CE4JLgmn.js +1 -0
  332. package/dist/esm/sdk/runtime-email-otp-DDwtKVAe.js +1 -0
  333. package/dist/esm/sdk/runtime-export-JXYk8sQ-.js +1 -0
  334. package/dist/esm/sdk/runtime-near-BB8AG6dV.js +1 -0
  335. package/dist/esm/sdk/runtime-preferences-DKFZYccW.js +1 -0
  336. package/dist/esm/sdk/runtime-recovery-C_XjsDBg.js +1 -0
  337. package/dist/esm/sdk/runtime-recovery-codes-CWp839mH.js +1 -0
  338. package/dist/esm/sdk/runtimeContext-BpObgzbj.js +6 -0
  339. package/dist/esm/sdk/runtimeLoader-DjgBf_yF.js +1 -0
  340. package/dist/esm/sdk/sdkSentEvents-_RGAEeld.js +1 -0
  341. package/dist/esm/sdk/secp256k1-B_6W9QDJ.js +1 -0
  342. package/dist/esm/sdk/secureRandomId-CTdlJ5Mx.js +1 -0
  343. package/dist/esm/sdk/sessionPolicy-CNVK7nJ6.js +1 -0
  344. package/dist/esm/sdk/shared-j_KsFbCT.js +1 -0
  345. package/dist/esm/sdk/signEvmFamily-CcLVBm0f.js +1 -0
  346. package/dist/esm/sdk/signEvmFamilyWithUiConfirmForTempo-DgTbh6jX.js +1 -0
  347. package/dist/esm/sdk/signEvmWithUiConfirm-ChreN7aZ.js +1 -0
  348. package/dist/esm/sdk/signNear-mWbTE2Dl.js +1 -0
  349. package/dist/esm/sdk/signatureUses-CQkkUcwT.js +1 -0
  350. package/dist/esm/sdk/signerDomain-BhUTzDmF.js +1 -0
  351. package/dist/esm/sdk/signerLoader-By0IY24G.js +1 -0
  352. package/dist/esm/sdk/signerSlot-BQ1g5JNV.js +1 -0
  353. package/dist/esm/sdk/signingFlow-LUWrZi2d.js +2 -0
  354. package/dist/esm/sdk/signingSessionSeal-Mr2Xp44o.js +1 -0
  355. package/dist/esm/sdk/surface-measurement-reporter-OICExWKE.js +1 -0
  356. package/dist/esm/sdk/trace-M34pNGuF.js +1 -0
  357. package/dist/esm/sdk/transaction-activity-BbDod7ji.js +1 -0
  358. package/dist/esm/sdk/transactionReview-CBE5oH4c.js +1 -0
  359. package/dist/esm/sdk/transactionReviewAdmission-0ZgWs6q3.js +1 -0
  360. package/dist/esm/sdk/transactionState-9d7f3xVj.js +1 -0
  361. package/dist/esm/sdk/tx-confirm-ui.js +23 -204
  362. package/dist/esm/sdk/types-M7vxrYtJ.js +1 -0
  363. package/dist/esm/sdk/validation-dC1-_uyG.js +1 -0
  364. package/dist/esm/sdk/wallet-iframe-host-ecdsa.js +1 -13
  365. package/dist/esm/sdk/wallet-iframe-host-full.js +1 -6
  366. package/dist/esm/sdk/wallet-iframe-host-near.js +1 -13
  367. package/dist/esm/sdk/wallet-iframe-host-runtime.js +1 -4
  368. package/dist/esm/sdk/wallet-recovery-CcDZ1hMH.js +1 -0
  369. package/dist/esm/sdk/wallet-ui.css +1 -6134
  370. package/dist/esm/sdk/walletAuthority-CoWSeqvQ.js +1 -0
  371. package/dist/esm/sdk/walletCustodyEcdsaContinuity-B7xi7nwh.js +1 -0
  372. package/dist/esm/sdk/walletIframeIdentity-C0b0XMQF.js +1 -0
  373. package/dist/esm/sdk/walletRecoveryCommit-ljxVeo-d.js +1 -0
  374. package/dist/esm/sdk/walletRecoveryRotate-HztDcDaY.js +1 -0
  375. package/dist/esm/sdk/warmSessionHydration-BPGM0YRU.js +1 -0
  376. package/dist/esm/sdk/webauthnP256-qu06GNFm.js +1 -0
  377. package/dist/esm/sdk/webauthnPromptCoordinator-DO-qfECu.js +1 -0
  378. package/dist/esm/shared-ts/src/authorization/walletSessionIssuance.js +5 -8
  379. package/dist/esm/shared-ts/src/authorization/walletSignerActivationEquality.js +12 -0
  380. package/dist/esm/shared-ts/src/device-linking/committedSignerPackages.js +2 -5
  381. package/dist/esm/shared-ts/src/device-linking/delegatedActivationPlan.js +1 -5
  382. package/dist/esm/shared-ts/src/device-linking/ed25519ExportRoot.js +11 -15
  383. package/dist/esm/shared-ts/src/device-linking/parsers.js +41 -1
  384. package/dist/esm/shared-ts/src/device-linking/sourceContribution.js +6 -9
  385. package/dist/esm/shared-ts/src/near/actions.js +10 -1
  386. package/dist/esm/shared-ts/src/near/nearClient.js +0 -2
  387. package/dist/esm/shared-ts/src/passkey-custody/primitives.js +5 -1
  388. package/dist/esm/shared-ts/src/signing-lanes/evmFamilySigningKeySlotId.js +1 -1
  389. package/dist/esm/shared-ts/src/signing-lanes/index.js +1 -4
  390. package/dist/esm/shared-ts/src/signing-lanes/ownerContinuity.js +3 -8
  391. package/dist/esm/shared-ts/src/signing-lanes/participantDigest.js +0 -1
  392. package/dist/esm/shared-ts/src/signing-lanes/participants.js +1 -1
  393. package/dist/esm/shared-ts/src/signing-lanes/recordParsers.js +13 -17
  394. package/dist/esm/shared-ts/src/threshold/ecdsaDerivationRoleLocalBootstrap.js +0 -1
  395. package/dist/esm/shared-ts/src/threshold/participants.js +0 -1
  396. package/dist/esm/shared-ts/src/threshold/signingRootScope.js +4 -2
  397. package/dist/esm/shared-ts/src/utils/domainIds.js +1 -7
  398. package/dist/esm/shared-ts/src/utils/ecdsaKeyFactsInventory.js +2 -5
  399. package/dist/esm/shared-ts/src/utils/ecdsaServerTiming.js +0 -1
  400. package/dist/esm/shared-ts/src/utils/encoders.js +1 -1
  401. package/dist/esm/shared-ts/src/utils/errors.js +0 -1
  402. package/dist/esm/shared-ts/src/utils/exactKeys.js +17 -0
  403. package/dist/esm/shared-ts/src/utils/index.js +4 -5
  404. package/dist/esm/shared-ts/src/utils/registrationEstablishedSession.js +1 -1
  405. package/dist/esm/shared-ts/src/utils/registrationIds.js +1 -5
  406. package/dist/esm/shared-ts/src/utils/registrationIntent.js +2 -9
  407. package/dist/esm/shared-ts/src/utils/registrationSetupOperation.js +12 -0
  408. package/dist/esm/shared-ts/src/utils/registrationSignerPlan.js +3 -6
  409. package/dist/esm/shared-ts/src/utils/routerAbEcdsaDerivation.js +2 -3
  410. package/dist/esm/shared-ts/src/utils/routerAbEd25519Yao.js +1 -1
  411. package/dist/esm/shared-ts/src/utils/thresholdEcdsaChainTarget.js +9 -0
  412. package/dist/esm/shared-ts/src/utils/validation.js +0 -1
  413. package/dist/esm/shared-ts/src/utils/walletAuthAuthority.js +0 -1
  414. package/dist/esm/shared-ts/src/utils/walletCapabilityBindings.js +10 -1
  415. package/dist/esm/shared-ts/src/utils/walletManagementProtocol.js +6 -0
  416. package/dist/esm/shared-ts/src/wallet-recovery/index.js +1 -1
  417. package/dist/esm/shared-ts/src/wallet-recovery/recoveryCodeLocator.js +0 -1
  418. package/dist/esm/shared-ts/src/wallet-recovery/recoveryKeyId.js +0 -2
  419. package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryCommittedProjection.js +1 -4
  420. package/dist/esm/theme/base-styles.js +11 -11
  421. package/dist/esm/utils/deviceDetection.js +16 -1
  422. package/dist/esm/utils/menuItemBlink.js +24 -0
  423. package/dist/esm/utils/qrScanner.js +288 -0
  424. package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker.d.ts +12 -753
  425. package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker.js +126 -3701
  426. package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker_bg.wasm +0 -0
  427. package/dist/esm/wasm/router_ab_ecdsa_client/pkg/router_ab_ecdsa_client.d.ts +0 -42
  428. package/dist/esm/wasm/router_ab_ecdsa_client/pkg/router_ab_ecdsa_client.js +2 -106
  429. package/dist/esm/wasm/router_ab_ecdsa_client/pkg/router_ab_ecdsa_client_bg.wasm +0 -0
  430. package/dist/esm/wasm/router_ab_ed25519_yao_client/pkg/router_ab_ed25519_yao_client.d.ts +3 -158
  431. package/dist/esm/wasm/router_ab_ed25519_yao_client/pkg/router_ab_ed25519_yao_client.js +2 -452
  432. package/dist/esm/wasm/router_ab_ed25519_yao_client/pkg/router_ab_ed25519_yao_client_bg.wasm +0 -0
  433. package/dist/public/headers.manifest.json +1 -1
  434. package/dist/public/sdk/ConfirmationDrawer-DrsREojk.js +1 -0
  435. package/dist/public/sdk/EvmClient-DoxytQaJ.js +1 -0
  436. package/dist/public/sdk/NearClient-vJ65Wjrq.js +1 -0
  437. package/dist/public/sdk/NonceCoordinator-BBeadCSq.js +1 -0
  438. package/dist/public/sdk/accountIds-C3Ihsd2c.js +1 -0
  439. package/dist/public/sdk/accountLifecycle-EyfYPnuT.js +1 -0
  440. package/dist/public/sdk/actions-DZLxCcrU.js +1 -0
  441. package/dist/public/sdk/adapters-DtAyuoiA.js +2 -0
  442. package/dist/public/sdk/base-Xtd32asf.js +1 -0
  443. package/dist/public/sdk/base64-ojm5DKcF.js +1 -0
  444. package/dist/public/sdk/browser-CsOGMbMy.js +8 -0
  445. package/dist/public/sdk/bytes-t5S5mkat.js +1 -0
  446. package/dist/public/sdk/canonicalPrimitives-MPGET2cl.js +1 -0
  447. package/dist/public/sdk/canonicalSignerErrorCode-C0hh_SVi.js +1 -0
  448. package/dist/public/sdk/capabilityKinds-XaXXiD2B.js +1 -0
  449. package/dist/public/sdk/chains-yAls2d9X.js +1 -0
  450. package/dist/public/sdk/challengeDelivery-cAsaUC6U.js +1 -0
  451. package/dist/public/sdk/chunk-dVx5-UGu.js +1 -0
  452. package/dist/public/sdk/configHelpers-CseiVoZD.js +1 -0
  453. package/dist/public/sdk/csp-stylesheet-B1fAhrGB.js +2 -0
  454. package/dist/public/sdk/defaultConfigs-CWpApkMq.js +1 -0
  455. package/dist/public/sdk/display-jK7_hYho.js +1 -0
  456. package/dist/public/sdk/domainIds-GDzjOs6i.js +1 -0
  457. package/dist/public/sdk/ecdsaCapabilityManifest-CHFu-QrV.js +1 -0
  458. package/dist/public/sdk/ecdsaChainTarget-CRcRR78w.js +1 -0
  459. package/dist/public/sdk/ecdsaPresignLifecycle-CQnCxSlq.js +1 -0
  460. package/dist/public/sdk/ecdsaPresignPoolIdentity-Ci-ovDlv.js +1 -0
  461. package/dist/public/sdk/ecdsaWalletRecords-Cm1DdexN.js +1 -0
  462. package/dist/public/sdk/enrichDisplayModelWithAbi-CR-4ebuU.js +1 -0
  463. package/dist/public/sdk/enrichDisplayModelWithAbi-CwHKFqF4.js +569 -0
  464. package/dist/public/sdk/errors-DfbnsXjO.js +1 -0
  465. package/dist/public/sdk/events-BJyVcnsn.js +1 -0
  466. package/dist/public/sdk/evmCryptoWasm-CwEXiLrC.js +1 -0
  467. package/dist/public/sdk/evmFamilyEcdsaIdentity-Br3iFdQx.js +1 -0
  468. package/dist/public/sdk/exactSessionState-CjD8gekO.js +210 -0
  469. package/dist/public/sdk/exactSigningLaneIdentity-olheZx_n.js +1 -0
  470. package/dist/public/sdk/executeWorkerOperation-CrFf3FkL.js +1 -0
  471. package/dist/public/sdk/export-viewer-host-jo7h_0wl.js +1 -0
  472. package/dist/public/sdk/helpers-D4QckQhq.js +1 -0
  473. package/dist/public/sdk/host-BAqOYnju.js +1 -0
  474. package/dist/public/sdk/intentDigest-CB6zy3lN.js +1 -0
  475. package/dist/public/sdk/jsonRpc-C85RYR0A.js +1 -0
  476. package/dist/public/sdk/jsxRuntime.module-CoHsKD_3.js +1 -0
  477. package/dist/public/sdk/keccak-zexutGfG.js +1 -0
  478. package/dist/public/sdk/keyMaterialBrands-uVZHfAh3.js +1 -0
  479. package/dist/public/sdk/localOnly-DBQRG6Qh.js +1 -0
  480. package/dist/public/sdk/messages-Cv2j4SKI.js +1 -0
  481. package/dist/public/sdk/mountExportPrivateKeySurface-G7Z_9JMQ.js +1 -0
  482. package/dist/public/sdk/mountRecoveryCodeBackupSurface-BBCTaQsu.js +2 -0
  483. package/dist/public/sdk/nearEd25519YaoMaterialActivation-DQIw8ho3.js +1 -0
  484. package/dist/public/sdk/nearEd25519YaoSigningPreparation-Bp_CvWRz.js +1 -0
  485. package/dist/public/sdk/nearRpcResults--cBcfmp4.js +1 -0
  486. package/dist/public/sdk/nonceLaneKeys-BBYi4g51.js +1 -0
  487. package/dist/public/sdk/normalization-BGPR6osg.js +1 -0
  488. package/dist/public/sdk/operationFingerprint-5-wH2Ht8.js +1 -0
  489. package/dist/public/sdk/operationFingerprint-DtQb0pdp.js +1 -0
  490. package/dist/public/sdk/passkey-custody-LP4UTFbn.js +1 -0
  491. package/dist/public/sdk/pendingWalletRecoveryCodeBackup-BNk4ebsY.js +1 -0
  492. package/dist/public/sdk/prfCache-Mbo7_USg.js +1 -0
  493. package/dist/public/sdk/profileAccountProjection-DHCaMtOu.js +1 -0
  494. package/dist/public/sdk/promptText-s8TQ6ckX.js +1 -0
  495. package/dist/public/sdk/recovery-entrypoint-DkT8sFO5.js +1 -0
  496. package/dist/public/sdk/registration-Btozh7uh.js +1 -0
  497. package/dist/public/sdk/registration-CSAG_h4Y.js +1 -0
  498. package/dist/public/sdk/registrationAccounts-DIeEVy6W.js +1 -0
  499. package/dist/public/sdk/registrationIds-BIel5S0i.js +1 -0
  500. package/dist/public/sdk/registrationIntent-DV1GYZ3K.js +1 -0
  501. package/dist/public/sdk/registrationPreparationPreload-vOCqNuG4.js +1 -0
  502. package/dist/public/sdk/registrationSignerPlan-FzD3TwxB.js +1 -0
  503. package/dist/public/sdk/relayerHttp-DaPeS929.js +1 -0
  504. package/dist/public/sdk/routePlan-B_KJaPtm.js +1 -0
  505. package/dist/public/sdk/router-Dd3fFHk3.js +1 -0
  506. package/dist/public/sdk/routerAbNormalSigning-D_fHjq5l.js +1 -0
  507. package/dist/public/sdk/router_ab_ed25519_yao_client_bg.wasm +0 -0
  508. package/dist/public/sdk/runtime-auth-B2M91rSx.js +1 -0
  509. package/dist/public/sdk/runtime-device-link-ojjPSRaG.js +1 -0
  510. package/dist/public/sdk/runtime-ecdsa-tempo-CE4JLgmn.js +1 -0
  511. package/dist/public/sdk/runtime-email-otp-DDwtKVAe.js +1 -0
  512. package/dist/public/sdk/runtime-export-JXYk8sQ-.js +1 -0
  513. package/dist/public/sdk/runtime-near-BB8AG6dV.js +1 -0
  514. package/dist/public/sdk/runtime-preferences-DKFZYccW.js +1 -0
  515. package/dist/public/sdk/runtime-recovery-C_XjsDBg.js +1 -0
  516. package/dist/public/sdk/runtime-recovery-codes-CWp839mH.js +1 -0
  517. package/dist/public/sdk/runtimeContext-BpObgzbj.js +6 -0
  518. package/dist/public/sdk/runtimeLoader-DjgBf_yF.js +1 -0
  519. package/dist/public/sdk/sdkSentEvents-_RGAEeld.js +1 -0
  520. package/dist/public/sdk/secp256k1-B_6W9QDJ.js +1 -0
  521. package/dist/public/sdk/secureRandomId-CTdlJ5Mx.js +1 -0
  522. package/dist/public/sdk/sessionPolicy-CNVK7nJ6.js +1 -0
  523. package/dist/public/sdk/shared-j_KsFbCT.js +1 -0
  524. package/dist/public/sdk/signEvmFamily-CcLVBm0f.js +1 -0
  525. package/dist/public/sdk/signEvmFamilyWithUiConfirmForTempo-DgTbh6jX.js +1 -0
  526. package/dist/public/sdk/signEvmWithUiConfirm-ChreN7aZ.js +1 -0
  527. package/dist/public/sdk/signNear-mWbTE2Dl.js +1 -0
  528. package/dist/public/sdk/signatureUses-CQkkUcwT.js +1 -0
  529. package/dist/public/sdk/signerDomain-BhUTzDmF.js +1 -0
  530. package/dist/public/sdk/signerLoader-By0IY24G.js +1 -0
  531. package/dist/public/sdk/signerSlot-BQ1g5JNV.js +1 -0
  532. package/dist/public/sdk/signingFlow-LUWrZi2d.js +2 -0
  533. package/dist/public/sdk/signingSessionSeal-Mr2Xp44o.js +1 -0
  534. package/dist/public/sdk/surface-measurement-reporter-OICExWKE.js +1 -0
  535. package/dist/public/sdk/trace-M34pNGuF.js +1 -0
  536. package/dist/public/sdk/transaction-activity-BbDod7ji.js +1 -0
  537. package/dist/public/sdk/transactionReview-CBE5oH4c.js +1 -0
  538. package/dist/public/sdk/transactionReviewAdmission-0ZgWs6q3.js +1 -0
  539. package/dist/public/sdk/transactionState-9d7f3xVj.js +1 -0
  540. package/dist/public/sdk/tx-confirm-ui.js +23 -204
  541. package/dist/public/sdk/types-M7vxrYtJ.js +1 -0
  542. package/dist/public/sdk/validation-dC1-_uyG.js +1 -0
  543. package/dist/public/sdk/wallet-iframe-host-ecdsa.js +1 -13
  544. package/dist/public/sdk/wallet-iframe-host-full.js +1 -6
  545. package/dist/public/sdk/wallet-iframe-host-near.js +1 -13
  546. package/dist/public/sdk/wallet-iframe-host-runtime.js +1 -4
  547. package/dist/public/sdk/wallet-recovery-CcDZ1hMH.js +1 -0
  548. package/dist/public/sdk/wallet-ui.css +1 -6134
  549. package/dist/public/sdk/walletAuthority-CoWSeqvQ.js +1 -0
  550. package/dist/public/sdk/walletCustodyEcdsaContinuity-B7xi7nwh.js +1 -0
  551. package/dist/public/sdk/walletIframeIdentity-C0b0XMQF.js +1 -0
  552. package/dist/public/sdk/walletRecoveryCommit-ljxVeo-d.js +1 -0
  553. package/dist/public/sdk/walletRecoveryRotate-HztDcDaY.js +1 -0
  554. package/dist/public/sdk/warmSessionHydration-BPGM0YRU.js +1 -0
  555. package/dist/public/sdk/webauthnP256-qu06GNFm.js +1 -0
  556. package/dist/public/sdk/webauthnPromptCoordinator-DO-qfECu.js +1 -0
  557. package/dist/public/sdk/workers/device-linking-key.worker.js +567 -2131
  558. package/dist/public/sdk/workers/ecdsa-derivation-client.worker.js +1529 -2683
  559. package/dist/public/sdk/workers/ecdsa-online-client.worker.js +1 -273
  560. package/dist/public/sdk/workers/ecdsa-presign-client.worker.js +59 -346
  561. package/dist/public/sdk/workers/email-otp.worker.js +307 -2185
  562. package/dist/public/sdk/workers/email_otp_runtime_bg.wasm +0 -0
  563. package/dist/public/sdk/workers/evm-crypto.worker.js +0 -188
  564. package/dist/public/sdk/workers/evm_crypto.wasm +0 -0
  565. package/dist/public/sdk/workers/evm_crypto_bg.wasm +0 -0
  566. package/dist/public/sdk/workers/near-signer.worker.js +16 -718
  567. package/dist/public/sdk/workers/near_signer.wasm +0 -0
  568. package/dist/public/sdk/workers/passkey-confirm.worker.js +0 -134
  569. package/dist/public/sdk/workers/passkey-mpc-export.worker.js +149 -506
  570. package/dist/public/sdk/workers/passkey-mpc-session.worker.js +0 -134
  571. package/dist/public/sdk/workers/router_ab_ecdsa_client_bg.wasm +0 -0
  572. package/dist/public/sdk/workers/router_ab_ed25519_yao_client_bg.wasm +0 -0
  573. package/dist/public/sdk/workers/shamir3pass.worker.js +0 -134
  574. package/dist/public/sdk/workers/shamir3pass_runtime_bg.wasm +0 -0
  575. package/dist/public/sdk/workers/tempo-signer.worker.js +0 -134
  576. package/dist/public/sdk/workers/tempo_signer.wasm +0 -0
  577. package/dist/public/sdk/workers/tempo_signer_bg.wasm +0 -0
  578. package/dist/public/sdk/workers/wallet-custody-ceremony.worker.js +136 -1636
  579. package/dist/public/sdk/workers/wallet_custody_ceremony.js +0 -14
  580. package/dist/public/sdk/workers/wallet_custody_ceremony_bg.wasm +0 -0
  581. package/dist/public/sdk/workers/wasm_signer_worker_bg.wasm +0 -0
  582. package/dist/public/wallet-assets.manifest.json +234 -258
  583. package/dist/public/wallet-service/index.html +4 -4
  584. package/dist/types/shared-ts/src/authorization/capabilityKinds.d.ts +0 -4
  585. package/dist/types/shared-ts/src/authorization/delegatedAuthority.d.ts +2 -1
  586. package/dist/types/shared-ts/src/authorization/walletSessionIssuance.d.ts +9 -2
  587. package/dist/types/shared-ts/src/authorization/walletSignerActivationEquality.d.ts +4 -0
  588. package/dist/types/shared-ts/src/device-linking/committedSignerPackages.d.ts +3 -4
  589. package/dist/types/shared-ts/src/device-linking/contracts.d.ts +6 -63
  590. package/dist/types/shared-ts/src/device-linking/sourceContribution.d.ts +2 -0
  591. package/dist/types/shared-ts/src/passkey-custody/custodyEnvelope.d.ts +5 -12
  592. package/dist/types/shared-ts/src/passkey-custody/primitives.d.ts +9 -0
  593. package/dist/types/shared-ts/src/signing-lanes/evmFamilySigningKeySlotId.d.ts +0 -2
  594. package/dist/types/shared-ts/src/signing-lanes/execution.d.ts +11 -12
  595. package/dist/types/shared-ts/src/signing-lanes/ids.d.ts +3 -17
  596. package/dist/types/shared-ts/src/signing-lanes/index.d.ts +0 -4
  597. package/dist/types/shared-ts/src/signing-lanes/ownerContinuity.d.ts +0 -1
  598. package/dist/types/shared-ts/src/signing-lanes/participantDigest.d.ts +0 -18
  599. package/dist/types/shared-ts/src/signing-lanes/participants.d.ts +6 -35
  600. package/dist/types/shared-ts/src/signing-lanes/rotation.d.ts +6 -845
  601. package/dist/types/shared-ts/src/tenant-root/tenantRootIdentifier.d.ts +3 -0
  602. package/dist/types/shared-ts/src/tenant-root/tenantRootOperationRecord.d.ts +2 -1
  603. package/dist/types/shared-ts/src/threshold/ecdsaDerivationRoleLocalBootstrap.d.ts +6 -0
  604. package/dist/types/shared-ts/src/threshold/keyMaterialBrands.d.ts +0 -10
  605. package/dist/types/shared-ts/src/threshold/participants.d.ts +1 -1
  606. package/dist/types/shared-ts/src/threshold/signingRootScope.d.ts +1 -0
  607. package/dist/types/shared-ts/src/utils/addWalletAuthMethod.d.ts +1 -133
  608. package/dist/types/shared-ts/src/utils/addWalletAuthMethod.typecheck.d.ts +4 -18
  609. package/dist/types/shared-ts/src/utils/domainIds.d.ts +0 -12
  610. package/dist/types/shared-ts/src/utils/ecdsaKeyFactsInventory.d.ts +2 -11
  611. package/dist/types/shared-ts/src/utils/eip1559TxWasmJson.d.ts +16 -0
  612. package/dist/types/shared-ts/src/utils/emailOtpDomain.d.ts +2 -0
  613. package/dist/types/shared-ts/src/utils/errors.d.ts +0 -4
  614. package/dist/types/shared-ts/src/utils/exactKeys.d.ts +11 -0
  615. package/dist/types/shared-ts/src/utils/failure.d.ts +12 -0
  616. package/dist/types/shared-ts/src/utils/jsonRpc.d.ts +3 -4
  617. package/dist/types/shared-ts/src/utils/near.d.ts +0 -20
  618. package/dist/types/shared-ts/src/utils/nearRpcResults.d.ts +1 -0
  619. package/dist/types/shared-ts/src/utils/normalize.d.ts +0 -2
  620. package/dist/types/shared-ts/src/utils/registrationAuthMethodInput.d.ts +3 -8
  621. package/dist/types/shared-ts/src/utils/registrationSetupOperation.d.ts +3 -0
  622. package/dist/types/shared-ts/src/utils/registrationSignerPlan.d.ts +7 -19
  623. package/dist/types/shared-ts/src/utils/routerAbEcdsaDerivation.d.ts +3 -1
  624. package/dist/types/shared-ts/src/utils/routerAbEd25519Yao.d.ts +1 -0
  625. package/dist/types/shared-ts/src/utils/routerAbEd25519YaoDigests.d.ts +3 -4
  626. package/dist/types/shared-ts/src/utils/routerAbNormalSigningIdentity.d.ts +30 -8
  627. package/dist/types/shared-ts/src/utils/routerApiKeyAuth.d.ts +2 -0
  628. package/dist/types/shared-ts/src/utils/signingSessionSeal.d.ts +10 -11
  629. package/dist/types/shared-ts/src/utils/thresholdEcdsaChainTarget.d.ts +25 -0
  630. package/dist/types/shared-ts/src/utils/validation.d.ts +1 -3
  631. package/dist/types/shared-ts/src/utils/variant.d.ts +18 -0
  632. package/dist/types/shared-ts/src/utils/walletAuthMethodRecord.d.ts +3 -6
  633. package/dist/types/shared-ts/src/utils/walletCapabilityBindings.d.ts +0 -1
  634. package/dist/types/shared-ts/src/utils/walletManagementProtocol.d.ts +3 -0
  635. package/dist/types/shared-ts/src/utils/webauthnDeviceInfo.d.ts +4 -2
  636. package/dist/types/shared-ts/src/utils/wireSchema.d.ts +0 -2
  637. package/dist/types/shared-ts/src/wallet-recovery/backupAcknowledgement.d.ts +0 -1
  638. package/dist/types/shared-ts/src/wallet-recovery/recoveryCodeReservation.d.ts +1 -10
  639. package/dist/types/shared-ts/src/wallet-recovery/recoveryCodes.d.ts +1 -3
  640. package/dist/types/shared-ts/src/wallet-recovery/recoveryEnvelopes.d.ts +3 -16
  641. package/dist/types/shared-ts/src/wallet-recovery/recoveryKeyId.d.ts +5 -21
  642. package/dist/types/shared-ts/src/wallet-recovery/walletRecoveryPreparation.d.ts +15 -0
  643. package/dist/types/shared-ts/src/wallet-recovery/walletRecoveryTarget.d.ts +3 -4
  644. package/dist/types/wallet/build-paths.d.ts +1 -2
  645. package/dist/types/wallet/src/SeamsWeb/SeamsWeb.d.ts +2 -0
  646. package/dist/types/wallet/src/SeamsWeb/operations/auth/scheduleLinkedDevicePresignaturePrefill.d.ts +11 -0
  647. package/dist/types/wallet/src/SeamsWeb/operations/auth/walletAuth.d.ts +2 -1
  648. package/dist/types/wallet/src/SeamsWeb/operations/auth/walletUnlockEcdsaSubject.d.ts +1 -1
  649. package/dist/types/wallet/src/SeamsWeb/operations/auth/walletUnlockSubject.d.ts +3 -20
  650. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/emailOtp/challenge.d.ts +0 -4
  651. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/emailOtp/walletActivation.d.ts +3 -4
  652. package/dist/types/wallet/src/SeamsWeb/operations/devices/deviceLinkingAuthorityInstallation.d.ts +2 -10
  653. package/dist/types/wallet/src/SeamsWeb/operations/devices/deviceLinkingResume.d.ts +0 -1
  654. package/dist/types/wallet/src/SeamsWeb/operations/devices/linkDeviceFlow.d.ts +2 -0
  655. package/dist/types/wallet/src/SeamsWeb/operations/registration/pendingRegistrationRecovery.d.ts +0 -10
  656. package/dist/types/wallet/src/SeamsWeb/operations/session/thresholdEcdsaProvisioning.d.ts +1 -2
  657. package/dist/types/wallet/src/SeamsWeb/operations/tempo/executeEvmFamilyTransaction.d.ts +1 -1
  658. package/dist/types/wallet/src/SeamsWeb/publicApi/types.d.ts +7 -16
  659. package/dist/types/wallet/src/SeamsWeb/signingSurface/ports.d.ts +0 -2
  660. package/dist/types/wallet/src/SeamsWeb/signingSurface/types.d.ts +1 -1
  661. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/surface/domain.d.ts +0 -8
  662. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/transport/iframe-transport-handshake.d.ts +1 -2
  663. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/auth-menu/domain.d.ts +9 -0
  664. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/hostedWalletSeamsSession.d.ts +0 -1
  665. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/restoredSessionPresignaturePrefill.d.ts +2 -1
  666. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuFooter.d.ts +17 -0
  667. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.d.ts +12 -5
  668. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/icons.d.ts +15 -0
  669. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/exactSessionReconciliation.d.ts +3 -3
  670. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/messages.d.ts +5 -15
  671. package/dist/types/wallet/src/advanced.d.ts +1 -1
  672. package/dist/types/wallet/src/core/accountData/near/keyMaterial.d.ts +3 -5
  673. package/dist/types/wallet/src/core/browser/walletIframe/events.d.ts +0 -2
  674. package/dist/types/wallet/src/core/indexedDB/index.d.ts +3 -5
  675. package/dist/types/wallet/src/core/indexedDB/passkeyClientDB.types.d.ts +2 -38
  676. package/dist/types/wallet/src/core/indexedDB/pendingWalletRecoveryCommit.d.ts +1 -4
  677. package/dist/types/wallet/src/core/indexedDB/pendingWalletRegistrationCommit.d.ts +3 -4
  678. package/dist/types/wallet/src/core/indexedDB/schemaNames.d.ts +0 -22
  679. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestLookups.d.ts +7 -12
  680. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestRecords.d.ts +1 -1
  681. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestStore.d.ts +1 -1
  682. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/pendingWalletRecoveryCodeBackup.d.ts +0 -1
  683. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/registrationSetup.d.ts +42 -0
  684. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/signingSessionSeals.d.ts +1 -5
  685. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/walletSessionAuthorizationStore.d.ts +8 -7
  686. package/dist/types/wallet/src/core/indexedDB/unifiedIndexedDBManager.d.ts +1 -0
  687. package/dist/types/wallet/src/core/platform/browser/createBrowserPlatformRuntime.d.ts +1 -6
  688. package/dist/types/wallet/src/core/platform/ecdsaRoleLocalRecords.d.ts +7 -51
  689. package/dist/types/wallet/src/core/platform/http.d.ts +3 -5
  690. package/dist/types/wallet/src/core/platform/index.d.ts +4 -4
  691. package/dist/types/wallet/src/core/platform/ports.d.ts +4 -58
  692. package/dist/types/wallet/src/core/platform/runtime.d.ts +0 -2
  693. package/dist/types/wallet/src/core/platform/secretSources.d.ts +0 -29
  694. package/dist/types/wallet/src/core/rpcClients/near/NearClient.d.ts +1 -1
  695. package/dist/types/wallet/src/core/rpcClients/near/NearRpcError.d.ts +1 -2
  696. package/dist/types/wallet/src/core/rpcClients/relayer/ownerWalletExecutionLanePreflight.d.ts +2 -11
  697. package/dist/types/wallet/src/core/rpcClients/relayer/passkeyCustodyEnvelope.d.ts +0 -6
  698. package/dist/types/wallet/src/core/rpcClients/relayer/thresholdEcdsa.d.ts +2 -9
  699. package/dist/types/wallet/src/core/rpcClients/relayer/walletRecoveryPrepare.d.ts +2 -14
  700. package/dist/types/wallet/src/core/rpcClients/relayer/walletRegistration.d.ts +2 -19
  701. package/dist/types/wallet/src/core/signingEngine/assembly/ports/shared.d.ts +0 -1
  702. package/dist/types/wallet/src/core/signingEngine/assembly/ports/warmSigning.d.ts +0 -2
  703. package/dist/types/wallet/src/core/signingEngine/assembly/warmup.d.ts +0 -1
  704. package/dist/types/wallet/src/core/signingEngine/chains/near/nearSignerWasm.d.ts +0 -10
  705. package/dist/types/wallet/src/core/signingEngine/chains/near/payloads.d.ts +2 -10
  706. package/dist/types/wallet/src/core/signingEngine/flows/recovery/ecdsaDerivationExport.d.ts +3 -4
  707. package/dist/types/wallet/src/core/signingEngine/flows/recovery/ecdsaExportFlow.d.ts +4 -8
  708. package/dist/types/wallet/src/core/signingEngine/flows/recovery/keyExportConfirmation.d.ts +0 -15
  709. package/dist/types/wallet/src/core/signingEngine/flows/recovery/keyExportFlow.d.ts +7 -6
  710. package/dist/types/wallet/src/core/signingEngine/flows/registration/accountLifecycle.d.ts +2 -21
  711. package/dist/types/wallet/src/core/signingEngine/flows/registration/public.d.ts +1 -9
  712. package/dist/types/wallet/src/core/signingEngine/flows/registration/services/passkeyEd25519YaoAddSigner.d.ts +0 -2
  713. package/dist/types/wallet/src/core/signingEngine/flows/shared/signingStateMachine.d.ts +0 -6
  714. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/emailOtpSigningSession.d.ts +1 -1
  715. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/freshAuthRetryPolicy.d.ts +3 -4
  716. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/nonceResolution.d.ts +3 -4
  717. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/readySecp256k1Material.d.ts +7 -18
  718. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/signers/ecdsaDerivationClientSigningMaterialSource.d.ts +1 -0
  719. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/signingFlowRuntime.d.ts +10 -5
  720. package/dist/types/wallet/src/core/signingEngine/flows/signNear/shared/ed25519YaoCapabilityResolution.d.ts +4 -14
  721. package/dist/types/wallet/src/core/signingEngine/flows/signNear/shared/ed25519YaoNormalSigning.d.ts +0 -5
  722. package/dist/types/wallet/src/core/signingEngine/flows/signNear/shared/operationStepUpPreparation.d.ts +3 -5
  723. package/dist/types/wallet/src/core/signingEngine/flows/signNear/shared/signingMaterials.d.ts +0 -4
  724. package/dist/types/wallet/src/core/signingEngine/flows/signNear/shared/signingSessionAuthMode.d.ts +0 -9
  725. package/dist/types/wallet/src/core/signingEngine/flows/signNear/signNep413.d.ts +3 -7
  726. package/dist/types/wallet/src/core/signingEngine/interfaces/index.d.ts +0 -1
  727. package/dist/types/wallet/src/core/signingEngine/interfaces/near.d.ts +3 -4
  728. package/dist/types/wallet/src/core/signingEngine/interfaces/operationDeps.d.ts +3 -5
  729. package/dist/types/wallet/src/core/signingEngine/interfaces/operationStepUpPreparation.d.ts +3 -5
  730. package/dist/types/wallet/src/core/signingEngine/nonce/NonceCoordinator.d.ts +1 -1
  731. package/dist/types/wallet/src/core/signingEngine/nonce/nearTransactionReadiness.d.ts +3 -5
  732. package/dist/types/wallet/src/core/signingEngine/nonce/nonceTypes.d.ts +2 -11
  733. package/dist/types/wallet/src/core/signingEngine/routerAb/ecdsaDerivation/clientCeremony.d.ts +5 -22
  734. package/dist/types/wallet/src/core/signingEngine/routerAb/ecdsaDerivation/poolFillRoutes.d.ts +3 -14
  735. package/dist/types/wallet/src/core/signingEngine/routerAb/ecdsaDerivation/signingMaterialRef.d.ts +0 -3
  736. package/dist/types/wallet/src/core/signingEngine/session/authority/authorityOperationResolver.d.ts +1 -24
  737. package/dist/types/wallet/src/core/signingEngine/session/availability/persistedAvailableSigningLanes.d.ts +1 -1
  738. package/dist/types/wallet/src/core/signingEngine/session/availability/readiness.d.ts +0 -2
  739. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/EmailOtpWalletSessionCoordinator.d.ts +37 -14
  740. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/ecdsaLogin.d.ts +0 -3
  741. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/ecdsaPublication.d.ts +3 -5
  742. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/ecdsaRecovery.d.ts +0 -5
  743. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/ed25519ExportContext.d.ts +2 -7
  744. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/secretEscrow.d.ts +0 -1
  745. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/walletUnlock.d.ts +6 -15
  746. package/dist/types/wallet/src/core/signingEngine/session/identity/clientSessionPersistenceState.d.ts +0 -6
  747. package/dist/types/wallet/src/core/signingEngine/session/identity/emailOtpEcdsaDerivationIdentity.d.ts +0 -3
  748. package/dist/types/wallet/src/core/signingEngine/session/identity/evmFamilyEcdsaIdentity.d.ts +3 -8
  749. package/dist/types/wallet/src/core/signingEngine/session/identity/exactSigningLaneIdentity.d.ts +0 -3
  750. package/dist/types/wallet/src/core/signingEngine/session/identity/exactWalletSessionCredential.d.ts +3 -7
  751. package/dist/types/wallet/src/core/signingEngine/session/identity/exactWalletSessionReader.d.ts +3 -6
  752. package/dist/types/wallet/src/core/signingEngine/session/identity/laneIdentity.d.ts +5 -14
  753. package/dist/types/wallet/src/core/signingEngine/session/identity/signingLaneAuthBinding.d.ts +3 -5
  754. package/dist/types/wallet/src/core/signingEngine/session/identity/walletUnlockSubject.d.ts +0 -8
  755. package/dist/types/wallet/src/core/signingEngine/session/keyMaterialBrands.d.ts +1 -4
  756. package/dist/types/wallet/src/core/signingEngine/session/material/activeEcdsaCapabilityRuntime.d.ts +5 -10
  757. package/dist/types/wallet/src/core/signingEngine/session/material/activeWalletAuthorityEcdsaRuntime.d.ts +4 -7
  758. package/dist/types/wallet/src/core/signingEngine/session/material/capabilityPreparationResult.d.ts +3 -22
  759. package/dist/types/wallet/src/core/signingEngine/session/material/ecdsaCapabilityHydration.d.ts +3 -4
  760. package/dist/types/wallet/src/core/signingEngine/session/material/ecdsaRoleLocalMaterialResolver.d.ts +0 -3
  761. package/dist/types/wallet/src/core/signingEngine/session/material/ecdsaSealedRuntime.d.ts +3 -4
  762. package/dist/types/wallet/src/core/signingEngine/session/material/ecdsaSigningCapability.d.ts +5 -0
  763. package/dist/types/wallet/src/core/signingEngine/session/material/nearEd25519YaoSigningPreparation.d.ts +5 -10
  764. package/dist/types/wallet/src/core/signingEngine/session/operationState/authorizationAdmission.d.ts +4 -9
  765. package/dist/types/wallet/src/core/signingEngine/session/operationState/preparedOperation.d.ts +0 -2
  766. package/dist/types/wallet/src/core/signingEngine/session/operationState/types.d.ts +3 -5
  767. package/dist/types/wallet/src/core/signingEngine/session/passkey/ecdsaBootstrap.d.ts +3 -4
  768. package/dist/types/wallet/src/core/signingEngine/session/passkey/ecdsaSessionProvision.d.ts +3 -4
  769. package/dist/types/wallet/src/core/signingEngine/session/passkey/ed25519YaoLocalMaterial.d.ts +0 -1
  770. package/dist/types/wallet/src/core/signingEngine/session/passkey/ed25519YaoWarmRecovery.d.ts +0 -2
  771. package/dist/types/wallet/src/core/signingEngine/session/passkey/unlockEcdsaWarmupPlanner.d.ts +7 -25
  772. package/dist/types/wallet/src/core/signingEngine/session/persistence/ecdsaRoleLocalRecords.d.ts +1 -10
  773. package/dist/types/wallet/src/core/signingEngine/session/persistence/sealedSessionRecords.d.ts +2 -2
  774. package/dist/types/wallet/src/core/signingEngine/session/persistence/sealedSessionTransportAuth.d.ts +0 -5
  775. package/dist/types/wallet/src/core/signingEngine/session/postconditions/runtimePostconditions.d.ts +0 -2
  776. package/dist/types/wallet/src/core/signingEngine/session/routerAbSigningWalletSession.d.ts +1 -1
  777. package/dist/types/wallet/src/core/signingEngine/session/sealedRecovery/sealedRecovery.types.d.ts +3 -4
  778. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/capabilityReaderCore.d.ts +3 -16
  779. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/ecdsaProvisionPlan.d.ts +0 -105
  780. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/ed25519SealedSessionRuntime.d.ts +6 -26
  781. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/persistencePorts.d.ts +3 -4
  782. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/public.d.ts +0 -1
  783. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/routerAbWalletSessionCredential.d.ts +0 -12
  784. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/transitions.d.ts +0 -2
  785. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/types.typecheck.d.ts +1 -10
  786. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/channel/confirmTypes.d.ts +11 -36
  787. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/methodRunners.d.ts +1 -5
  788. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/otpPrompt/authLane.d.ts +5 -8
  789. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/passkeyPrompt/touchIdPrompt.d.ts +4 -7
  790. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/passkeyPrompt/webauthnPromptCoordinator.d.ts +3 -9
  791. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/requireStepUpAuth.d.ts +1 -19
  792. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/types.d.ts +7 -32
  793. package/dist/types/wallet/src/core/signingEngine/threshold/commitQueueShared.d.ts +10 -10
  794. package/dist/types/wallet/src/core/signingEngine/threshold/crypto/ecdsaDerivationClientWasm.d.ts +1 -1
  795. package/dist/types/wallet/src/core/signingEngine/threshold/crypto/ed25519YaoLaneWasm.d.ts +1 -15
  796. package/dist/types/wallet/src/core/signingEngine/threshold/ecdsa/activation.d.ts +0 -4
  797. package/dist/types/wallet/src/core/signingEngine/threshold/ecdsa/bootstrapSession.d.ts +3 -8
  798. package/dist/types/wallet/src/core/signingEngine/threshold/ecdsa/signingQueue.d.ts +1 -7
  799. package/dist/types/wallet/src/core/signingEngine/threshold/ed25519/commitQueue.d.ts +1 -6
  800. package/dist/types/wallet/src/core/signingEngine/threshold/ed25519/connectSession.d.ts +0 -1
  801. package/dist/types/wallet/src/core/signingEngine/threshold/ed25519/walletSession.d.ts +6 -36
  802. package/dist/types/wallet/src/core/signingEngine/threshold/ed25519/yaoClient.d.ts +1 -8
  803. package/dist/types/wallet/src/core/signingEngine/threshold/ed25519/yaoPublicCapabilityReferences.d.ts +3 -4
  804. package/dist/types/wallet/src/core/signingEngine/uiConfirm/handlers/flows/requestRegistrationCredentialConfirmation.d.ts +1 -4
  805. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ExportPrivateKeySurface.d.ts +5 -9
  806. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/transaction-display/abi/abiDecode.d.ts +0 -1
  807. package/dist/types/wallet/src/core/signingEngine/walletCustody/emailOtpLink.d.ts +0 -1
  808. package/dist/types/wallet/src/core/signingEngine/walletCustody/openCustodyCache.d.ts +0 -3
  809. package/dist/types/wallet/src/core/signingEngine/walletCustody/passkeyLink.d.ts +0 -3
  810. package/dist/types/wallet/src/core/signingEngine/walletCustody/registrationCeremony.d.ts +0 -1
  811. package/dist/types/wallet/src/core/signingEngine/webauthnAuth/walletOriginWebAuthn.d.ts +8 -0
  812. package/dist/types/wallet/src/core/signingEngine/workerManager/SignerWorkerManager.d.ts +0 -2
  813. package/dist/types/wallet/src/core/signingEngine/workerManager/ecdsaClientWorkerChannels.d.ts +0 -8
  814. package/dist/types/wallet/src/core/signingEngine/workerManager/ecdsaPresignLifecycle.d.ts +5 -16
  815. package/dist/types/wallet/src/core/signingEngine/workerManager/validation.d.ts +1 -1
  816. package/dist/types/wallet/src/core/signingEngine/workerManager/workerTypes.d.ts +9 -109
  817. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/device-linking-key/requests.d.ts +0 -5
  818. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/crypto.d.ts +2 -12
  819. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/custodyRestore.d.ts +0 -10
  820. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/otpVerification.d.ts +0 -1
  821. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/payloadParsing.d.ts +0 -2
  822. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/unlock.d.ts +0 -1
  823. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/near-signer.worker.d.ts +3 -31
  824. package/dist/types/wallet/src/core/types/accountIds.d.ts +1 -1
  825. package/dist/types/wallet/src/core/types/index.d.ts +0 -18
  826. package/dist/types/wallet/src/core/types/linkDevice.d.ts +3 -18
  827. package/dist/types/wallet/src/core/types/sdkPublicResults.d.ts +5 -18
  828. package/dist/types/wallet/src/core/types/sdkSentEvents.d.ts +5 -23
  829. package/dist/types/wallet/src/core/types/seams.d.ts +17 -71
  830. package/dist/types/wallet/src/core/types/secure-confirm-worker.d.ts +0 -5
  831. package/dist/types/wallet/src/core/types/signer-worker.d.ts +75 -134
  832. package/dist/types/wallet/src/externalEvm/types.d.ts +5 -12
  833. package/dist/types/wallet/src/react/components/AccountMenuButton/Toggle.d.ts +0 -15
  834. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/GlobeIcon.d.ts +1 -4
  835. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/KeyIcon.d.ts +1 -4
  836. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/LaptopIcon.d.ts +1 -4
  837. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/LinkIcon.d.ts +1 -4
  838. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/LockIcon.d.ts +1 -4
  839. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/MailIcon.d.ts +1 -4
  840. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/RecoveryCodesIcon.d.ts +1 -4
  841. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/ScanIcon.d.ts +1 -4
  842. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/SlidersIcon.d.ts +1 -4
  843. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/SmartphoneIcon.d.ts +1 -4
  844. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/lucideIcon.d.ts +5 -0
  845. package/dist/types/wallet/src/react/components/theme/design-tokens.d.ts +0 -19
  846. package/dist/types/wallet/src/react/hooks/useAccountInput.d.ts +1 -22
  847. package/dist/types/wallet/src/react/transactionReview/controller.d.ts +3 -10
  848. package/dist/types/wallet/src/utils/menuItemBlink.d.ts +9 -0
  849. package/dist/types/wallet/src/utils/qrScanner.d.ts +1 -21
  850. package/dist/workers/device-linking-key.worker.js +567 -2131
  851. package/dist/workers/ecdsa-derivation-client.worker.js +1529 -2683
  852. package/dist/workers/ecdsa-online-client.worker.js +1 -273
  853. package/dist/workers/ecdsa-presign-client.worker.js +59 -346
  854. package/dist/workers/email-otp.worker.js +307 -2185
  855. package/dist/workers/email_otp_runtime_bg.wasm +0 -0
  856. package/dist/workers/evm-crypto.worker.js +0 -188
  857. package/dist/workers/evm_crypto.wasm +0 -0
  858. package/dist/workers/evm_crypto_bg.wasm +0 -0
  859. package/dist/workers/near-signer.worker.js +16 -718
  860. package/dist/workers/near_signer.wasm +0 -0
  861. package/dist/workers/passkey-confirm.worker.js +0 -134
  862. package/dist/workers/passkey-mpc-export.worker.js +149 -506
  863. package/dist/workers/passkey-mpc-session.worker.js +0 -134
  864. package/dist/workers/router_ab_ecdsa_client_bg.wasm +0 -0
  865. package/dist/workers/router_ab_ed25519_yao_client_bg.wasm +0 -0
  866. package/dist/workers/shamir3pass.worker.js +0 -134
  867. package/dist/workers/shamir3pass_runtime_bg.wasm +0 -0
  868. package/dist/workers/tempo-signer.worker.js +0 -134
  869. package/dist/workers/tempo_signer.wasm +0 -0
  870. package/dist/workers/tempo_signer_bg.wasm +0 -0
  871. package/dist/workers/wallet-custody-ceremony.worker.js +136 -1636
  872. package/dist/workers/wallet_custody_ceremony.js +0 -14
  873. package/dist/workers/wallet_custody_ceremony_bg.wasm +0 -0
  874. package/dist/workers/wasm_signer_worker_bg.wasm +0 -0
  875. package/package.json +1 -14
  876. package/dist/esm/SeamsWeb/walletIframe/client/transport/webauthn-bridge.js +0 -99
  877. package/dist/esm/components/AccountMenuButton/AccountsSection.css +0 -81
  878. package/dist/esm/components/AccountMenuButton/ExportKeysSection.css +0 -96
  879. package/dist/esm/components/AccountMenuButton/HaloBorder/HaloBorder.css +0 -101
  880. package/dist/esm/components/AccountMenuButton/LinkedDevicesModal.css +0 -612
  881. package/dist/esm/components/AccountMenuButton/MenuItem.css +0 -181
  882. package/dist/esm/components/AccountMenuButton/ProfileDropdown.css +0 -80
  883. package/dist/esm/components/AccountMenuButton/TransactionSettingsSection.css +0 -107
  884. package/dist/esm/components/AccountMenuButton/UserAccountButton.css +0 -182
  885. package/dist/esm/components/AccountMenuButton/WalletSettingsLayout.css +0 -456
  886. package/dist/esm/components/AccountMenuButton/Web3AuthProfileButton.css +0 -75
  887. package/dist/esm/components/AccountMenuButton/icons/TouchIcon.css +0 -46
  888. package/dist/esm/components/QRCodeScanner.css +0 -502
  889. package/dist/esm/components/ShowQRCode.css +0 -345
  890. package/dist/esm/core/indexedDB/seamsWalletDB/laneHolderMaterialStore.js +0 -239
  891. package/dist/esm/core/signingEngine/session/emailOtp/coordinatorRuntime.js +0 -131
  892. package/dist/esm/core/signingEngine/uiConfirm/ui/transaction-display/renderers/evm.js +0 -12
  893. package/dist/esm/core/signingEngine/uiConfirm/ui/transaction-display/renderers/near.js +0 -12
  894. package/dist/esm/core/signingEngine/uiConfirm/ui/transaction-display/renderers/tempo.js +0 -12
  895. package/dist/esm/core/signingEngine/webauthnAuth/fallbacks/safari-fallbacks.js +0 -171
  896. package/dist/esm/core/signingEngine/workerManager/nearKeyOps/createNearKeyOps.js +0 -32
  897. package/dist/esm/plugins/shared-ts/src/utils/base58.js +0 -1
  898. package/dist/esm/plugins/shared-ts/src/utils/near.js +0 -1
  899. package/dist/esm/plugins/shared-ts/src/utils/validation.js +0 -2
  900. package/dist/esm/react/SeamsWeb/SeamsWeb.js +0 -1909
  901. package/dist/esm/react/SeamsWeb/assembly/browserSigningSurfaceAssembly.js +0 -817
  902. package/dist/esm/react/SeamsWeb/assembly/browserWorkerWarmupPolicy.js +0 -31
  903. package/dist/esm/react/SeamsWeb/assembly/configureBrowserIndexedDB.js +0 -10
  904. package/dist/esm/react/SeamsWeb/assembly/createBrowserRecoveryPublicDeps.js +0 -95
  905. package/dist/esm/react/SeamsWeb/assembly/createBrowserSigningRuntime.js +0 -34
  906. package/dist/esm/react/SeamsWeb/assembly/createBrowserSigningStores.js +0 -39
  907. package/dist/esm/react/SeamsWeb/assembly/createBrowserStepUpRuntime.js +0 -34
  908. package/dist/esm/react/SeamsWeb/assembly/createBrowserWarmSessionPublicDeps.js +0 -31
  909. package/dist/esm/react/SeamsWeb/assembly/createWalletIframeOverlayState.js +0 -9
  910. package/dist/esm/react/SeamsWeb/assembly/createWalletIframeRouter.js +0 -44
  911. package/dist/esm/react/SeamsWeb/assembly/initializeBrowserSigningRuntime.js +0 -19
  912. package/dist/esm/react/SeamsWeb/assembly/runtimeConfig.js +0 -12
  913. package/dist/esm/react/SeamsWeb/operations/auth/login.js +0 -4398
  914. package/dist/esm/react/SeamsWeb/operations/auth/scheduleEcdsaSessionPresignaturePrefill.js +0 -41
  915. package/dist/esm/react/SeamsWeb/operations/auth/walletAuth.js +0 -143
  916. package/dist/esm/react/SeamsWeb/operations/auth/walletUnlockEcdsaSubject.js +0 -36
  917. package/dist/esm/react/SeamsWeb/operations/auth/walletUnlockSubject.js +0 -294
  918. package/dist/esm/react/SeamsWeb/operations/authMethods/addAuthMethodSourceClaim.js +0 -72
  919. package/dist/esm/react/SeamsWeb/operations/authMethods/emailOtp/addEmailOtp.js +0 -191
  920. package/dist/esm/react/SeamsWeb/operations/authMethods/emailOtp/challenge.js +0 -247
  921. package/dist/esm/react/SeamsWeb/operations/authMethods/emailOtp/googleEmailOtpWalletAuthFlow.js +0 -572
  922. package/dist/esm/react/SeamsWeb/operations/authMethods/emailOtp/localEmailOtpProjection.js +0 -69
  923. package/dist/esm/react/SeamsWeb/operations/authMethods/emailOtp/registrationAuthority.js +0 -62
  924. package/dist/esm/react/SeamsWeb/operations/authMethods/emailOtp/registrationOffer.js +0 -69
  925. package/dist/esm/react/SeamsWeb/operations/authMethods/emailOtp/walletActivation.js +0 -95
  926. package/dist/esm/react/SeamsWeb/operations/authMethods/passkey/addPasskey.js +0 -260
  927. package/dist/esm/react/SeamsWeb/operations/authMethods/passkey/ecdsaBootstrap.js +0 -17
  928. package/dist/esm/react/SeamsWeb/operations/authMethods/passkey/exactPasskeyAuthority.js +0 -34
  929. package/dist/esm/react/SeamsWeb/operations/authMethods/passkey/localPasskeyProjection.js +0 -117
  930. package/dist/esm/react/SeamsWeb/operations/authMethods/passkey/localUnlock.js +0 -16
  931. package/dist/esm/react/SeamsWeb/operations/authMethods/passkey/loginAssertion.js +0 -25
  932. package/dist/esm/react/SeamsWeb/operations/authMethods/passkey/registrationAuthority.js +0 -84
  933. package/dist/esm/react/SeamsWeb/operations/authMethods/revokeAuthMethod.js +0 -205
  934. package/dist/esm/react/SeamsWeb/operations/authMethods/sourcePasskeyProof.js +0 -12
  935. package/dist/esm/react/SeamsWeb/operations/devices/deviceLinkingAuthorityInstallation.js +0 -444
  936. package/dist/esm/react/SeamsWeb/operations/devices/deviceLinkingComposition.js +0 -106
  937. package/dist/esm/react/SeamsWeb/operations/devices/deviceLinkingEd25519ExportRoot.js +0 -194
  938. package/dist/esm/react/SeamsWeb/operations/devices/deviceLinkingHttpTransport.js +0 -525
  939. package/dist/esm/react/SeamsWeb/operations/devices/deviceLinkingOwnerTransport.js +0 -135
  940. package/dist/esm/react/SeamsWeb/operations/devices/deviceLinkingResume.js +0 -219
  941. package/dist/esm/react/SeamsWeb/operations/devices/deviceLinkingTargetCredential.js +0 -63
  942. package/dist/esm/react/SeamsWeb/operations/devices/deviceLinkingTargetEd25519ExportRoot.js +0 -61
  943. package/dist/esm/react/SeamsWeb/operations/devices/deviceLinkingWorkerChannels.js +0 -337
  944. package/dist/esm/react/SeamsWeb/operations/devices/linkDevice.js +0 -75
  945. package/dist/esm/react/SeamsWeb/operations/devices/linkDeviceFlow.js +0 -1358
  946. package/dist/esm/react/SeamsWeb/operations/devices/linkDeviceFlowSupport.js +0 -143
  947. package/dist/esm/react/SeamsWeb/operations/devices/linkDeviceTargetActivation.js +0 -119
  948. package/dist/esm/react/SeamsWeb/operations/devices/scanDevice.js +0 -384
  949. package/dist/esm/react/SeamsWeb/operations/devices/walletHostComposition.js +0 -130
  950. package/dist/esm/react/SeamsWeb/operations/devices/walletHostOwnerAuthority.js +0 -191
  951. package/dist/esm/react/SeamsWeb/operations/evm/index.js +0 -35
  952. package/dist/esm/react/SeamsWeb/operations/near/actions.js +0 -484
  953. package/dist/esm/react/SeamsWeb/operations/near/commandSubject.js +0 -14
  954. package/dist/esm/react/SeamsWeb/operations/near/delegateAction.js +0 -247
  955. package/dist/esm/react/SeamsWeb/operations/near/index.js +0 -37
  956. package/dist/esm/react/SeamsWeb/operations/near/signNEP413.js +0 -117
  957. package/dist/esm/react/SeamsWeb/operations/near/signingEventHelpers.js +0 -15
  958. package/dist/esm/react/SeamsWeb/operations/recovery/accountSync.js +0 -21
  959. package/dist/esm/react/SeamsWeb/operations/recovery/recoveryWalletBinding.js +0 -43
  960. package/dist/esm/react/SeamsWeb/operations/recovery/syncAccount.js +0 -914
  961. package/dist/esm/react/SeamsWeb/operations/recovery/walletRecoveryCodeBackup.js +0 -100
  962. package/dist/esm/react/SeamsWeb/operations/recovery/walletRecoveryCommit.js +0 -477
  963. package/dist/esm/react/SeamsWeb/operations/recovery/walletRecoveryDurablePayload.js +0 -386
  964. package/dist/esm/react/SeamsWeb/operations/recovery/walletRecoveryJournal.js +0 -118
  965. package/dist/esm/react/SeamsWeb/operations/recovery/walletRecoveryRotation.js +0 -214
  966. package/dist/esm/react/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecovery.js +0 -184
  967. package/dist/esm/react/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecoveryUnlock.js +0 -247
  968. package/dist/esm/react/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecoveryValidation.js +0 -134
  969. package/dist/esm/react/SeamsWeb/operations/registration/pendingRegistrationRecovery.js +0 -369
  970. package/dist/esm/react/SeamsWeb/operations/registration/registration.js +0 -3818
  971. package/dist/esm/react/SeamsWeb/operations/registration/registrationEd25519Yao.js +0 -166
  972. package/dist/esm/react/SeamsWeb/operations/registration/registrationSignerSet.js +0 -60
  973. package/dist/esm/react/SeamsWeb/operations/registration/registrationStrictEcdsa.js +0 -343
  974. package/dist/esm/react/SeamsWeb/operations/registration/registrationTerminalCommit.js +0 -296
  975. package/dist/esm/react/SeamsWeb/operations/registration/registrationTiming.js +0 -682
  976. package/dist/esm/react/SeamsWeb/operations/session/thresholdEcdsaProvisioning.js +0 -40
  977. package/dist/esm/react/SeamsWeb/operations/session/thresholdWarmSessionBootstrap.js +0 -20
  978. package/dist/esm/react/SeamsWeb/operations/tempo/executeEvmFamilyTransaction.js +0 -565
  979. package/dist/esm/react/SeamsWeb/operations/tempo/feeTokenPreference.js +0 -67
  980. package/dist/esm/react/SeamsWeb/operations/tempo/index.js +0 -39
  981. package/dist/esm/react/SeamsWeb/publicApi/auth.js +0 -23
  982. package/dist/esm/react/SeamsWeb/publicApi/awaitNearReady.js +0 -72
  983. package/dist/esm/react/SeamsWeb/publicApi/capabilitySelection.js +0 -63
  984. package/dist/esm/react/SeamsWeb/publicApi/chainTargets.js +0 -48
  985. package/dist/esm/react/SeamsWeb/publicApi/createPublicApi.js +0 -133
  986. package/dist/esm/react/SeamsWeb/publicApi/currentWallet.js +0 -46
  987. package/dist/esm/react/SeamsWeb/publicApi/devices.js +0 -83
  988. package/dist/esm/react/SeamsWeb/publicApi/evm.js +0 -103
  989. package/dist/esm/react/SeamsWeb/publicApi/keyExport.js +0 -90
  990. package/dist/esm/react/SeamsWeb/publicApi/near.js +0 -449
  991. package/dist/esm/react/SeamsWeb/publicApi/preferences.js +0 -61
  992. package/dist/esm/react/SeamsWeb/publicApi/recovery.js +0 -19
  993. package/dist/esm/react/SeamsWeb/publicApi/tempo.js +0 -238
  994. package/dist/esm/react/SeamsWeb/publicApi/transactionReview.js +0 -12
  995. package/dist/esm/react/SeamsWeb/publicApi/types.js +0 -10
  996. package/dist/esm/react/SeamsWeb/signingSurface/BrowserSigningSurface.js +0 -3908
  997. package/dist/esm/react/SeamsWeb/walletIframe/client/overlay/overlay-controller.js +0 -530
  998. package/dist/esm/react/SeamsWeb/walletIframe/client/overlay/overlay-styles.js +0 -417
  999. package/dist/esm/react/SeamsWeb/walletIframe/client/progress/on-events-progress-bus.js +0 -134
  1000. package/dist/esm/react/SeamsWeb/walletIframe/client/router.js +0 -3368
  1001. package/dist/esm/react/SeamsWeb/walletIframe/client/surface/domain.js +0 -288
  1002. package/dist/esm/react/SeamsWeb/walletIframe/client/surface/geometry.js +0 -128
  1003. package/dist/esm/react/SeamsWeb/walletIframe/client/surface/renderer.js +0 -119
  1004. package/dist/esm/react/SeamsWeb/walletIframe/client/surface/transactionSurfaceQueue.js +0 -125
  1005. package/dist/esm/react/SeamsWeb/walletIframe/client/transactionReviewReservation.js +0 -96
  1006. package/dist/esm/react/SeamsWeb/walletIframe/client/transport/IframeTransport.js +0 -252
  1007. package/dist/esm/react/SeamsWeb/walletIframe/client/transport/iframe-transport-dom.js +0 -71
  1008. package/dist/esm/react/SeamsWeb/walletIframe/client/transport/iframe-transport-handshake.js +0 -211
  1009. package/dist/esm/react/SeamsWeb/walletIframe/client/transport/webauthn-bridge.js +0 -99
  1010. package/dist/esm/react/SeamsWeb/walletIframe/coordinator.js +0 -235
  1011. package/dist/esm/react/SeamsWeb/walletIframe/host/surface-measurement-reporter.js +0 -158
  1012. package/dist/esm/react/SeamsWeb/walletIframe/shared/exactSessionState.js +0 -625
  1013. package/dist/esm/react/SeamsWeb/walletIframe/shared/is-dev-host.js +0 -11
  1014. package/dist/esm/react/SeamsWeb/walletIframe/shared/messages.js +0 -588
  1015. package/dist/esm/react/SeamsWeb/walletIframe/shared/transactionReview.js +0 -83
  1016. package/dist/esm/react/SeamsWeb/walletIframe/shared/unlockOptions.js +0 -54
  1017. package/dist/esm/react/base-styles.js +0 -13
  1018. package/dist/esm/react/build-paths.js +0 -111
  1019. package/dist/esm/react/components/AccountMenuButton/HaloBorder/HaloBorder.css +0 -101
  1020. package/dist/esm/react/config.js +0 -37
  1021. package/dist/esm/react/core/accountData/near/accountProjection.js +0 -119
  1022. package/dist/esm/react/core/accountData/near/accountRefs.js +0 -21
  1023. package/dist/esm/react/core/accountData/near/keyMaterial.js +0 -171
  1024. package/dist/esm/react/core/accountData/near/profileId.js +0 -24
  1025. package/dist/esm/react/core/browser/walletIframe/csp-stylesheet.js +0 -189
  1026. package/dist/esm/react/core/browser/walletIframe/events.js +0 -10
  1027. package/dist/esm/react/core/browser/walletIframe/host-mode.js +0 -19
  1028. package/dist/esm/react/core/browser/walletIframe/hostVariant.js +0 -16
  1029. package/dist/esm/react/core/config/chains.js +0 -90
  1030. package/dist/esm/react/core/config/configBuilder.js +0 -231
  1031. package/dist/esm/react/core/config/configHelpers.js +0 -183
  1032. package/dist/esm/react/core/config/defaultConfigs.js +0 -120
  1033. package/dist/esm/react/core/config/defineConfig.js +0 -48
  1034. package/dist/esm/react/core/config/managedRuntimeScope.js +0 -16
  1035. package/dist/esm/react/core/indexedDB/accountKeyMaterial.js +0 -68
  1036. package/dist/esm/react/core/indexedDB/accountSignerLifecycle.js +0 -143
  1037. package/dist/esm/react/core/indexedDB/index.js +0 -60
  1038. package/dist/esm/react/core/indexedDB/keyMaterialEnvelope.js +0 -69
  1039. package/dist/esm/react/core/indexedDB/lastProfileState.js +0 -22
  1040. package/dist/esm/react/core/indexedDB/linkedAuthoritySignerMaterial.js +0 -291
  1041. package/dist/esm/react/core/indexedDB/nonceLaneCoordinationStore.js +0 -115
  1042. package/dist/esm/react/core/indexedDB/normalization.js +0 -24
  1043. package/dist/esm/react/core/indexedDB/pendingWalletRecoveryCommit.js +0 -482
  1044. package/dist/esm/react/core/indexedDB/pendingWalletRegistrationCommit.js +0 -879
  1045. package/dist/esm/react/core/indexedDB/profileAccountProjection.js +0 -70
  1046. package/dist/esm/react/core/indexedDB/schemaNames.js +0 -845
  1047. package/dist/esm/react/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestLookups.js +0 -209
  1048. package/dist/esm/react/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestRecords.js +0 -848
  1049. package/dist/esm/react/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestStore.js +0 -1215
  1050. package/dist/esm/react/core/indexedDB/seamsWalletDB/ecdsaClientPresignatures.js +0 -235
  1051. package/dist/esm/react/core/indexedDB/seamsWalletDB/manager.js +0 -140
  1052. package/dist/esm/react/core/indexedDB/seamsWalletDB/pendingWalletRecoveryCodeBackup.js +0 -145
  1053. package/dist/esm/react/core/indexedDB/seamsWalletDB/repositories.js +0 -4747
  1054. package/dist/esm/react/core/indexedDB/seamsWalletDB/schema.js +0 -23
  1055. package/dist/esm/react/core/indexedDB/seamsWalletDB/signingSessionSeals.js +0 -205
  1056. package/dist/esm/react/core/indexedDB/seamsWalletDB/walletCustodyEcdsaContinuity.js +0 -198
  1057. package/dist/esm/react/core/indexedDB/seamsWalletDB/walletSessionAuthorizationStore.js +0 -569
  1058. package/dist/esm/react/core/indexedDB/singletons.js +0 -7
  1059. package/dist/esm/react/core/indexedDB/unifiedIndexedDBManager.js +0 -578
  1060. package/dist/esm/react/core/indexedDB/walletCustodyEd25519MaterialRecord.js +0 -60
  1061. package/dist/esm/react/core/platform/browser/createBrowserPlatformRuntime.js +0 -552
  1062. package/dist/esm/react/core/platform/secretSources.js +0 -111
  1063. package/dist/esm/react/core/platform/signerCoreCommandAdapters.js +0 -122
  1064. package/dist/esm/react/core/rpcClients/evm/EvmClient.js +0 -549
  1065. package/dist/esm/react/core/rpcClients/evm/nonceBackend.js +0 -279
  1066. package/dist/esm/react/core/rpcClients/near/NearClient.js +0 -56
  1067. package/dist/esm/react/core/rpcClients/near/NearRpcError.js +0 -105
  1068. package/dist/esm/react/core/rpcClients/near/rpcCalls.js +0 -376
  1069. package/dist/esm/react/core/rpcClients/relayer/ownerWalletExecutionLanePreflight.js +0 -67
  1070. package/dist/esm/react/core/rpcClients/relayer/passkeyCustodyEnvelope.js +0 -228
  1071. package/dist/esm/react/core/rpcClients/relayer/registrationSignerSetRequest.js +0 -8
  1072. package/dist/esm/react/core/rpcClients/relayer/relayerHttp.js +0 -26
  1073. package/dist/esm/react/core/rpcClients/relayer/routerAbNormalSigning.js +0 -812
  1074. package/dist/esm/react/core/rpcClients/relayer/routerAbNormalSigningValidation.js +0 -23
  1075. package/dist/esm/react/core/rpcClients/relayer/sealedRefreshCapabilities.js +0 -148
  1076. package/dist/esm/react/core/rpcClients/relayer/thresholdEcdsa.js +0 -237
  1077. package/dist/esm/react/core/rpcClients/relayer/walletRecoveryFinalize.js +0 -174
  1078. package/dist/esm/react/core/rpcClients/relayer/walletRecoveryGoogleEmailOtp.js +0 -161
  1079. package/dist/esm/react/core/rpcClients/relayer/walletRecoveryPrepare.js +0 -295
  1080. package/dist/esm/react/core/rpcClients/relayer/walletRecoveryRotate.js +0 -311
  1081. package/dist/esm/react/core/rpcClients/relayer/walletRegistration.js +0 -2349
  1082. package/dist/esm/react/core/rpcClients/relayer/walletRegistrationTerminalResponse.js +0 -719
  1083. package/dist/esm/react/core/rpcClients/relayer/walletSessionAuthorizationStatus.js +0 -214
  1084. package/dist/esm/react/core/runtime/createSigningRuntime.js +0 -100
  1085. package/dist/esm/react/core/signingEngine/assembly/createManagers.js +0 -80
  1086. package/dist/esm/react/core/signingEngine/assembly/createPorts.js +0 -54
  1087. package/dist/esm/react/core/signingEngine/assembly/ports/emailOtp.js +0 -30
  1088. package/dist/esm/react/core/signingEngine/assembly/ports/evmFamily.js +0 -73
  1089. package/dist/esm/react/core/signingEngine/assembly/ports/near.js +0 -21
  1090. package/dist/esm/react/core/signingEngine/assembly/ports/recovery.js +0 -75
  1091. package/dist/esm/react/core/signingEngine/assembly/ports/registration.js +0 -22
  1092. package/dist/esm/react/core/signingEngine/assembly/ports/session.js +0 -25
  1093. package/dist/esm/react/core/signingEngine/assembly/ports/shared.js +0 -40
  1094. package/dist/esm/react/core/signingEngine/assembly/ports/stepUpRuntime.js +0 -67
  1095. package/dist/esm/react/core/signingEngine/assembly/ports/warmSigning.js +0 -92
  1096. package/dist/esm/react/core/signingEngine/assembly/warmup.js +0 -68
  1097. package/dist/esm/react/core/signingEngine/chains/evm/bytes.js +0 -22
  1098. package/dist/esm/react/core/signingEngine/chains/evm/display/calldata.js +0 -25
  1099. package/dist/esm/react/core/signingEngine/chains/evm/display/evmTx.js +0 -119
  1100. package/dist/esm/react/core/signingEngine/chains/evm/display/functionSelectors.js +0 -75
  1101. package/dist/esm/react/core/signingEngine/chains/evm/display/gas.js +0 -19
  1102. package/dist/esm/react/core/signingEngine/chains/evm/display/normalization.js +0 -23
  1103. package/dist/esm/react/core/signingEngine/chains/evm/evmAdapter.js +0 -44
  1104. package/dist/esm/react/core/signingEngine/chains/evm/evmCryptoWasm.js +0 -198
  1105. package/dist/esm/react/core/signingEngine/chains/near/display.js +0 -248
  1106. package/dist/esm/react/core/signingEngine/chains/near/nearSignerWasm.js +0 -170
  1107. package/dist/esm/react/core/signingEngine/chains/near/payloads.js +0 -58
  1108. package/dist/esm/react/core/signingEngine/chains/tempo/display.js +0 -130
  1109. package/dist/esm/react/core/signingEngine/chains/tempo/feeToken.js +0 -187
  1110. package/dist/esm/react/core/signingEngine/chains/tempo/tempoAdapter.js +0 -49
  1111. package/dist/esm/react/core/signingEngine/chains/tempo/tempoSignerWasm.js +0 -90
  1112. package/dist/esm/react/core/signingEngine/flows/recovery/ecdsaDerivationExport.js +0 -428
  1113. package/dist/esm/react/core/signingEngine/flows/recovery/ecdsaExportFlow.js +0 -660
  1114. package/dist/esm/react/core/signingEngine/flows/recovery/ecdsaExportMaterial.js +0 -243
  1115. package/dist/esm/react/core/signingEngine/flows/recovery/ed25519YaoExportFlow.js +0 -353
  1116. package/dist/esm/react/core/signingEngine/flows/recovery/exportKeypairOperation.js +0 -216
  1117. package/dist/esm/react/core/signingEngine/flows/recovery/exportLaneSelection.js +0 -283
  1118. package/dist/esm/react/core/signingEngine/flows/recovery/keyExportConfirmation.js +0 -325
  1119. package/dist/esm/react/core/signingEngine/flows/recovery/keyExportFlow.js +0 -81
  1120. package/dist/esm/react/core/signingEngine/flows/recovery/passkeyEd25519YaoRecovery.js +0 -195
  1121. package/dist/esm/react/core/signingEngine/flows/recovery/public.js +0 -26
  1122. package/dist/esm/react/core/signingEngine/flows/recovery/stepUpAuthorization.js +0 -139
  1123. package/dist/esm/react/core/signingEngine/flows/registration/accountLifecycle.js +0 -1098
  1124. package/dist/esm/react/core/signingEngine/flows/registration/nearProvisioningRegistry.js +0 -79
  1125. package/dist/esm/react/core/signingEngine/flows/registration/public.js +0 -85
  1126. package/dist/esm/react/core/signingEngine/flows/registration/services/ecdsaRegistrationSessions.js +0 -77
  1127. package/dist/esm/react/core/signingEngine/flows/registration/services/ecdsaWalletRecords.js +0 -15
  1128. package/dist/esm/react/core/signingEngine/flows/registration/services/passkeyEd25519YaoAddSigner.js +0 -83
  1129. package/dist/esm/react/core/signingEngine/flows/registration/services/registrationAccounts.js +0 -30
  1130. package/dist/esm/react/core/signingEngine/flows/registration/session.js +0 -24
  1131. package/dist/esm/react/core/signingEngine/flows/shared/signingConfirmation.js +0 -194
  1132. package/dist/esm/react/core/signingEngine/flows/shared/signingStateMachine.js +0 -485
  1133. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/accountAuth.js +0 -12
  1134. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/addresses.js +0 -10
  1135. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/authPlanning.js +0 -139
  1136. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/ecdsaLanes.js +0 -102
  1137. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/ecdsaSelection.js +0 -233
  1138. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/emailOtpPublic.js +0 -123
  1139. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/emailOtpSigningSession.js +0 -227
  1140. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/errors.js +0 -127
  1141. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/events.js +0 -39
  1142. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/evmNonceLifecycle.js +0 -49
  1143. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/executorThresholdState.js +0 -22
  1144. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/freshAuthRetryPolicy.js +0 -98
  1145. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/freshWalletSessionRetry.js +0 -76
  1146. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/nonceLifecycleAdapter.js +0 -245
  1147. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/nonceResolution.js +0 -91
  1148. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/operationIds.js +0 -33
  1149. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/preparedSigning.js +0 -383
  1150. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/readySecp256k1Material.js +0 -191
  1151. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/requireEvmFamilyStepUpAuth.js +0 -128
  1152. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/signEvmFamily.js +0 -512
  1153. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/signEvmFamilyWithUiConfirmForTempo.js +0 -65
  1154. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/signEvmWithUiConfirm.js +0 -26
  1155. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/signatureUses.js +0 -12
  1156. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/signerLoader.js +0 -25
  1157. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/signers/ecdsaDerivationClientSigningMaterialSource.js +0 -76
  1158. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/signers/secp256k1.js +0 -182
  1159. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/signers/webauthnP256.js +0 -84
  1160. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/signingFlow.js +0 -631
  1161. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/signingFlowRuntime.js +0 -391
  1162. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/stepUpAuthorization.js +0 -56
  1163. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/tempoNonceLifecycle.js +0 -47
  1164. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/thresholdAdmission.js +0 -87
  1165. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/transactionExecutor.js +0 -143
  1166. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/types.js +0 -20
  1167. package/dist/esm/react/core/signingEngine/flows/signEvmFamily/webauthnP256KeyRef.js +0 -33
  1168. package/dist/esm/react/core/signingEngine/flows/signNear/implicitAccountFunding.js +0 -202
  1169. package/dist/esm/react/core/signingEngine/flows/signNear/nearSigningFlow.js +0 -56
  1170. package/dist/esm/react/core/signingEngine/flows/signNear/requireNearStepUpAuth.js +0 -102
  1171. package/dist/esm/react/core/signingEngine/flows/signNear/shared/confirmationProgress.js +0 -28
  1172. package/dist/esm/react/core/signingEngine/flows/signNear/shared/ed25519YaoCapabilityResolution.js +0 -101
  1173. package/dist/esm/react/core/signingEngine/flows/signNear/shared/ed25519YaoNormalSigning.js +0 -822
  1174. package/dist/esm/react/core/signingEngine/flows/signNear/shared/implicitAccountFundingPort.js +0 -24
  1175. package/dist/esm/react/core/signingEngine/flows/signNear/shared/operationStepUpPreparation.js +0 -68
  1176. package/dist/esm/react/core/signingEngine/flows/signNear/shared/signatureOnlySigning.js +0 -343
  1177. package/dist/esm/react/core/signingEngine/flows/signNear/shared/signingMaterials.js +0 -25
  1178. package/dist/esm/react/core/signingEngine/flows/signNear/shared/signingSessionAuthMode.js +0 -138
  1179. package/dist/esm/react/core/signingEngine/flows/signNear/signDelegate.js +0 -290
  1180. package/dist/esm/react/core/signingEngine/flows/signNear/signNear.js +0 -1238
  1181. package/dist/esm/react/core/signingEngine/flows/signNear/signNep413.js +0 -144
  1182. package/dist/esm/react/core/signingEngine/flows/signNear/signTransactions.js +0 -897
  1183. package/dist/esm/react/core/signingEngine/flows/signNear/signatureUses.js +0 -12
  1184. package/dist/esm/react/core/signingEngine/flows/signNear/stepUpAuthorization.js +0 -42
  1185. package/dist/esm/react/core/signingEngine/interfaces/accountAuthMetadata.js +0 -14
  1186. package/dist/esm/react/core/signingEngine/interfaces/ecdsaChainTarget.js +0 -142
  1187. package/dist/esm/react/core/signingEngine/interfaces/operationStepUpPreparation.js +0 -18
  1188. package/dist/esm/react/core/signingEngine/nonce/NonceCoordinator.js +0 -1026
  1189. package/dist/esm/react/core/signingEngine/nonce/evmNonceLane.js +0 -182
  1190. package/dist/esm/react/core/signingEngine/nonce/nearNonceLane.js +0 -669
  1191. package/dist/esm/react/core/signingEngine/nonce/nearNonceLaneIdentity.js +0 -24
  1192. package/dist/esm/react/core/signingEngine/nonce/nonceCoordinationRecordBoundary.js +0 -216
  1193. package/dist/esm/react/core/signingEngine/nonce/nonceDiagnostics.js +0 -232
  1194. package/dist/esm/react/core/signingEngine/nonce/nonceLaneKeys.js +0 -110
  1195. package/dist/esm/react/core/signingEngine/nonce/nonceLeaseState.js +0 -128
  1196. package/dist/esm/react/core/signingEngine/nonce/nonceTypes.js +0 -59
  1197. package/dist/esm/react/core/signingEngine/nonce/nonceUtils.js +0 -33
  1198. package/dist/esm/react/core/signingEngine/routerAb/ecdsaDerivation/httpRequest.js +0 -74
  1199. package/dist/esm/react/core/signingEngine/routerAb/ecdsaDerivation/poolFillRoutes.js +0 -217
  1200. package/dist/esm/react/core/signingEngine/routerAb/ecdsaDerivation/presignaturePool.js +0 -1216
  1201. package/dist/esm/react/core/signingEngine/routerAb/ecdsaDerivation/presignatureRefillProgress.js +0 -53
  1202. package/dist/esm/react/core/signingEngine/routerAb/ecdsaDerivation/signingMaterialRef.js +0 -22
  1203. package/dist/esm/react/core/signingEngine/session/SigningSessionCoordinator.js +0 -347
  1204. package/dist/esm/react/core/signingEngine/session/authority/authorityOperationResolver.js +0 -165
  1205. package/dist/esm/react/core/signingEngine/session/availability/availableSigningLanes.js +0 -1073
  1206. package/dist/esm/react/core/signingEngine/session/availability/canonicalLaneInventory.js +0 -127
  1207. package/dist/esm/react/core/signingEngine/session/availability/clientSessionExpiryInvalidator.js +0 -72
  1208. package/dist/esm/react/core/signingEngine/session/availability/persistedAvailableSigningLanes.js +0 -213
  1209. package/dist/esm/react/core/signingEngine/session/availability/readiness.js +0 -464
  1210. package/dist/esm/react/core/signingEngine/session/emailOtp/EmailOtpWalletSessionCoordinator.js +0 -47
  1211. package/dist/esm/react/core/signingEngine/session/emailOtp/challengeDelivery.js +0 -56
  1212. package/dist/esm/react/core/signingEngine/session/emailOtp/coordinatorRuntime.js +0 -131
  1213. package/dist/esm/react/core/signingEngine/session/emailOtp/ecdsaBootstrapCommit.js +0 -106
  1214. package/dist/esm/react/core/signingEngine/session/emailOtp/ecdsaLifecycleRuntime.js +0 -50
  1215. package/dist/esm/react/core/signingEngine/session/emailOtp/ecdsaLogin.js +0 -941
  1216. package/dist/esm/react/core/signingEngine/session/emailOtp/ecdsaPublication.js +0 -414
  1217. package/dist/esm/react/core/signingEngine/session/emailOtp/ecdsaRecovery.js +0 -268
  1218. package/dist/esm/react/core/signingEngine/session/emailOtp/ecdsaSigningSessionAuthority.js +0 -95
  1219. package/dist/esm/react/core/signingEngine/session/emailOtp/ed25519ExportContext.js +0 -376
  1220. package/dist/esm/react/core/signingEngine/session/emailOtp/exportRecovery.js +0 -286
  1221. package/dist/esm/react/core/signingEngine/session/emailOtp/exportRecoveryRuntime.js +0 -50
  1222. package/dist/esm/react/core/signingEngine/session/emailOtp/persistedSnapshot.js +0 -22
  1223. package/dist/esm/react/core/signingEngine/session/emailOtp/publicTypes.js +0 -38
  1224. package/dist/esm/react/core/signingEngine/session/emailOtp/routePlan.js +0 -60
  1225. package/dist/esm/react/core/signingEngine/session/emailOtp/runtimeConfig.js +0 -24
  1226. package/dist/esm/react/core/signingEngine/session/emailOtp/sealedRefreshPolicy.js +0 -49
  1227. package/dist/esm/react/core/signingEngine/session/emailOtp/sealedRestoreOrchestrator.js +0 -234
  1228. package/dist/esm/react/core/signingEngine/session/emailOtp/sealedRuntimePurpose.js +0 -16
  1229. package/dist/esm/react/core/signingEngine/session/emailOtp/sealedSessionRegistry.js +0 -40
  1230. package/dist/esm/react/core/signingEngine/session/emailOtp/status.js +0 -72
  1231. package/dist/esm/react/core/signingEngine/session/emailOtp/walletUnlock.js +0 -168
  1232. package/dist/esm/react/core/signingEngine/session/emailOtp/warmSessionRuntime.js +0 -70
  1233. package/dist/esm/react/core/signingEngine/session/emailOtp/workerEnrollment.js +0 -159
  1234. package/dist/esm/react/core/signingEngine/session/emailOtp/workerRequests.js +0 -84
  1235. package/dist/esm/react/core/signingEngine/session/emailOtp/zeroize.js +0 -9
  1236. package/dist/esm/react/core/signingEngine/session/identity/clientSessionPersistenceState.js +0 -95
  1237. package/dist/esm/react/core/signingEngine/session/identity/emailOtpEcdsaDerivationIdentity.js +0 -23
  1238. package/dist/esm/react/core/signingEngine/session/identity/evmFamilyEcdsaIdentity.js +0 -265
  1239. package/dist/esm/react/core/signingEngine/session/identity/exactSigningLaneIdentity.js +0 -338
  1240. package/dist/esm/react/core/signingEngine/session/identity/exactWalletSessionCredential.js +0 -106
  1241. package/dist/esm/react/core/signingEngine/session/identity/exactWalletSessionReader.js +0 -54
  1242. package/dist/esm/react/core/signingEngine/session/identity/laneIdentity.js +0 -168
  1243. package/dist/esm/react/core/signingEngine/session/identity/ownerLaneScope.js +0 -185
  1244. package/dist/esm/react/core/signingEngine/session/identity/selectLane.js +0 -349
  1245. package/dist/esm/react/core/signingEngine/session/identity/signingLaneAuthBinding.js +0 -29
  1246. package/dist/esm/react/core/signingEngine/session/keyMaterialBrands.js +0 -75
  1247. package/dist/esm/react/core/signingEngine/session/lanes/walletExecutionLaneHydration.js +0 -194
  1248. package/dist/esm/react/core/signingEngine/session/lifecycle/canonicalWalletSessionStatus.js +0 -32
  1249. package/dist/esm/react/core/signingEngine/session/lifecycle/walletSessionFailure.js +0 -69
  1250. package/dist/esm/react/core/signingEngine/session/lifecycle/walletSessionStatus.js +0 -123
  1251. package/dist/esm/react/core/signingEngine/session/material/activeEcdsaCapabilityRuntime.js +0 -171
  1252. package/dist/esm/react/core/signingEngine/session/material/activeWalletAuthorityEcdsaRuntime.js +0 -323
  1253. package/dist/esm/react/core/signingEngine/session/material/ecdsaCapabilityHydration.js +0 -75
  1254. package/dist/esm/react/core/signingEngine/session/material/ecdsaCapabilityManifest.js +0 -510
  1255. package/dist/esm/react/core/signingEngine/session/material/ecdsaRoleLocalMaterialResolver.js +0 -122
  1256. package/dist/esm/react/core/signingEngine/session/material/ecdsaSealedRuntime.js +0 -197
  1257. package/dist/esm/react/core/signingEngine/session/material/ecdsaSigningCapability.js +0 -231
  1258. package/dist/esm/react/core/signingEngine/session/material/linkedEcdsaHolderRuntime.js +0 -36
  1259. package/dist/esm/react/core/signingEngine/session/material/mpcCapabilityHydration.js +0 -79
  1260. package/dist/esm/react/core/signingEngine/session/material/nearEd25519YaoMaterialActivation.js +0 -80
  1261. package/dist/esm/react/core/signingEngine/session/material/nearEd25519YaoSigningPreparation.js +0 -122
  1262. package/dist/esm/react/core/signingEngine/session/material/restorableMpcMaterialRef.internal.js +0 -21
  1263. package/dist/esm/react/core/signingEngine/session/material/walletSigningStateFailure.js +0 -84
  1264. package/dist/esm/react/core/signingEngine/session/operationState/authorizationAdmission.js +0 -98
  1265. package/dist/esm/react/core/signingEngine/session/operationState/lanes.js +0 -127
  1266. package/dist/esm/react/core/signingEngine/session/operationState/preparedOperation.js +0 -38
  1267. package/dist/esm/react/core/signingEngine/session/operationState/trace.js +0 -94
  1268. package/dist/esm/react/core/signingEngine/session/operationState/transactionState.js +0 -106
  1269. package/dist/esm/react/core/signingEngine/session/operationState/types.js +0 -88
  1270. package/dist/esm/react/core/signingEngine/session/passkey/ecdsaBootstrap.js +0 -187
  1271. package/dist/esm/react/core/signingEngine/session/passkey/ecdsaKeyFactsInventory.js +0 -206
  1272. package/dist/esm/react/core/signingEngine/session/passkey/ecdsaRecovery.js +0 -87
  1273. package/dist/esm/react/core/signingEngine/session/passkey/ecdsaSessionProvision.js +0 -224
  1274. package/dist/esm/react/core/signingEngine/session/passkey/ecdsaWarmCapabilityBootstrap.js +0 -147
  1275. package/dist/esm/react/core/signingEngine/session/passkey/ed25519Provisioner.js +0 -55
  1276. package/dist/esm/react/core/signingEngine/session/passkey/ed25519SessionProvision.js +0 -229
  1277. package/dist/esm/react/core/signingEngine/session/passkey/ed25519YaoLocalMaterial.js +0 -537
  1278. package/dist/esm/react/core/signingEngine/session/passkey/ed25519YaoRecoveryCapability.js +0 -94
  1279. package/dist/esm/react/core/signingEngine/session/passkey/ed25519YaoSealedSession.js +0 -57
  1280. package/dist/esm/react/core/signingEngine/session/passkey/ed25519YaoWarmRecovery.js +0 -317
  1281. package/dist/esm/react/core/signingEngine/session/passkey/passkeyCustodySessionCache.js +0 -90
  1282. package/dist/esm/react/core/signingEngine/session/passkey/prfCache.js +0 -60
  1283. package/dist/esm/react/core/signingEngine/session/passkey/public.js +0 -15
  1284. package/dist/esm/react/core/signingEngine/session/passkey/unlockEcdsaWarmupPlanner.js +0 -247
  1285. package/dist/esm/react/core/signingEngine/session/passkey/warmSessionHydration.js +0 -9
  1286. package/dist/esm/react/core/signingEngine/session/persistence/clientSessionPersistence.js +0 -143
  1287. package/dist/esm/react/core/signingEngine/session/persistence/durableSealedSessionCommands.js +0 -30
  1288. package/dist/esm/react/core/signingEngine/session/persistence/ecdsaRoleLocalRecords.js +0 -316
  1289. package/dist/esm/react/core/signingEngine/session/persistence/ecdsaSealedRecordKey.js +0 -20
  1290. package/dist/esm/react/core/signingEngine/session/persistence/sealedSessionRecords.js +0 -764
  1291. package/dist/esm/react/core/signingEngine/session/persistence/sealedSessionStore.js +0 -518
  1292. package/dist/esm/react/core/signingEngine/session/persistence/walletSessionAuthorizationProjection.js +0 -51
  1293. package/dist/esm/react/core/signingEngine/session/planning/operationFingerprint.js +0 -30
  1294. package/dist/esm/react/core/signingEngine/session/planning/operationIdBinding.js +0 -36
  1295. package/dist/esm/react/core/signingEngine/session/planning/planner.js +0 -98
  1296. package/dist/esm/react/core/signingEngine/session/postconditions/runtimePostconditions.js +0 -165
  1297. package/dist/esm/react/core/signingEngine/session/public.js +0 -44
  1298. package/dist/esm/react/core/signingEngine/session/routerAbSigningWalletSession.js +0 -125
  1299. package/dist/esm/react/core/signingEngine/session/sealedRecovery/exactRecordLookup.js +0 -148
  1300. package/dist/esm/react/core/signingEngine/session/sealedRecovery/materialActivationKey.js +0 -22
  1301. package/dist/esm/react/core/signingEngine/session/sealedRecovery/recoveryRecord.js +0 -248
  1302. package/dist/esm/react/core/signingEngine/session/sealedRecovery/restoreCoordinator.js +0 -229
  1303. package/dist/esm/react/core/signingEngine/session/userPreferences.js +0 -212
  1304. package/dist/esm/react/core/signingEngine/session/warmCapabilities/capabilityReader.js +0 -62
  1305. package/dist/esm/react/core/signingEngine/session/warmCapabilities/capabilityReaderCore.js +0 -293
  1306. package/dist/esm/react/core/signingEngine/session/warmCapabilities/clearVolatileWarmSigningMaterial.js +0 -44
  1307. package/dist/esm/react/core/signingEngine/session/warmCapabilities/ecdsaBootstrapPersistence.js +0 -107
  1308. package/dist/esm/react/core/signingEngine/session/warmCapabilities/ecdsaBootstrapQueue.js +0 -22
  1309. package/dist/esm/react/core/signingEngine/session/warmCapabilities/ecdsaLoginPrefill.js +0 -93
  1310. package/dist/esm/react/core/signingEngine/session/warmCapabilities/ecdsaLoginPrefillSigningMaterialSource.js +0 -50
  1311. package/dist/esm/react/core/signingEngine/session/warmCapabilities/ecdsaProvisionPlan.js +0 -9
  1312. package/dist/esm/react/core/signingEngine/session/warmCapabilities/ed25519SealedSessionRuntime.js +0 -251
  1313. package/dist/esm/react/core/signingEngine/session/warmCapabilities/nearEd25519CapabilityRehydration.js +0 -98
  1314. package/dist/esm/react/core/signingEngine/session/warmCapabilities/public.js +0 -31
  1315. package/dist/esm/react/core/signingEngine/session/warmCapabilities/readModel.js +0 -161
  1316. package/dist/esm/react/core/signingEngine/session/warmCapabilities/routerAbEd25519WalletSessionState.js +0 -256
  1317. package/dist/esm/react/core/signingEngine/session/warmCapabilities/routerAbWalletSessionCredential.js +0 -73
  1318. package/dist/esm/react/core/signingEngine/session/warmCapabilities/sealedRefreshParity.js +0 -67
  1319. package/dist/esm/react/core/signingEngine/session/warmCapabilities/statusReader.js +0 -100
  1320. package/dist/esm/react/core/signingEngine/session/warmCapabilities/transitions.js +0 -51
  1321. package/dist/esm/react/core/signingEngine/session/warmCapabilities/types.js +0 -122
  1322. package/dist/esm/react/core/signingEngine/session/warmCapabilities/volatileWarmMaterialCommands.js +0 -45
  1323. package/dist/esm/react/core/signingEngine/stepUpConfirmation/channel/confirmCommon.js +0 -89
  1324. package/dist/esm/react/core/signingEngine/stepUpConfirmation/channel/confirmTypes.js +0 -12
  1325. package/dist/esm/react/core/signingEngine/stepUpConfirmation/confirmOperation.js +0 -51
  1326. package/dist/esm/react/core/signingEngine/stepUpConfirmation/intentDigestPreparation.js +0 -29
  1327. package/dist/esm/react/core/signingEngine/stepUpConfirmation/methodSelection.js +0 -41
  1328. package/dist/esm/react/core/signingEngine/stepUpConfirmation/otpPrompt/authLane.js +0 -32
  1329. package/dist/esm/react/core/signingEngine/stepUpConfirmation/otpPrompt/exportAuthorization.js +0 -108
  1330. package/dist/esm/react/core/signingEngine/stepUpConfirmation/otpPrompt/promptText.js +0 -8
  1331. package/dist/esm/react/core/signingEngine/stepUpConfirmation/otpPrompt/signingPrompt.js +0 -15
  1332. package/dist/esm/react/core/signingEngine/stepUpConfirmation/passkeyPrompt/touchIdPrompt.js +0 -295
  1333. package/dist/esm/react/core/signingEngine/stepUpConfirmation/passkeyPrompt/webauthnPromptCoordinator.js +0 -170
  1334. package/dist/esm/react/core/signingEngine/stepUpConfirmation/requireStepUpAuth.js +0 -63
  1335. package/dist/esm/react/core/signingEngine/stepUpConfirmation/types.js +0 -29
  1336. package/dist/esm/react/core/signingEngine/stepUpConfirmation/userConfirmationType.js +0 -15
  1337. package/dist/esm/react/core/signingEngine/threshold/commitQueueShared.js +0 -125
  1338. package/dist/esm/react/core/signingEngine/threshold/crypto/ecdsaDerivationClientWasm.js +0 -616
  1339. package/dist/esm/react/core/signingEngine/threshold/crypto/ed25519YaoLaneWasm.js +0 -70
  1340. package/dist/esm/react/core/signingEngine/threshold/ecdsa/activation.js +0 -267
  1341. package/dist/esm/react/core/signingEngine/threshold/ecdsa/bootstrapSession.js +0 -119
  1342. package/dist/esm/react/core/signingEngine/threshold/ecdsa/operationStepUp.js +0 -110
  1343. package/dist/esm/react/core/signingEngine/threshold/ecdsa/postRegistrationSessionActivation.js +0 -132
  1344. package/dist/esm/react/core/signingEngine/threshold/ecdsa/signingQueue.js +0 -58
  1345. package/dist/esm/react/core/signingEngine/threshold/ed25519/commitQueue.js +0 -52
  1346. package/dist/esm/react/core/signingEngine/threshold/ed25519/connectSession.js +0 -137
  1347. package/dist/esm/react/core/signingEngine/threshold/ed25519/walletSession.js +0 -363
  1348. package/dist/esm/react/core/signingEngine/threshold/ed25519/yaoActiveClientRegistry.js +0 -146
  1349. package/dist/esm/react/core/signingEngine/threshold/ed25519/yaoClient.js +0 -597
  1350. package/dist/esm/react/core/signingEngine/threshold/ed25519/yaoPageLifecycleOwner.js +0 -23
  1351. package/dist/esm/react/core/signingEngine/threshold/ed25519/yaoPublicCapabilityReferences.js +0 -295
  1352. package/dist/esm/react/core/signingEngine/threshold/sessionPolicy.js +0 -94
  1353. package/dist/esm/react/core/signingEngine/uiConfirm/PasskeyMpcExportManager.js +0 -233
  1354. package/dist/esm/react/core/signingEngine/uiConfirm/PasskeyMpcSessionDurableState.js +0 -496
  1355. package/dist/esm/react/core/signingEngine/uiConfirm/PasskeyMpcSessionManager.js +0 -745
  1356. package/dist/esm/react/core/signingEngine/uiConfirm/UiConfirmManager.js +0 -600
  1357. package/dist/esm/react/core/signingEngine/uiConfirm/confirmationReadinessRegistry.js +0 -41
  1358. package/dist/esm/react/core/signingEngine/uiConfirm/exportConfirmRequest.js +0 -149
  1359. package/dist/esm/react/core/signingEngine/uiConfirm/handlers/determineConfirmationConfig.js +0 -82
  1360. package/dist/esm/react/core/signingEngine/uiConfirm/handlers/flowOrchestrator.js +0 -363
  1361. package/dist/esm/react/core/signingEngine/uiConfirm/handlers/flows/adapters/adapters.js +0 -337
  1362. package/dist/esm/react/core/signingEngine/uiConfirm/handlers/flows/adapters/request.js +0 -120
  1363. package/dist/esm/react/core/signingEngine/uiConfirm/handlers/flows/localOnly.js +0 -150
  1364. package/dist/esm/react/core/signingEngine/uiConfirm/handlers/flows/registration.js +0 -235
  1365. package/dist/esm/react/core/signingEngine/uiConfirm/handlers/flows/requestRegistrationCredentialConfirmation.js +0 -178
  1366. package/dist/esm/react/core/signingEngine/uiConfirm/handlers/flows/signing.js +0 -684
  1367. package/dist/esm/react/core/signingEngine/uiConfirm/handlers/handlePromptFromWorker.js +0 -90
  1368. package/dist/esm/react/core/signingEngine/uiConfirm/nearFundingNotice.js +0 -50
  1369. package/dist/esm/react/core/signingEngine/uiConfirm/transactionReviewAdmission.js +0 -8
  1370. package/dist/esm/react/core/signingEngine/uiConfirm/ui/appearance-token-vars.js +0 -31
  1371. package/dist/esm/react/core/signingEngine/uiConfirm/ui/appearance.js +0 -27
  1372. package/dist/esm/react/core/signingEngine/uiConfirm/ui/confirm-surface-resize.js +0 -346
  1373. package/dist/esm/react/core/signingEngine/uiConfirm/ui/confirm-ui.js +0 -516
  1374. package/dist/esm/react/core/signingEngine/uiConfirm/ui/confirmation-body-model.js +0 -24
  1375. package/dist/esm/react/core/signingEngine/uiConfirm/ui/confirmation-model.js +0 -161
  1376. package/dist/esm/react/core/signingEngine/uiConfirm/ui/drawer-gesture.js +0 -16
  1377. package/dist/esm/react/core/signingEngine/uiConfirm/ui/export-private-key-reveal.js +0 -155
  1378. package/dist/esm/react/core/signingEngine/uiConfirm/ui/export-viewer-host.js +0 -207
  1379. package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/ConfirmContent.js +0 -131
  1380. package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/ConfirmHeader.js +0 -29
  1381. package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/ConfirmationBody.js +0 -49
  1382. package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/ConfirmationContent.js +0 -137
  1383. package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/ConfirmationDrawer.js +0 -294
  1384. package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/ConfirmationModal.js +0 -67
  1385. package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/CopyStatusIcon.js +0 -41
  1386. package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/EmailOtpContent.js +0 -141
  1387. package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/EmailOtpInput.js +0 -92
  1388. package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/ExportPrivateKeySurface.js +0 -318
  1389. package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/HaloBorder.js +0 -91
  1390. package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/PadlockIcon.js +0 -32
  1391. package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/PasskeyHaloLoading.js +0 -63
  1392. package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/PasskeyRegistrationContent.js +0 -75
  1393. package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/PasskeyRegistrationDetails.js +0 -33
  1394. package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/RecoveryCodeBackupSurface.js +0 -518
  1395. package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/ReviewDisclosure.js +0 -128
  1396. package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/SeamsWordmark.js +0 -22
  1397. package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/TransactionLabel.js +0 -158
  1398. package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/TransactionReceipt.js +0 -287
  1399. package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/TransactionReview.js +0 -311
  1400. package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/TransactionTree.js +0 -284
  1401. package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/clipboard.js +0 -26
  1402. package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/confirmation-controller.js +0 -80
  1403. package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/confirmation-styles.js +0 -20
  1404. package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/email-otp-session.js +0 -178
  1405. package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/mountConfirmationSurface.js +0 -297
  1406. package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/mountExportPrivateKeySurface.js +0 -86
  1407. package/dist/esm/react/core/signingEngine/uiConfirm/ui/preact/mountRecoveryCodeBackupSurface.js +0 -82
  1408. package/dist/esm/react/core/signingEngine/uiConfirm/ui/seamsWordmarkPaths.js +0 -6
  1409. package/dist/esm/react/core/signingEngine/uiConfirm/ui/surface-measurement-binding.js +0 -12
  1410. package/dist/esm/react/core/signingEngine/uiConfirm/ui/surface-resize-events.js +0 -18
  1411. package/dist/esm/react/core/signingEngine/uiConfirm/ui/transaction-activity.js +0 -46
  1412. package/dist/esm/react/core/signingEngine/uiConfirm/ui/transaction-display/abi/abiDecode.js +0 -325
  1413. package/dist/esm/react/core/signingEngine/uiConfirm/ui/transaction-display/abi/enrichDisplayModelWithAbi.js +0 -77
  1414. package/dist/esm/react/core/signingEngine/uiConfirm/ui/transaction-display/confirmation-tree.js +0 -27
  1415. package/dist/esm/react/core/signingEngine/uiConfirm/ui/transaction-display/formatters.js +0 -57
  1416. package/dist/esm/react/core/signingEngine/uiConfirm/ui/transaction-display/renderers/evm.js +0 -12
  1417. package/dist/esm/react/core/signingEngine/uiConfirm/ui/transaction-display/renderers/fallback.js +0 -52
  1418. package/dist/esm/react/core/signingEngine/uiConfirm/ui/transaction-display/renderers/near.js +0 -12
  1419. package/dist/esm/react/core/signingEngine/uiConfirm/ui/transaction-display/renderers/tempo.js +0 -12
  1420. package/dist/esm/react/core/signingEngine/uiConfirm/ui/transaction-display/renderers/types.js +0 -62
  1421. package/dist/esm/react/core/signingEngine/uiConfirm/ui/transaction-display/tree.js +0 -258
  1422. package/dist/esm/react/core/signingEngine/uiConfirm/ui/transaction-receipt.js +0 -50
  1423. package/dist/esm/react/core/signingEngine/uiConfirm/warmSessionUiConfirm.js +0 -65
  1424. package/dist/esm/react/core/signingEngine/walletCustody/activateEd25519Capability.js +0 -123
  1425. package/dist/esm/react/core/signingEngine/walletCustody/ceremonyActiveClientMetadata.js +0 -94
  1426. package/dist/esm/react/core/signingEngine/walletCustody/ceremonyDriver.js +0 -171
  1427. package/dist/esm/react/core/signingEngine/walletCustody/ceremonyStepRunner.js +0 -20
  1428. package/dist/esm/react/core/signingEngine/walletCustody/ed25519ActiveClient.js +0 -100
  1429. package/dist/esm/react/core/signingEngine/walletCustody/ed25519Projection.js +0 -32
  1430. package/dist/esm/react/core/signingEngine/walletCustody/ed25519SeedMaterial.js +0 -92
  1431. package/dist/esm/react/core/signingEngine/walletCustody/emailOtpLink.js +0 -135
  1432. package/dist/esm/react/core/signingEngine/walletCustody/joinCustodyWire.js +0 -64
  1433. package/dist/esm/react/core/signingEngine/walletCustody/openCustodyCache.js +0 -130
  1434. package/dist/esm/react/core/signingEngine/walletCustody/passkeyLink.js +0 -183
  1435. package/dist/esm/react/core/signingEngine/walletCustody/recoveryReplacementEnvelope.js +0 -60
  1436. package/dist/esm/react/core/signingEngine/walletCustody/registrationCeremony.js +0 -461
  1437. package/dist/esm/react/core/signingEngine/walletCustody/unlockedEd25519ExportRootCapability.js +0 -258
  1438. package/dist/esm/react/core/signingEngine/walletCustody/walletRecoveryCredential.js +0 -24
  1439. package/dist/esm/react/core/signingEngine/walletCustody/walletRecoveryEcdsa.js +0 -76
  1440. package/dist/esm/react/core/signingEngine/walletCustody/walletRecoveryEd25519.js +0 -129
  1441. package/dist/esm/react/core/signingEngine/walletCustody/walletRecoveryManifest.js +0 -180
  1442. package/dist/esm/react/core/signingEngine/walletCustody/walletRecoveryRotation.js +0 -103
  1443. package/dist/esm/react/core/signingEngine/webauthnAuth/credentials/collectAuthenticationCredentialForChallengeB64u.js +0 -154
  1444. package/dist/esm/react/core/signingEngine/webauthnAuth/credentials/credentialExtensions.js +0 -36
  1445. package/dist/esm/react/core/signingEngine/webauthnAuth/credentials/helpers.js +0 -273
  1446. package/dist/esm/react/core/signingEngine/webauthnAuth/device/signerSlot.js +0 -25
  1447. package/dist/esm/react/core/signingEngine/webauthnAuth/fallbacks/safari-fallbacks.js +0 -171
  1448. package/dist/esm/react/core/signingEngine/workerManager/SignerWorkerManager.js +0 -70
  1449. package/dist/esm/react/core/signingEngine/workerManager/deviceLinkingPorts.js +0 -323
  1450. package/dist/esm/react/core/signingEngine/workerManager/deviceLinkingSourceContribution.js +0 -158
  1451. package/dist/esm/react/core/signingEngine/workerManager/ecdsaClientWorkerChannels.js +0 -17
  1452. package/dist/esm/react/core/signingEngine/workerManager/ecdsaPresignLifecycle.js +0 -6
  1453. package/dist/esm/react/core/signingEngine/workerManager/ecdsaPresignPoolIdentity.js +0 -49
  1454. package/dist/esm/react/core/signingEngine/workerManager/executeWorkerOperation.js +0 -12
  1455. package/dist/esm/react/core/signingEngine/workerManager/nearKeyOps/createNearKeyOps.js +0 -32
  1456. package/dist/esm/react/core/signingEngine/workerManager/validation.js +0 -114
  1457. package/dist/esm/react/core/signingEngine/workerManager/workerTransport.js +0 -777
  1458. package/dist/esm/react/core/signingEngine/workerManager/workerTypes.js +0 -109
  1459. package/dist/esm/react/core/types/accountIds.js +0 -26
  1460. package/dist/esm/react/core/types/actionBuilders.js +0 -73
  1461. package/dist/esm/react/core/types/confirmationConfig.js +0 -39
  1462. package/dist/esm/react/core/types/eventLogging.js +0 -28
  1463. package/dist/esm/react/core/types/linkDevice.js +0 -49
  1464. package/dist/esm/react/core/types/sdkSentEvents.js +0 -602
  1465. package/dist/esm/react/core/types/secure-confirm-worker.js +0 -22
  1466. package/dist/esm/react/core/types/signer-worker.js +0 -50
  1467. package/dist/esm/react/core/types/walletIframeIdentity.js +0 -15
  1468. package/dist/esm/react/core/walletRuntimePaths/base.js +0 -60
  1469. package/dist/esm/react/core/walletRuntimePaths/emailOtpWorker.js +0 -12
  1470. package/dist/esm/react/core/walletRuntimePaths/multichainWorkers.js +0 -25
  1471. package/dist/esm/react/core/walletRuntimePaths/walletCustodyCeremonyWorker.js +0 -18
  1472. package/dist/esm/react/core/walletRuntimePaths/workers.js +0 -93
  1473. package/dist/esm/react/externalEvm/boundary.js +0 -309
  1474. package/dist/esm/react/externalEvm/controller.js +0 -440
  1475. package/dist/esm/react/externalEvm/types.js +0 -31
  1476. package/dist/esm/react/node_modules/@noble/hashes/esm/_u64.js +0 -36
  1477. package/dist/esm/react/node_modules/@noble/hashes/esm/sha3.js +0 -197
  1478. package/dist/esm/react/node_modules/@noble/hashes/esm/utils.js +0 -87
  1479. package/dist/esm/react/node_modules/viem/_esm/errors/abi.js +0 -48
  1480. package/dist/esm/react/node_modules/viem/_esm/errors/address.js +0 -14
  1481. package/dist/esm/react/node_modules/viem/_esm/errors/base.js +0 -86
  1482. package/dist/esm/react/node_modules/viem/_esm/errors/data.js +0 -16
  1483. package/dist/esm/react/node_modules/viem/_esm/errors/encoding.js +0 -16
  1484. package/dist/esm/react/node_modules/viem/_esm/errors/typedData.js +0 -28
  1485. package/dist/esm/react/node_modules/viem/_esm/errors/version.js +0 -6
  1486. package/dist/esm/react/node_modules/viem/_esm/utils/abi/encodeAbiParameters.js +0 -243
  1487. package/dist/esm/react/node_modules/viem/_esm/utils/address/getAddress.js +0 -28
  1488. package/dist/esm/react/node_modules/viem/_esm/utils/address/isAddress.js +0 -23
  1489. package/dist/esm/react/node_modules/viem/_esm/utils/data/concat.js +0 -23
  1490. package/dist/esm/react/node_modules/viem/_esm/utils/data/isHex.js +0 -10
  1491. package/dist/esm/react/node_modules/viem/_esm/utils/data/pad.js +0 -40
  1492. package/dist/esm/react/node_modules/viem/_esm/utils/data/size.js +0 -16
  1493. package/dist/esm/react/node_modules/viem/_esm/utils/data/slice.js +0 -59
  1494. package/dist/esm/react/node_modules/viem/_esm/utils/encoding/fromHex.js +0 -13
  1495. package/dist/esm/react/node_modules/viem/_esm/utils/encoding/toBytes.js +0 -175
  1496. package/dist/esm/react/node_modules/viem/_esm/utils/encoding/toHex.js +0 -168
  1497. package/dist/esm/react/node_modules/viem/_esm/utils/hash/keccak256.js +0 -15
  1498. package/dist/esm/react/node_modules/viem/_esm/utils/lru.js +0 -38
  1499. package/dist/esm/react/node_modules/viem/_esm/utils/regex.js +0 -7
  1500. package/dist/esm/react/node_modules/viem/_esm/utils/signature/hashTypedData.js +0 -113
  1501. package/dist/esm/react/node_modules/viem/_esm/utils/stringify.js +0 -9
  1502. package/dist/esm/react/node_modules/viem/_esm/utils/typedData.js +0 -80
  1503. package/dist/esm/react/shared-ts/src/authorization/capabilityKinds.js +0 -111
  1504. package/dist/esm/react/shared-ts/src/authorization/delegatedAuthority.js +0 -121
  1505. package/dist/esm/react/shared-ts/src/authorization/index.js +0 -6
  1506. package/dist/esm/react/shared-ts/src/authorization/operationFingerprint.js +0 -57
  1507. package/dist/esm/react/shared-ts/src/authorization/walletAuthority.js +0 -719
  1508. package/dist/esm/react/shared-ts/src/authorization/walletCustodyOperation.js +0 -16
  1509. package/dist/esm/react/shared-ts/src/authorization/walletSessionIssuance.js +0 -118
  1510. package/dist/esm/react/shared-ts/src/device-linking/activeWalletSession.js +0 -104
  1511. package/dist/esm/react/shared-ts/src/device-linking/authorityActivation.js +0 -142
  1512. package/dist/esm/react/shared-ts/src/device-linking/committedSignerPackages.js +0 -273
  1513. package/dist/esm/react/shared-ts/src/device-linking/contracts.js +0 -8
  1514. package/dist/esm/react/shared-ts/src/device-linking/delegatedActivationPlan.js +0 -134
  1515. package/dist/esm/react/shared-ts/src/device-linking/deviceManagement.js +0 -120
  1516. package/dist/esm/react/shared-ts/src/device-linking/digests.js +0 -115
  1517. package/dist/esm/react/shared-ts/src/device-linking/ed25519ExportRoot.js +0 -171
  1518. package/dist/esm/react/shared-ts/src/device-linking/index.js +0 -12
  1519. package/dist/esm/react/shared-ts/src/device-linking/parsers.js +0 -1029
  1520. package/dist/esm/react/shared-ts/src/device-linking/requestProof.js +0 -25
  1521. package/dist/esm/react/shared-ts/src/device-linking/sourceContribution.js +0 -545
  1522. package/dist/esm/react/shared-ts/src/device-linking/walletSessionCredentialDelivery.js +0 -173
  1523. package/dist/esm/react/shared-ts/src/device-linking/wireFields.js +0 -59
  1524. package/dist/esm/react/shared-ts/src/near/actions.js +0 -236
  1525. package/dist/esm/react/shared-ts/src/near/nearClient.js +0 -252
  1526. package/dist/esm/react/shared-ts/src/passkey-custody/ceremonyCommitPayload.js +0 -43
  1527. package/dist/esm/react/shared-ts/src/passkey-custody/custodyEnvelope.js +0 -278
  1528. package/dist/esm/react/shared-ts/src/passkey-custody/custodySecretBinding.js +0 -181
  1529. package/dist/esm/react/shared-ts/src/passkey-custody/index.js +0 -4
  1530. package/dist/esm/react/shared-ts/src/passkey-custody/primitives.js +0 -58
  1531. package/dist/esm/react/shared-ts/src/signing-lanes/evmFamilySigningKeySlotId.js +0 -49
  1532. package/dist/esm/react/shared-ts/src/signing-lanes/index.js +0 -8
  1533. package/dist/esm/react/shared-ts/src/signing-lanes/ownerContinuity.js +0 -66
  1534. package/dist/esm/react/shared-ts/src/signing-lanes/participantDigest.js +0 -2
  1535. package/dist/esm/react/shared-ts/src/signing-lanes/participants.js +0 -256
  1536. package/dist/esm/react/shared-ts/src/signing-lanes/recordParsers.js +0 -483
  1537. package/dist/esm/react/shared-ts/src/signing-lanes/rotationDigests.js +0 -6
  1538. package/dist/esm/react/shared-ts/src/signing-lanes/rotationParsers.js +0 -3
  1539. package/dist/esm/react/shared-ts/src/signing-lanes/rotationProtocolParsers.js +0 -8
  1540. package/dist/esm/react/shared-ts/src/signing-lanes/rotationWireFields.js +0 -3
  1541. package/dist/esm/react/shared-ts/src/threshold/ecdsaDerivationRoleLocalBootstrap.js +0 -39
  1542. package/dist/esm/react/shared-ts/src/threshold/ed25519OperationFingerprint.js +0 -222
  1543. package/dist/esm/react/shared-ts/src/threshold/keyMaterialBrands.js +0 -25
  1544. package/dist/esm/react/shared-ts/src/threshold/participants.js +0 -67
  1545. package/dist/esm/react/shared-ts/src/threshold/secp256k1.js +0 -6
  1546. package/dist/esm/react/shared-ts/src/threshold/sessionPolicy.js +0 -8
  1547. package/dist/esm/react/shared-ts/src/threshold/signingRootScope.js +0 -40
  1548. package/dist/esm/react/shared-ts/src/utils/addAuthMethodRegistration.js +0 -103
  1549. package/dist/esm/react/shared-ts/src/utils/addWalletAuthMethod.js +0 -1
  1550. package/dist/esm/react/shared-ts/src/utils/authenticatorOptions.js +0 -22
  1551. package/dist/esm/react/shared-ts/src/utils/base58.js +0 -28
  1552. package/dist/esm/react/shared-ts/src/utils/base64.js +0 -70
  1553. package/dist/esm/react/shared-ts/src/utils/canonicalPrimitives.js +0 -38
  1554. package/dist/esm/react/shared-ts/src/utils/digestEncoding.js +0 -63
  1555. package/dist/esm/react/shared-ts/src/utils/digests.js +0 -33
  1556. package/dist/esm/react/shared-ts/src/utils/domainIds.js +0 -257
  1557. package/dist/esm/react/shared-ts/src/utils/ecdsaCapabilityActivation.js +0 -67
  1558. package/dist/esm/react/shared-ts/src/utils/ecdsaKeyFactsInventory.js +0 -46
  1559. package/dist/esm/react/shared-ts/src/utils/ecdsaServerTiming.js +0 -39
  1560. package/dist/esm/react/shared-ts/src/utils/emailOtpDomain.js +0 -28
  1561. package/dist/esm/react/shared-ts/src/utils/emailOtpRecoveryKey.js +0 -65
  1562. package/dist/esm/react/shared-ts/src/utils/encoders.js +0 -2
  1563. package/dist/esm/react/shared-ts/src/utils/errors.js +0 -95
  1564. package/dist/esm/react/shared-ts/src/utils/evmRpcResults.js +0 -101
  1565. package/dist/esm/react/shared-ts/src/utils/exactRecord.js +0 -44
  1566. package/dist/esm/react/shared-ts/src/utils/index.js +0 -38
  1567. package/dist/esm/react/shared-ts/src/utils/jsonRpc.js +0 -64
  1568. package/dist/esm/react/shared-ts/src/utils/keccak.js +0 -150
  1569. package/dist/esm/react/shared-ts/src/utils/near.js +0 -205
  1570. package/dist/esm/react/shared-ts/src/utils/nearRpcResults.js +0 -205
  1571. package/dist/esm/react/shared-ts/src/utils/normalize.js +0 -86
  1572. package/dist/esm/react/shared-ts/src/utils/registrationAuthMethodInput.js +0 -84
  1573. package/dist/esm/react/shared-ts/src/utils/registrationEstablishedSession.js +0 -275
  1574. package/dist/esm/react/shared-ts/src/utils/registrationIds.js +0 -226
  1575. package/dist/esm/react/shared-ts/src/utils/registrationIntent.js +0 -396
  1576. package/dist/esm/react/shared-ts/src/utils/registrationSignerPlan.js +0 -442
  1577. package/dist/esm/react/shared-ts/src/utils/routerAbEcdsaDerivation.js +0 -1334
  1578. package/dist/esm/react/shared-ts/src/utils/routerAbEd25519Yao.js +0 -747
  1579. package/dist/esm/react/shared-ts/src/utils/routerAbEd25519YaoDigests.js +0 -76
  1580. package/dist/esm/react/shared-ts/src/utils/routerAbNormalSigningIdentity.js +0 -115
  1581. package/dist/esm/react/shared-ts/src/utils/routerAbPublicKeyset.js +0 -11
  1582. package/dist/esm/react/shared-ts/src/utils/routerAbTraceContext.js +0 -36
  1583. package/dist/esm/react/shared-ts/src/utils/secureRandomId.js +0 -35
  1584. package/dist/esm/react/shared-ts/src/utils/signerDomain.js +0 -37
  1585. package/dist/esm/react/shared-ts/src/utils/signerSlot.js +0 -12
  1586. package/dist/esm/react/shared-ts/src/utils/signingSessionSeal.js +0 -98
  1587. package/dist/esm/react/shared-ts/src/utils/theme.js +0 -8
  1588. package/dist/esm/react/shared-ts/src/utils/thresholdEcdsaKeyHandle.js +0 -28
  1589. package/dist/esm/react/shared-ts/src/utils/validation.js +0 -92
  1590. package/dist/esm/react/shared-ts/src/utils/walletAddSignerActivation.js +0 -32
  1591. package/dist/esm/react/shared-ts/src/utils/walletAuthAuthority.js +0 -224
  1592. package/dist/esm/react/shared-ts/src/utils/walletAuthMethodRecord.js +0 -357
  1593. package/dist/esm/react/shared-ts/src/utils/walletCapabilityBindings.js +0 -277
  1594. package/dist/esm/react/shared-ts/src/utils/walletSessionFailure.js +0 -28
  1595. package/dist/esm/react/shared-ts/src/utils/webauthnDeviceInfo.js +0 -50
  1596. package/dist/esm/react/shared-ts/src/utils/wireSchema.js +0 -66
  1597. package/dist/esm/react/shared-ts/src/wallet-recovery/index.js +0 -10
  1598. package/dist/esm/react/shared-ts/src/wallet-recovery/recoveryCodeIssuance.js +0 -35
  1599. package/dist/esm/react/shared-ts/src/wallet-recovery/recoveryCodeLocator.js +0 -34
  1600. package/dist/esm/react/shared-ts/src/wallet-recovery/recoveryCodeReservation.js +0 -24
  1601. package/dist/esm/react/shared-ts/src/wallet-recovery/recoveryCodes.js +0 -3
  1602. package/dist/esm/react/shared-ts/src/wallet-recovery/recoveryKeyId.js +0 -14
  1603. package/dist/esm/react/shared-ts/src/wallet-recovery/walletRecoveryCommittedProjection.js +0 -254
  1604. package/dist/esm/react/shared-ts/src/wallet-recovery/walletRecoveryEcdsaPossession.js +0 -153
  1605. package/dist/esm/react/shared-ts/src/wallet-recovery/walletRecoveryEnvelopeSet.js +0 -84
  1606. package/dist/esm/react/shared-ts/src/wallet-recovery/walletRecoveryRotation.js +0 -64
  1607. package/dist/esm/react/theme/base-styles.js +0 -117
  1608. package/dist/esm/react/theme/palette.js +0 -170
  1609. package/dist/esm/react/utils/deviceDetection.js +0 -95
  1610. package/dist/esm/react/utils/intentDigest.js +0 -77
  1611. package/dist/esm/react/utils/qrScanner.js +0 -297
  1612. package/dist/esm/sdk/ConfirmationDrawer-MgFTBwwK.js +0 -425
  1613. package/dist/esm/sdk/EvmClient-f3gUhS2L.js +0 -644
  1614. package/dist/esm/sdk/NearClient-DY4NfHeD.js +0 -402
  1615. package/dist/esm/sdk/NonceCoordinator-4XWPhYww.js +0 -2253
  1616. package/dist/esm/sdk/accountIds-DhIPGOSN.js +0 -23
  1617. package/dist/esm/sdk/accountLifecycle-BAGG_rbk.js +0 -1341
  1618. package/dist/esm/sdk/actions-CCvThiKe.js +0 -225
  1619. package/dist/esm/sdk/adapters-B4JeK1nJ.js +0 -4864
  1620. package/dist/esm/sdk/base-D1B5mGin.js +0 -64
  1621. package/dist/esm/sdk/base64-Clm8C-e9.js +0 -68
  1622. package/dist/esm/sdk/browser-D6eZGhzE.js +0 -2393
  1623. package/dist/esm/sdk/bytes-qKxKn4gg.js +0 -40
  1624. package/dist/esm/sdk/canonicalPrimitives-BTHWz80v.js +0 -36
  1625. package/dist/esm/sdk/canonicalSignerErrorCode-CRoJMVpp.js +0 -153
  1626. package/dist/esm/sdk/capabilityKinds-hvYqa6S_.js +0 -109
  1627. package/dist/esm/sdk/chains-BMh3btVo.js +0 -124
  1628. package/dist/esm/sdk/challengeDelivery-Dd0586fo.js +0 -74
  1629. package/dist/esm/sdk/chunk-BtrIJ4_z.js +0 -33
  1630. package/dist/esm/sdk/configHelpers-vAQCzUD0.js +0 -179
  1631. package/dist/esm/sdk/csp-stylesheet-btENhsNp.js +0 -215
  1632. package/dist/esm/sdk/defaultConfigs-B3c16M_8.js +0 -355
  1633. package/dist/esm/sdk/display-KdIL0ff7.js +0 -126
  1634. package/dist/esm/sdk/domainIds-lcrFg6Sa.js +0 -338
  1635. package/dist/esm/sdk/ecdsaCapabilityManifest-kzO_fW09.js +0 -817
  1636. package/dist/esm/sdk/ecdsaChainTarget-Bl-JWyuw.js +0 -121
  1637. package/dist/esm/sdk/ecdsaPresignLifecycle-BFOTNYCK.js +0 -1983
  1638. package/dist/esm/sdk/ecdsaPresignPoolIdentity-BjxZVIqn.js +0 -47
  1639. package/dist/esm/sdk/ecdsaWalletRecords-Cz4m6bIz.js +0 -18
  1640. package/dist/esm/sdk/encoders-D8d07vpx.js +0 -0
  1641. package/dist/esm/sdk/enrichDisplayModelWithAbi-CWggsykc.js +0 -395
  1642. package/dist/esm/sdk/enrichDisplayModelWithAbi-SDRwTd_M.js +0 -579
  1643. package/dist/esm/sdk/errors-93h9uAW9.js +0 -92
  1644. package/dist/esm/sdk/events-DYoBL2HO.js +0 -8
  1645. package/dist/esm/sdk/evmCryptoWasm-DWklhEEb.js +0 -196
  1646. package/dist/esm/sdk/evmFamilyEcdsaIdentity-Co5XDcEA.js +0 -4288
  1647. package/dist/esm/sdk/exactSessionState-CiD5fBEs.js +0 -2612
  1648. package/dist/esm/sdk/exactSigningLaneIdentity-DQeqPMST.js +0 -335
  1649. package/dist/esm/sdk/executeWorkerOperation-Cl9whMK7.js +0 -10
  1650. package/dist/esm/sdk/export-viewer-host-ZqA2Yz3H.js +0 -204
  1651. package/dist/esm/sdk/helpers-ZrowMnev.js +0 -302
  1652. package/dist/esm/sdk/host-BWBbCAMu.js +0 -533
  1653. package/dist/esm/sdk/intentDigest-CvOSNlCH.js +0 -75
  1654. package/dist/esm/sdk/jsonRpc-VVkaQkFD.js +0 -62
  1655. package/dist/esm/sdk/jsxRuntime.module-CuH5ZEIA.js +0 -298
  1656. package/dist/esm/sdk/keccak-DUL3d8SF.js +0 -148
  1657. package/dist/esm/sdk/keyMaterialBrands-CX41hur6.js +0 -94
  1658. package/dist/esm/sdk/localOnly-Bg8UuLZ5.js +0 -146
  1659. package/dist/esm/sdk/messages-C7Dbx9iN.js +0 -594
  1660. package/dist/esm/sdk/mountExportPrivateKeySurface-DgX-IBG_.js +0 -542
  1661. package/dist/esm/sdk/mountRecoveryCodeBackupSurface-DXrExiJ7.js +0 -590
  1662. package/dist/esm/sdk/nearEd25519YaoMaterialActivation-DPb0s3hQ.js +0 -4008
  1663. package/dist/esm/sdk/nearEd25519YaoSigningPreparation-BeD-SmbK.js +0 -405
  1664. package/dist/esm/sdk/nearRpcResults-DoUgDATm.js +0 -216
  1665. package/dist/esm/sdk/nonceLaneKeys-C3c9lG6u.js +0 -164
  1666. package/dist/esm/sdk/normalization-CBt413-z.js +0 -22
  1667. package/dist/esm/sdk/operationFingerprint-C8Trar4R.js +0 -929
  1668. package/dist/esm/sdk/operationFingerprint-CGZui5dR.js +0 -55
  1669. package/dist/esm/sdk/passkey-custody-Bk1jAknm.js +0 -487
  1670. package/dist/esm/sdk/pendingWalletRecoveryCodeBackup-DLzBb3WQ.js +0 -237
  1671. package/dist/esm/sdk/prfCache-wqQSjYLn.js +0 -58
  1672. package/dist/esm/sdk/profileAccountProjection-uZVJuBvS.js +0 -86
  1673. package/dist/esm/sdk/promptText-CuRa_ivd.js +0 -32
  1674. package/dist/esm/sdk/recovery-entrypoint-DW2tGyMs.js +0 -779
  1675. package/dist/esm/sdk/registration-BZDzDv91.js +0 -14414
  1676. package/dist/esm/sdk/registration-BzVHODuD.js +0 -233
  1677. package/dist/esm/sdk/registrationAccounts-CKku_Sgy.js +0 -33
  1678. package/dist/esm/sdk/registrationIds-DLSdEKSv.js +0 -310
  1679. package/dist/esm/sdk/registrationIntent-D0PxwEY4.js +0 -393
  1680. package/dist/esm/sdk/registrationPreparationPreload-CIAuRlxI.js +0 -13
  1681. package/dist/esm/sdk/registrationSignerPlan-CAikVZZQ.js +0 -440
  1682. package/dist/esm/sdk/relayerHttp-VC8Holz1.js +0 -24
  1683. package/dist/esm/sdk/routePlan-D59x5xzQ.js +0 -83
  1684. package/dist/esm/sdk/router-C5lF_J_u.js +0 -4721
  1685. package/dist/esm/sdk/routerAbNormalSigning-fhvpDtmY.js +0 -992
  1686. package/dist/esm/sdk/runtime-auth-DFTqwj3u.js +0 -5540
  1687. package/dist/esm/sdk/runtime-device-link-C1Oub8Lw.js +0 -259
  1688. package/dist/esm/sdk/runtime-ecdsa-tempo-rkWwolw1.js +0 -177
  1689. package/dist/esm/sdk/runtime-email-otp-vuUG5LYl.js +0 -320
  1690. package/dist/esm/sdk/runtime-export-FZWj0HxJ.js +0 -112
  1691. package/dist/esm/sdk/runtime-near-B9cjurVD.js +0 -278
  1692. package/dist/esm/sdk/runtime-preferences-Dq0bfyS5.js +0 -67
  1693. package/dist/esm/sdk/runtime-recovery-C-vfFKF3.js +0 -45
  1694. package/dist/esm/sdk/runtime-recovery-codes-bTm3fLV4.js +0 -95
  1695. package/dist/esm/sdk/runtimeContext-iLXnxVlZ.js +0 -44443
  1696. package/dist/esm/sdk/runtimeLoader-hod6T2-m.js +0 -44
  1697. package/dist/esm/sdk/sdkSentEvents-MqDkbQg1.js +0 -599
  1698. package/dist/esm/sdk/secp256k1-el9aE4Sv.js +0 -2504
  1699. package/dist/esm/sdk/secureRandomId-BORsmdS4.js +0 -33
  1700. package/dist/esm/sdk/sessionPolicy-CHiilOAB.js +0 -453
  1701. package/dist/esm/sdk/shared-DkbeLCI3.js +0 -33
  1702. package/dist/esm/sdk/signEvmFamily-e4IWWsZs.js +0 -4666
  1703. package/dist/esm/sdk/signEvmFamilyWithUiConfirmForTempo-Cu9qdk8M.js +0 -226
  1704. package/dist/esm/sdk/signEvmWithUiConfirm-C61TCBnh.js +0 -27
  1705. package/dist/esm/sdk/signNear-Bblwn2kT.js +0 -5929
  1706. package/dist/esm/sdk/signatureUses-BkGyYt8F.js +0 -51
  1707. package/dist/esm/sdk/signerDomain-IEAVrOrc.js +0 -59
  1708. package/dist/esm/sdk/signerLoader-D7Aey0FD.js +0 -23
  1709. package/dist/esm/sdk/signerSlot-_ovonwVX.js +0 -10
  1710. package/dist/esm/sdk/signingFlow-rZfPegH9.js +0 -1320
  1711. package/dist/esm/sdk/signingSessionSeal-Cu-GHm6y.js +0 -96
  1712. package/dist/esm/sdk/surface-measurement-reporter-CSTyRsMa.js +0 -156
  1713. package/dist/esm/sdk/trace-rHe0wz7q.js +0 -127
  1714. package/dist/esm/sdk/transaction-activity-CSMCveBn.js +0 -218
  1715. package/dist/esm/sdk/transactionReview-DpHLTznU.js +0 -100
  1716. package/dist/esm/sdk/transactionReviewAdmission-BCPvl8OZ.js +0 -172
  1717. package/dist/esm/sdk/transactionState-DP9O8F6f.js +0 -1885
  1718. package/dist/esm/sdk/types-Dx9fczU7.js +0 -111
  1719. package/dist/esm/sdk/validation-gat4LEKm.js +0 -409
  1720. package/dist/esm/sdk/wallet-recovery-Bz9qKgaL.js +0 -1905
  1721. package/dist/esm/sdk/walletAuthority-BQBxgUBn.js +0 -1251
  1722. package/dist/esm/sdk/walletCustodyEcdsaContinuity-Hn4ORIbf.js +0 -11130
  1723. package/dist/esm/sdk/walletIframeIdentity-DB6Z2EC9.js +0 -13
  1724. package/dist/esm/sdk/walletRecoveryCommit-sjGNTHUj.js +0 -2159
  1725. package/dist/esm/sdk/walletRecoveryRotate-BgLlW5ih.js +0 -309
  1726. package/dist/esm/sdk/warmSessionHydration-Os8niEm7.js +0 -7
  1727. package/dist/esm/sdk/webauthnP256-DC5EIbKN.js +0 -82
  1728. package/dist/esm/sdk/webauthnPromptCoordinator-L96oVvLz.js +0 -168
  1729. package/dist/esm/shared-ts/src/signing-lanes/rotationDigests.js +0 -6
  1730. package/dist/esm/shared-ts/src/signing-lanes/rotationParsers.js +0 -3
  1731. package/dist/esm/shared-ts/src/signing-lanes/rotationProtocolParsers.js +0 -8
  1732. package/dist/esm/shared-ts/src/signing-lanes/rotationWireFields.js +0 -3
  1733. package/dist/esm/shared-ts/src/utils/addWalletAuthMethod.js +0 -1
  1734. package/dist/esm/styles.css +0 -43
  1735. package/dist/public/sdk/ConfirmationDrawer-MgFTBwwK.js +0 -425
  1736. package/dist/public/sdk/EvmClient-f3gUhS2L.js +0 -644
  1737. package/dist/public/sdk/NearClient-DY4NfHeD.js +0 -402
  1738. package/dist/public/sdk/NonceCoordinator-4XWPhYww.js +0 -2253
  1739. package/dist/public/sdk/accountIds-DhIPGOSN.js +0 -23
  1740. package/dist/public/sdk/accountLifecycle-BAGG_rbk.js +0 -1341
  1741. package/dist/public/sdk/actions-CCvThiKe.js +0 -225
  1742. package/dist/public/sdk/adapters-B4JeK1nJ.js +0 -4864
  1743. package/dist/public/sdk/base-D1B5mGin.js +0 -64
  1744. package/dist/public/sdk/base64-Clm8C-e9.js +0 -68
  1745. package/dist/public/sdk/browser-D6eZGhzE.js +0 -2393
  1746. package/dist/public/sdk/bytes-qKxKn4gg.js +0 -40
  1747. package/dist/public/sdk/canonicalPrimitives-BTHWz80v.js +0 -36
  1748. package/dist/public/sdk/canonicalSignerErrorCode-CRoJMVpp.js +0 -153
  1749. package/dist/public/sdk/capabilityKinds-hvYqa6S_.js +0 -109
  1750. package/dist/public/sdk/chains-BMh3btVo.js +0 -124
  1751. package/dist/public/sdk/challengeDelivery-Dd0586fo.js +0 -74
  1752. package/dist/public/sdk/chunk-BtrIJ4_z.js +0 -33
  1753. package/dist/public/sdk/configHelpers-vAQCzUD0.js +0 -179
  1754. package/dist/public/sdk/csp-stylesheet-btENhsNp.js +0 -215
  1755. package/dist/public/sdk/defaultConfigs-B3c16M_8.js +0 -355
  1756. package/dist/public/sdk/display-KdIL0ff7.js +0 -126
  1757. package/dist/public/sdk/domainIds-lcrFg6Sa.js +0 -338
  1758. package/dist/public/sdk/ecdsaCapabilityManifest-kzO_fW09.js +0 -817
  1759. package/dist/public/sdk/ecdsaChainTarget-Bl-JWyuw.js +0 -121
  1760. package/dist/public/sdk/ecdsaPresignLifecycle-BFOTNYCK.js +0 -1983
  1761. package/dist/public/sdk/ecdsaPresignPoolIdentity-BjxZVIqn.js +0 -47
  1762. package/dist/public/sdk/ecdsaWalletRecords-Cz4m6bIz.js +0 -18
  1763. package/dist/public/sdk/encoders-D8d07vpx.js +0 -0
  1764. package/dist/public/sdk/enrichDisplayModelWithAbi-CWggsykc.js +0 -395
  1765. package/dist/public/sdk/enrichDisplayModelWithAbi-SDRwTd_M.js +0 -579
  1766. package/dist/public/sdk/errors-93h9uAW9.js +0 -92
  1767. package/dist/public/sdk/events-DYoBL2HO.js +0 -8
  1768. package/dist/public/sdk/evmCryptoWasm-DWklhEEb.js +0 -196
  1769. package/dist/public/sdk/evmFamilyEcdsaIdentity-Co5XDcEA.js +0 -4288
  1770. package/dist/public/sdk/exactSessionState-CiD5fBEs.js +0 -2612
  1771. package/dist/public/sdk/exactSigningLaneIdentity-DQeqPMST.js +0 -335
  1772. package/dist/public/sdk/executeWorkerOperation-Cl9whMK7.js +0 -10
  1773. package/dist/public/sdk/export-viewer-host-ZqA2Yz3H.js +0 -204
  1774. package/dist/public/sdk/helpers-ZrowMnev.js +0 -302
  1775. package/dist/public/sdk/host-BWBbCAMu.js +0 -533
  1776. package/dist/public/sdk/intentDigest-CvOSNlCH.js +0 -75
  1777. package/dist/public/sdk/jsonRpc-VVkaQkFD.js +0 -62
  1778. package/dist/public/sdk/jsxRuntime.module-CuH5ZEIA.js +0 -298
  1779. package/dist/public/sdk/keccak-DUL3d8SF.js +0 -148
  1780. package/dist/public/sdk/keyMaterialBrands-CX41hur6.js +0 -94
  1781. package/dist/public/sdk/localOnly-Bg8UuLZ5.js +0 -146
  1782. package/dist/public/sdk/messages-C7Dbx9iN.js +0 -594
  1783. package/dist/public/sdk/mountExportPrivateKeySurface-DgX-IBG_.js +0 -542
  1784. package/dist/public/sdk/mountRecoveryCodeBackupSurface-DXrExiJ7.js +0 -590
  1785. package/dist/public/sdk/nearEd25519YaoMaterialActivation-DPb0s3hQ.js +0 -4008
  1786. package/dist/public/sdk/nearEd25519YaoSigningPreparation-BeD-SmbK.js +0 -405
  1787. package/dist/public/sdk/nearRpcResults-DoUgDATm.js +0 -216
  1788. package/dist/public/sdk/nonceLaneKeys-C3c9lG6u.js +0 -164
  1789. package/dist/public/sdk/normalization-CBt413-z.js +0 -22
  1790. package/dist/public/sdk/operationFingerprint-C8Trar4R.js +0 -929
  1791. package/dist/public/sdk/operationFingerprint-CGZui5dR.js +0 -55
  1792. package/dist/public/sdk/passkey-custody-Bk1jAknm.js +0 -487
  1793. package/dist/public/sdk/pendingWalletRecoveryCodeBackup-DLzBb3WQ.js +0 -237
  1794. package/dist/public/sdk/prfCache-wqQSjYLn.js +0 -58
  1795. package/dist/public/sdk/profileAccountProjection-uZVJuBvS.js +0 -86
  1796. package/dist/public/sdk/promptText-CuRa_ivd.js +0 -32
  1797. package/dist/public/sdk/recovery-entrypoint-DW2tGyMs.js +0 -779
  1798. package/dist/public/sdk/registration-BZDzDv91.js +0 -14414
  1799. package/dist/public/sdk/registration-BzVHODuD.js +0 -233
  1800. package/dist/public/sdk/registrationAccounts-CKku_Sgy.js +0 -33
  1801. package/dist/public/sdk/registrationIds-DLSdEKSv.js +0 -310
  1802. package/dist/public/sdk/registrationIntent-D0PxwEY4.js +0 -393
  1803. package/dist/public/sdk/registrationPreparationPreload-CIAuRlxI.js +0 -13
  1804. package/dist/public/sdk/registrationSignerPlan-CAikVZZQ.js +0 -440
  1805. package/dist/public/sdk/relayerHttp-VC8Holz1.js +0 -24
  1806. package/dist/public/sdk/routePlan-D59x5xzQ.js +0 -83
  1807. package/dist/public/sdk/router-C5lF_J_u.js +0 -4721
  1808. package/dist/public/sdk/routerAbNormalSigning-fhvpDtmY.js +0 -992
  1809. package/dist/public/sdk/runtime-auth-DFTqwj3u.js +0 -5540
  1810. package/dist/public/sdk/runtime-device-link-C1Oub8Lw.js +0 -259
  1811. package/dist/public/sdk/runtime-ecdsa-tempo-rkWwolw1.js +0 -177
  1812. package/dist/public/sdk/runtime-email-otp-vuUG5LYl.js +0 -320
  1813. package/dist/public/sdk/runtime-export-FZWj0HxJ.js +0 -112
  1814. package/dist/public/sdk/runtime-near-B9cjurVD.js +0 -278
  1815. package/dist/public/sdk/runtime-preferences-Dq0bfyS5.js +0 -67
  1816. package/dist/public/sdk/runtime-recovery-C-vfFKF3.js +0 -45
  1817. package/dist/public/sdk/runtime-recovery-codes-bTm3fLV4.js +0 -95
  1818. package/dist/public/sdk/runtimeContext-iLXnxVlZ.js +0 -44443
  1819. package/dist/public/sdk/runtimeLoader-hod6T2-m.js +0 -44
  1820. package/dist/public/sdk/sdkSentEvents-MqDkbQg1.js +0 -599
  1821. package/dist/public/sdk/secp256k1-el9aE4Sv.js +0 -2504
  1822. package/dist/public/sdk/secureRandomId-BORsmdS4.js +0 -33
  1823. package/dist/public/sdk/sessionPolicy-CHiilOAB.js +0 -453
  1824. package/dist/public/sdk/shared-DkbeLCI3.js +0 -33
  1825. package/dist/public/sdk/signEvmFamily-e4IWWsZs.js +0 -4666
  1826. package/dist/public/sdk/signEvmFamilyWithUiConfirmForTempo-Cu9qdk8M.js +0 -226
  1827. package/dist/public/sdk/signEvmWithUiConfirm-C61TCBnh.js +0 -27
  1828. package/dist/public/sdk/signNear-Bblwn2kT.js +0 -5929
  1829. package/dist/public/sdk/signatureUses-BkGyYt8F.js +0 -51
  1830. package/dist/public/sdk/signerDomain-IEAVrOrc.js +0 -59
  1831. package/dist/public/sdk/signerLoader-D7Aey0FD.js +0 -23
  1832. package/dist/public/sdk/signerSlot-_ovonwVX.js +0 -10
  1833. package/dist/public/sdk/signingFlow-rZfPegH9.js +0 -1320
  1834. package/dist/public/sdk/signingSessionSeal-Cu-GHm6y.js +0 -96
  1835. package/dist/public/sdk/surface-measurement-reporter-CSTyRsMa.js +0 -156
  1836. package/dist/public/sdk/trace-rHe0wz7q.js +0 -127
  1837. package/dist/public/sdk/transaction-activity-CSMCveBn.js +0 -218
  1838. package/dist/public/sdk/transactionReview-DpHLTznU.js +0 -100
  1839. package/dist/public/sdk/transactionReviewAdmission-BCPvl8OZ.js +0 -172
  1840. package/dist/public/sdk/transactionState-DP9O8F6f.js +0 -1885
  1841. package/dist/public/sdk/types-Dx9fczU7.js +0 -111
  1842. package/dist/public/sdk/validation-gat4LEKm.js +0 -409
  1843. package/dist/public/sdk/wallet-recovery-Bz9qKgaL.js +0 -1905
  1844. package/dist/public/sdk/walletAuthority-BQBxgUBn.js +0 -1251
  1845. package/dist/public/sdk/walletCustodyEcdsaContinuity-Hn4ORIbf.js +0 -11130
  1846. package/dist/public/sdk/walletIframeIdentity-DB6Z2EC9.js +0 -13
  1847. package/dist/public/sdk/walletRecoveryCommit-sjGNTHUj.js +0 -2159
  1848. package/dist/public/sdk/walletRecoveryRotate-BgLlW5ih.js +0 -309
  1849. package/dist/public/sdk/warmSessionHydration-Os8niEm7.js +0 -7
  1850. package/dist/public/sdk/webauthnP256-DC5EIbKN.js +0 -82
  1851. package/dist/public/sdk/webauthnPromptCoordinator-L96oVvLz.js +0 -168
  1852. package/dist/types/shared-ts/src/signing-lanes/participantDigest.typecheck.d.ts +0 -2
  1853. package/dist/types/shared-ts/src/signing-lanes/rotation.typecheck.d.ts +0 -2
  1854. package/dist/types/shared-ts/src/signing-lanes/rotationDigests.d.ts +0 -13
  1855. package/dist/types/shared-ts/src/signing-lanes/rotationLifecycle.d.ts +0 -78
  1856. package/dist/types/shared-ts/src/signing-lanes/rotationParsers.d.ts +0 -27
  1857. package/dist/types/shared-ts/src/signing-lanes/rotationProtocolParsers.d.ts +0 -6
  1858. package/dist/types/shared-ts/src/signing-lanes/rotationWireFields.d.ts +0 -20
  1859. package/dist/types/shared-ts/src/wallet-recovery/recoveryCodeAttempt.d.ts +0 -59
  1860. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/transport/webauthn-bridge.d.ts +0 -3
  1861. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/laneHolderMaterialStore.d.ts +0 -52
  1862. package/dist/types/wallet/src/core/signingEngine/interfaces/nearKeyOps.d.ts +0 -15
  1863. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/coordinatorRuntime.d.ts +0 -43
  1864. package/dist/types/wallet/src/core/signingEngine/session/holderShares/forbiddenHolderSharePayloads.typecheck.d.ts +0 -2
  1865. package/dist/types/wallet/src/core/signingEngine/session/holderShares/holderShareHandle.d.ts +0 -6
  1866. package/dist/types/wallet/src/core/signingEngine/session/identity/emailOtpEcdsaDerivationIdentity.typecheck.d.ts +0 -2
  1867. package/dist/types/wallet/src/core/signingEngine/session/lanes/operations/activationCoordinator.d.ts +0 -37
  1868. package/dist/types/wallet/src/core/signingEngine/session/lanes/operations/laneMaterialInvalidation.d.ts +0 -23
  1869. package/dist/types/wallet/src/core/signingEngine/session/lanes/operations/operations.typecheck.d.ts +0 -2
  1870. package/dist/types/wallet/src/core/signingEngine/session/lanes/operations/recipientPreparation.d.ts +0 -55
  1871. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/ecdsaProvisionPlan.typecheck.d.ts +0 -6
  1872. package/dist/types/wallet/src/core/signingEngine/threshold/crypto/ecdsaLaneWasm.d.ts +0 -4
  1873. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/transaction-display/renderers/evm.d.ts +0 -5
  1874. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/transaction-display/renderers/near.d.ts +0 -5
  1875. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/transaction-display/renderers/tempo.d.ts +0 -5
  1876. package/dist/types/wallet/src/core/signingEngine/webauthnAuth/fallbacks/safari-fallbacks.d.ts +0 -44
  1877. package/dist/types/wallet/src/core/signingEngine/workerManager/nearKeyOps/createNearKeyOps.d.ts +0 -4
  1878. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/ecdsaLaneHolderWorkerRuntime.d.ts +0 -20
  1879. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/passkeyCustodyLink.d.ts +0 -18
  1880. /package/dist/esm/{react/SeamsWeb → SeamsWeb}/assembly/preconnectWalletAssets.js +0 -0
@@ -1,4008 +0,0 @@
1
- import { D as parseWalletAuthorityId, M as parseWebAuthnRpId, O as parseWalletId, S as parseThresholdEd25519SessionId, T as parseWalletAuthMethodId, f as parseMpcCapabilityRuntimeRef, h as parseMpcMaterialActivationRef, j as parseWebAuthnCredentialIdB64u, r as mpcMaterialActivationRefsEqual, x as parseThresholdEcdsaSessionId, y as parseRootShareEpoch } from "./domainIds-lcrFg6Sa.js";
2
- import { D as parseImplicitNearAccountId, O as parseNamedNearAccountId, d as isPlainObject, k as parseNearAccountId, u as isObject } from "./validation-gat4LEKm.js";
3
- import { t as errorMessage } from "./errors-93h9uAW9.js";
4
- import { r as base64UrlDecode } from "./base64-Clm8C-e9.js";
5
- import { h as normalizeRuntimePolicyScope, o as normalizeThresholdRuntimePolicyScope } from "./sessionPolicy-CHiilOAB.js";
6
- import { $ as parseWalletAuthAuthority, Ct as routerAbMpcMaterialActivationRefFromWire, D as parseRouterAbEcdsaRegistrationPublicActivationReceiptV1, O as parseRouterAbEcdsaRegistrationRequestFactsV1, Ot as parseActiveWalletSessionV1, T as parseRouterAbEcdsaPostRegistrationSessionActivationResponseV1, X as isPasskeyWalletAuthAuthority, _ as parseRouterAbEcdsaDerivationNormalSigningStateV1, c as ROUTER_AB_ECDSA_DERIVATION_SESSION_ACTIVATION_PATH, j as requireRouterAbEcdsaDerivationNormalSigningStateV1, k as parseRouterAbEcdsaStrictForwardedRegistrationResponseV1, kt as parseWalletSessionOperationCredentialV1, v as parseRouterAbEcdsaDerivationPublicCapabilityV1 } from "./ecdsaPresignLifecycle-BFOTNYCK.js";
7
- import { d as parseMpcWalletSigningQuotaId, g as parseWalletSessionMintId, h as parseWalletSessionId, m as parseWalletSessionAuthorizationId } from "./capabilityKinds-hvYqa6S_.js";
8
- import { f as alphabetizeStringify } from "./chains-BMh3btVo.js";
9
- import { o as sha256Utf8DigestB64u, r as parseDigestB64u } from "./canonicalPrimitives-BTHWz80v.js";
10
- import { a as thresholdEcdsaChainTargetFromRequest, c as toWalletId, l as walletIdFromWalletProfile, o as thresholdEcdsaChainTargetKey, s as thresholdEcdsaChainTargetsEqual } from "./ecdsaChainTarget-Bl-JWyuw.js";
11
- import { n as SIGNER_AUTH_METHODS, r as SIGNER_KINDS } from "./signerDomain-IEAVrOrc.js";
12
- import { O as parseThresholdEcdsaKeyHandle, S as toThresholdEcdsaPublicKeyB64u, a as buildEvmFamilyEcdsaWalletKey, fn as parseWalletAddAuthMethodRegistrationOptions, g as resolveThresholdEcdsaKeyIdFromRecord, h as parseThresholdSigningRootBinding, rt as parseWebAuthnAuthenticatorDeviceInfo, sn as parseRouterAbEd25519YaoRegistrationAdmissionRequestV1, y as toEvmFamilyEcdsaKeyHandle } from "./evmFamilyEcdsaIdentity-Co5XDcEA.js";
13
- import { u as parseWalletAuthorityV1, w as parseWalletAuthMethodRecordV2 } from "./walletAuthority-BQBxgUBn.js";
14
- import { a as parseNearEd25519SigningKeyId, l as normalizeRegistrationAuthMethodInput, o as walletIdFromString } from "./registrationIds-DLSdEKSv.js";
15
- import { d as parsePasskeyCustodyEnvelopeRecord, t as parseWalletCustodyRegistrationOutcome } from "./passkey-custody-Bk1jAknm.js";
16
- import { l as parseRouterAbEd25519NormalSigningState, u as requireRouterAbEd25519NormalSigningState } from "./signingSessionSeal-Cu-GHm6y.js";
17
- import { o as normalizeRegistrationSignerPlan, u as registrationSignerSetSelectionFromPlan } from "./registrationSignerPlan-CAikVZZQ.js";
18
- import { a as parseAddAuthMethodIntentV1, c as sameAddSignerIntentV1, i as computeRegistrationIntentDigestB64u, n as addSignerIntentGrantFromString, o as parseAddSignerIntentV1, s as sameAddAuthMethodIntentV1, t as addAuthMethodIntentGrantFromString } from "./registrationIntent-D0PxwEY4.js";
19
- import { a as toEcdsaDerivationThresholdKeyId } from "./challengeDelivery-Dd0586fo.js";
20
- import { n as buildRelayerJsonPostRequestInit, r as normalizeRelayerBaseUrl, t as buildBearerAuthorizationHeader } from "./relayerHttp-VC8Holz1.js";
21
- //#region ../shared-ts/src/utils/registrationEstablishedSession.ts
22
- function parseRegistrationEstablishedSessionResultV2(raw) {
23
- const result = inspectRawObject(raw);
24
- if (!result || !("kind" in result) || typeof result.kind !== "string") return null;
25
- switch (result.kind) {
26
- case "issued": {
27
- if (!hasExactKeys(result, ["kind", "session"]) || !("session" in result)) return null;
28
- const session = parseRegistrationEstablishedSessionV2(result.session);
29
- return session === null ? null : {
30
- kind: "issued",
31
- session
32
- };
33
- }
34
- case "already_committed": {
35
- if (!hasExactKeys(result, [
36
- "kind",
37
- "session",
38
- "next"
39
- ]) || !("session" in result) || !("next" in result)) return null;
40
- if (result.next !== "unlock_exact_method") return null;
41
- const session = parseRegistrationEstablishedSessionProjectionV2(result.session);
42
- return session === null ? null : {
43
- kind: "already_committed",
44
- session,
45
- next: result.next
46
- };
47
- }
48
- default: return null;
49
- }
50
- }
51
- function parseRegistrationEstablishedSessionV2(raw) {
52
- try {
53
- const record = inspectRawObject(raw);
54
- if (!record || !hasExactKeys(record, [
55
- "kind",
56
- "walletId",
57
- "authorizationId",
58
- "walletSessionId",
59
- "quotaId",
60
- "expiresAtMs",
61
- "remainingUses",
62
- "walletSession",
63
- "operationCredential",
64
- "tokens"
65
- ]) || !("kind" in record) || !("walletId" in record) || !("authorizationId" in record) || !("walletSessionId" in record) || !("quotaId" in record) || !("expiresAtMs" in record) || !("remainingUses" in record) || !("walletSession" in record) || !("operationCredential" in record) || !("tokens" in record) || record.kind !== "registration_established_wallet_session_v2") return null;
66
- const walletId = parseWalletId(record.walletId);
67
- const walletSessionId = parseWalletSessionId(record.walletSessionId);
68
- const authorizationId = parseWalletSessionAuthorizationId(record.authorizationId);
69
- const quotaId = parseMpcWalletSigningQuotaId(record.quotaId);
70
- if (!walletId.ok || !authorizationId.ok || !walletSessionId.ok || !quotaId.ok) return null;
71
- const expiresAtMs = parseNonNegativeSafeInteger(record.expiresAtMs);
72
- const remainingUses = parseNonNegativeSafeInteger(record.remainingUses);
73
- if (expiresAtMs === null || expiresAtMs <= 0 || remainingUses === null || remainingUses <= 0) return null;
74
- const walletSession = parseActiveWalletSessionV1(record.walletSession);
75
- const operationCredential = parseWalletSessionOperationCredentialV1(record.operationCredential);
76
- if (walletSession.walletId !== walletId.value || walletSession.authorizationId !== authorizationId.value || walletSession.quotaId !== quotaId.value || walletSession.expiresAtMs !== expiresAtMs || operationCredential.walletSessionId !== walletSessionId.value) return null;
77
- const tokens = parseRegistrationEstablishedSessionProjectionTokensV2(record.tokens);
78
- if (tokens === null) return null;
79
- if (!registrationSessionTokensMatchCapabilities(walletSession, tokens)) return null;
80
- return {
81
- kind: "registration_established_wallet_session_v2",
82
- walletId: walletId.value,
83
- authorizationId: authorizationId.value,
84
- walletSessionId: walletSessionId.value,
85
- quotaId: quotaId.value,
86
- expiresAtMs,
87
- remainingUses,
88
- walletSession,
89
- operationCredential,
90
- tokens
91
- };
92
- } catch {
93
- return null;
94
- }
95
- }
96
- function registrationSessionTokensMatchCapabilities(walletSession, tokens) {
97
- switch (tokens.kind) {
98
- case "evm_family_ecdsa": return hasRegistrationSigningCapability(walletSession, "ecdsa_secp256k1", tokens.ecdsa.materialActivation) && !hasUnexpectedRegistrationSigningFamily(walletSession, "ecdsa_secp256k1");
99
- case "near_ed25519": return hasRegistrationSigningCapability(walletSession, "ed25519", tokens.ed25519.materialActivation) && !hasUnexpectedRegistrationSigningFamily(walletSession, "ed25519");
100
- case "near_ed25519_and_evm_family_ecdsa": return hasRegistrationSigningCapability(walletSession, "ecdsa_secp256k1", tokens.ecdsa.materialActivation) && hasRegistrationSigningCapability(walletSession, "ed25519", tokens.ed25519.materialActivation) && !hasUnexpectedRegistrationSigningFamily(walletSession, "ed25519", "ecdsa_secp256k1");
101
- default: return false;
102
- }
103
- }
104
- function hasRegistrationSigningCapability(walletSession, keyFamily, materialActivation) {
105
- return walletSession.capabilitySubjects.some((subject) => subject.kind === "sign" && subject.keyFamily === keyFamily && mpcMaterialActivationRefsEqual(subject.materialActivation, materialActivation));
106
- }
107
- function hasUnexpectedRegistrationSigningFamily(walletSession, ...allowedFamilies) {
108
- return walletSession.capabilitySubjects.some((subject) => subject.kind === "sign" && !allowedFamilies.includes(subject.keyFamily));
109
- }
110
- function parseRegistrationEstablishedSessionProjectionV2(raw) {
111
- try {
112
- const record = inspectRawObject(raw);
113
- if (!record || !hasExactKeys(record, [
114
- "kind",
115
- "walletId",
116
- "authorizationId",
117
- "walletSessionId",
118
- "quotaId",
119
- "expiresAtMs",
120
- "remainingUses",
121
- "walletSession",
122
- "tokens"
123
- ]) || !("kind" in record) || !("walletId" in record) || !("authorizationId" in record) || !("walletSessionId" in record) || !("quotaId" in record) || !("expiresAtMs" in record) || !("remainingUses" in record) || !("walletSession" in record) || !("tokens" in record) || record.kind !== "registration_established_wallet_session_projection_v2") return null;
124
- const walletId = parseWalletId(record.walletId);
125
- const authorizationId = parseWalletSessionAuthorizationId(record.authorizationId);
126
- const walletSessionId = parseWalletSessionId(record.walletSessionId);
127
- const quotaId = parseMpcWalletSigningQuotaId(record.quotaId);
128
- if (!walletId.ok || !authorizationId.ok || !walletSessionId.ok || !quotaId.ok) return null;
129
- if (new Set([
130
- authorizationId.value,
131
- walletSessionId.value,
132
- quotaId.value
133
- ]).size !== 3) return null;
134
- const expiresAtMs = parseNonNegativeSafeInteger(record.expiresAtMs);
135
- const remainingUses = parseNonNegativeSafeInteger(record.remainingUses);
136
- const walletSession = parseActiveWalletSessionV1(record.walletSession);
137
- const tokens = parseRegistrationEstablishedSessionProjectionTokensV2(record.tokens);
138
- if (expiresAtMs === null || expiresAtMs <= 0 || remainingUses === null || tokens === null || walletSession.walletId !== walletId.value || walletSession.authorizationId !== authorizationId.value || walletSession.quotaId !== quotaId.value || walletSession.expiresAtMs !== expiresAtMs || !registrationSessionTokensMatchCapabilities(walletSession, tokens)) return null;
139
- return {
140
- kind: "registration_established_wallet_session_projection_v2",
141
- walletId: walletId.value,
142
- authorizationId: authorizationId.value,
143
- walletSessionId: walletSessionId.value,
144
- quotaId: quotaId.value,
145
- expiresAtMs,
146
- remainingUses,
147
- walletSession,
148
- tokens
149
- };
150
- } catch {
151
- return null;
152
- }
153
- }
154
- function parseRegistrationEstablishedSessionProjectionTokensV2(raw) {
155
- const record = inspectRawObject(raw);
156
- if (!record || !("kind" in record) || typeof record.kind !== "string") return null;
157
- switch (record.kind) {
158
- case "evm_family_ecdsa": {
159
- if (!hasExactKeys(record, ["kind", "ecdsa"]) || !("ecdsa" in record)) return null;
160
- const ecdsa = parseRegistrationEstablishedEcdsaSessionProjectionV2(record.ecdsa);
161
- return ecdsa === null ? null : {
162
- kind: "evm_family_ecdsa",
163
- ecdsa
164
- };
165
- }
166
- case "near_ed25519": {
167
- if (!hasExactKeys(record, ["kind", "ed25519"]) || !("ed25519" in record)) return null;
168
- const ed25519 = parseRegistrationEstablishedEd25519SessionProjectionV2(record.ed25519);
169
- return ed25519 === null ? null : {
170
- kind: "near_ed25519",
171
- ed25519
172
- };
173
- }
174
- case "near_ed25519_and_evm_family_ecdsa": {
175
- if (!hasExactKeys(record, [
176
- "kind",
177
- "ecdsa",
178
- "ed25519"
179
- ]) || !("ecdsa" in record) || !("ed25519" in record)) return null;
180
- const ecdsa = parseRegistrationEstablishedEcdsaSessionProjectionV2(record.ecdsa);
181
- const ed25519 = parseRegistrationEstablishedEd25519SessionProjectionV2(record.ed25519);
182
- return ecdsa === null || ed25519 === null ? null : {
183
- kind: "near_ed25519_and_evm_family_ecdsa",
184
- ecdsa,
185
- ed25519
186
- };
187
- }
188
- default: return null;
189
- }
190
- }
191
- function parseRegistrationEstablishedEcdsaSessionProjectionV2(raw) {
192
- const record = inspectRawObject(raw);
193
- if (!record || !hasExactKeys(record, [
194
- "sessionKind",
195
- "thresholdSessionId",
196
- "keyHandle",
197
- "runtimePolicyScope",
198
- "materialActivation",
199
- "routerAbEcdsaDerivationNormalSigning"
200
- ]) || !("sessionKind" in record) || !("thresholdSessionId" in record) || !("keyHandle" in record) || !("runtimePolicyScope" in record) || !("materialActivation" in record) || !("routerAbEcdsaDerivationNormalSigning" in record) || record.sessionKind !== "credential_free_projection_v2") return null;
201
- const thresholdSessionId = parseThresholdEcdsaSessionId(record.thresholdSessionId);
202
- if (!thresholdSessionId.ok) return null;
203
- try {
204
- const keyHandle = parseThresholdEcdsaKeyHandle(record.keyHandle);
205
- const runtimePolicyScope = parseRuntimePolicyScopeProjection(record.runtimePolicyScope);
206
- const materialActivation = parseMpcMaterialActivationRef(record.materialActivation);
207
- if (!materialActivation.ok) return null;
208
- const routerAbEcdsaDerivationNormalSigning = parseRouterAbEcdsaDerivationNormalSigningStateV1(record.routerAbEcdsaDerivationNormalSigning);
209
- if (!routerAbEcdsaDerivationNormalSigning) return null;
210
- const scopeMaterialActivation = routerAbMpcMaterialActivationRefFromWire(routerAbEcdsaDerivationNormalSigning.scope.material_activation);
211
- if (!mpcMaterialActivationRefsEqual(materialActivation.value, scopeMaterialActivation)) return null;
212
- return {
213
- sessionKind: "credential_free_projection_v2",
214
- thresholdSessionId: thresholdSessionId.value,
215
- keyHandle,
216
- runtimePolicyScope,
217
- materialActivation: materialActivation.value,
218
- routerAbEcdsaDerivationNormalSigning
219
- };
220
- } catch {
221
- return null;
222
- }
223
- }
224
- function parseRegistrationEstablishedEd25519SessionProjectionV2(raw) {
225
- const record = inspectRawObject(raw);
226
- if (!record || !hasExactKeys(record, [
227
- "sessionKind",
228
- "thresholdSessionId",
229
- "nearAccountId",
230
- "nearEd25519SigningKeyId",
231
- "runtimePolicyScope",
232
- "materialActivation",
233
- "routerAbNormalSigning"
234
- ]) || !("sessionKind" in record) || !("thresholdSessionId" in record) || !("nearAccountId" in record) || !("nearEd25519SigningKeyId" in record) || !("runtimePolicyScope" in record) || !("materialActivation" in record) || !("routerAbNormalSigning" in record) || record.sessionKind !== "credential_free_projection_v2") return null;
235
- const thresholdSessionId = parseThresholdEd25519SessionId(record.thresholdSessionId);
236
- const nearAccountId = parseNearAccountId(record.nearAccountId);
237
- if (!thresholdSessionId.ok || !nearAccountId.ok) return null;
238
- try {
239
- const nearEd25519SigningKeyId = parseNearEd25519SigningKeyId(record.nearEd25519SigningKeyId);
240
- const runtimePolicyScope = parseRuntimePolicyScopeProjection(record.runtimePolicyScope);
241
- const materialActivation = parseMpcMaterialActivationRef(record.materialActivation);
242
- if (!materialActivation.ok) return null;
243
- const routerAbNormalSigning = parseRouterAbEd25519NormalSigningState(record.routerAbNormalSigning);
244
- if (!routerAbNormalSigning) return null;
245
- return {
246
- sessionKind: "credential_free_projection_v2",
247
- thresholdSessionId: thresholdSessionId.value,
248
- nearAccountId: nearAccountId.value,
249
- nearEd25519SigningKeyId,
250
- runtimePolicyScope,
251
- materialActivation: materialActivation.value,
252
- routerAbNormalSigning
253
- };
254
- } catch {
255
- return null;
256
- }
257
- }
258
- function parseRuntimePolicyScopeProjection(raw) {
259
- const record = inspectRawObject(raw);
260
- if (!record || !hasExactKeys(record, [
261
- "orgId",
262
- "projectId",
263
- "envId",
264
- "signingRootVersion"
265
- ]) || !("orgId" in record) || !("projectId" in record) || !("envId" in record) || !("signingRootVersion" in record)) throw new Error("runtime policy scope projection is invalid");
266
- return normalizeRuntimePolicyScope({
267
- orgId: record.orgId,
268
- projectId: record.projectId,
269
- envId: record.envId,
270
- signingRootVersion: record.signingRootVersion
271
- });
272
- }
273
- function parseNonNegativeSafeInteger(raw) {
274
- return typeof raw === "number" && Number.isSafeInteger(raw) && raw >= 0 ? raw : null;
275
- }
276
- function inspectRawObject(value) {
277
- return value !== null && typeof value === "object" && !Array.isArray(value) ? value : null;
278
- }
279
- function hasExactKeys(record, expectedKeys) {
280
- return Object.keys(record).length === expectedKeys.length && expectedKeys.every((key) => Object.prototype.hasOwnProperty.call(record, key));
281
- }
282
- //#endregion
283
- //#region src/core/signingEngine/session/passkey/ecdsaKeyFactsInventory.ts
284
- function normalizeEvmOwnerAddress(value) {
285
- const candidate = String(value || "").trim().toLowerCase();
286
- return /^0x[0-9a-f]{40}$/.test(candidate) ? candidate : "";
287
- }
288
- const EVM_FAMILY_ECDSA_KEY_HANDLE_PATTERN = /^ederivation-key-[A-Za-z0-9_-]+$/;
289
- function parseCurrentEcdsaKeyHandle(value) {
290
- const normalized = String(value || "").trim();
291
- if (!normalized) return { kind: "missing" };
292
- if (!EVM_FAMILY_ECDSA_KEY_HANDLE_PATTERN.test(normalized)) return { kind: "invalid" };
293
- return {
294
- kind: "resolved",
295
- keyHandle: normalized
296
- };
297
- }
298
- function resolveProfileContinuityEcdsaKeyHandle(metadata) {
299
- const directKeyHandle = parseCurrentEcdsaKeyHandle(metadata.keyHandle);
300
- const sharedKeyHandle = isObject(metadata.sharedEvmFamilyKey) ? parseCurrentEcdsaKeyHandle(metadata.sharedEvmFamilyKey.keyHandle) : { kind: "missing" };
301
- if (directKeyHandle.kind === "missing") return {
302
- kind: "blocked",
303
- reason: "missing_key_handle"
304
- };
305
- if (directKeyHandle.kind === "invalid" || sharedKeyHandle.kind === "invalid") return {
306
- kind: "blocked",
307
- reason: "invalid_key_handle"
308
- };
309
- if (sharedKeyHandle.kind === "resolved" && directKeyHandle.keyHandle !== sharedKeyHandle.keyHandle) return {
310
- kind: "blocked",
311
- reason: "duplicate_key_handles"
312
- };
313
- return {
314
- kind: "resolved",
315
- keyHandle: directKeyHandle.keyHandle
316
- };
317
- }
318
- function parseProfileContinuityEvmFamilyEcdsaWalletKey(args) {
319
- const keyFacts = (isObject(args.metadata.sharedEvmFamilyKey) ? args.metadata.sharedEvmFamilyKey : null) || args.metadata;
320
- const thresholdEcdsaPublicKeyB64u = String(keyFacts.thresholdEcdsaPublicKeyB64u || args.metadata.thresholdEcdsaPublicKeyB64u || "").trim();
321
- if (!thresholdEcdsaPublicKeyB64u) return null;
322
- const keyWalletId = String(keyFacts.walletId || "").trim();
323
- if (!keyWalletId) return null;
324
- try {
325
- toThresholdEcdsaPublicKeyB64u(thresholdEcdsaPublicKeyB64u);
326
- const ecdsaThresholdKeyId = keyFacts.ecdsaThresholdKeyId || args.metadata.ecdsaThresholdKeyId;
327
- const signingRootId = keyFacts.signingRootId || args.metadata.signingRootId;
328
- const signingRootVersion = keyFacts.signingRootVersion || args.metadata.signingRootVersion;
329
- const participantIds = keyFacts.participantIds || args.metadata.participantIds;
330
- const thresholdOwnerAddress = keyFacts.thresholdOwnerAddress || args.metadata.thresholdOwnerAddress || args.metadata.ownerAddress;
331
- return buildEvmFamilyEcdsaWalletKey({
332
- walletId: keyWalletId,
333
- keyHandle: args.keyHandle,
334
- chainTarget: args.chainTarget,
335
- ecdsaThresholdKeyId,
336
- signingRootId,
337
- signingRootVersion,
338
- participantIds,
339
- thresholdOwnerAddress,
340
- thresholdEcdsaPublicKeyB64u
341
- });
342
- } catch {
343
- return null;
344
- }
345
- }
346
- function parseProfilePublicCapability(args) {
347
- try {
348
- const publicCapability = parseRouterAbEcdsaDerivationPublicCapabilityV1(args.raw);
349
- if (String(publicCapability.client_id) !== String(args.walletId) || publicCapability.public_identity.threshold_public_key33_b64u !== args.thresholdEcdsaPublicKeyB64u) return null;
350
- return publicCapability;
351
- } catch {
352
- return null;
353
- }
354
- }
355
- function parseProfileContinuityEcdsaWarmKey(args) {
356
- const signer = args.signer;
357
- if (signer.status !== "active") return { kind: "skipped" };
358
- if (signer.signerKind !== SIGNER_KINDS.thresholdEcdsa) return { kind: "skipped" };
359
- if (signer.signerAuthMethod !== SIGNER_AUTH_METHODS.passkey) return { kind: "skipped" };
360
- const metadata = isObject(signer.metadata) ? signer.metadata : {};
361
- if (!isObject(metadata.chainTarget)) return {
362
- kind: "blocked",
363
- targetKey: "",
364
- reason: "missing_chain_target"
365
- };
366
- let chainTarget;
367
- try {
368
- chainTarget = thresholdEcdsaChainTargetFromRequest(metadata.chainTarget);
369
- } catch (error) {
370
- return {
371
- kind: "blocked",
372
- targetKey: "",
373
- reason: "invalid_chain_target"
374
- };
375
- }
376
- if (!args.configuredTargets.some((target) => thresholdEcdsaChainTargetsEqual(target, chainTarget))) return { kind: "skipped" };
377
- const targetKey = thresholdEcdsaChainTargetKey(chainTarget);
378
- const keyHandleResolution = resolveProfileContinuityEcdsaKeyHandle(metadata);
379
- if (keyHandleResolution.kind === "blocked") return {
380
- kind: "blocked",
381
- targetKey,
382
- reason: keyHandleResolution.reason
383
- };
384
- const walletKey = parseProfileContinuityEvmFamilyEcdsaWalletKey({
385
- walletId: args.walletId,
386
- metadata,
387
- keyHandle: keyHandleResolution.keyHandle,
388
- chainTarget
389
- });
390
- if (!walletKey) return {
391
- kind: "key_facts_inventory_required",
392
- chainTarget,
393
- targetKey,
394
- keyHandle: keyHandleResolution.keyHandle,
395
- reason: "missing_key_facts"
396
- };
397
- const publicCapability = parseProfilePublicCapability({
398
- raw: metadata.publicCapability,
399
- walletId: args.walletId,
400
- thresholdEcdsaPublicKeyB64u: walletKey.keyFacts.thresholdEcdsaPublicKeyB64u
401
- });
402
- return {
403
- kind: "active_wallet_key",
404
- chainTarget,
405
- targetKey,
406
- walletKey,
407
- publicCapability: publicCapability ? {
408
- kind: "persisted_public_capability",
409
- value: publicCapability
410
- } : { kind: "missing_public_capability" }
411
- };
412
- }
413
- function parseThresholdEcdsaKeyIdentityRecord(args) {
414
- const { raw } = args;
415
- if (!isObject(raw) || !isObject(raw.chainTarget)) return null;
416
- const rawKey = isObject(raw.key) ? raw.key : raw;
417
- let chainTarget;
418
- try {
419
- chainTarget = thresholdEcdsaChainTargetFromRequest(raw.chainTarget);
420
- } catch {
421
- return null;
422
- }
423
- const keyHandle = parseCurrentEcdsaKeyHandle(raw.keyHandle);
424
- const nestedKeyHandle = parseCurrentEcdsaKeyHandle(rawKey.keyHandle);
425
- const accountAddress = normalizeEvmOwnerAddress(raw.accountAddress);
426
- const ownerAddress = normalizeEvmOwnerAddress(raw.ownerAddress);
427
- const keyWalletId = String(rawKey.walletId || "").trim();
428
- const rawKeySubjectId = String(rawKey.subjectId || "").trim();
429
- const expectedKeySubjectId = String(walletIdFromWalletProfile({ walletId: args.walletId }));
430
- const keyRpId = String(rawKey.rpId || "").trim();
431
- const thresholdEcdsaPublicKeyB64u = String(rawKey.thresholdEcdsaPublicKeyB64u || raw.thresholdEcdsaPublicKeyB64u || "").trim();
432
- const thresholdOwnerAddress = normalizeEvmOwnerAddress(rawKey.thresholdOwnerAddress || raw.ownerAddress || raw.accountAddress || raw.ethereumAddress);
433
- if (keyHandle.kind !== "resolved" || nestedKeyHandle.kind !== "resolved" || nestedKeyHandle.keyHandle !== keyHandle.keyHandle || !thresholdEcdsaPublicKeyB64u || !ownerAddress || !accountAddress || !thresholdOwnerAddress || keyWalletId !== String(args.walletId) || rawKeySubjectId && rawKeySubjectId !== expectedKeySubjectId || keyRpId !== args.rpId || thresholdOwnerAddress !== ownerAddress) return null;
434
- try {
435
- const publicCapability = parseProfilePublicCapability({
436
- raw: raw.publicCapability,
437
- walletId: args.walletId,
438
- thresholdEcdsaPublicKeyB64u
439
- });
440
- if (!publicCapability) return null;
441
- const canonicalKeyHandle = toEvmFamilyEcdsaKeyHandle(keyHandle.keyHandle);
442
- const ecdsaThresholdKeyId = resolveThresholdEcdsaKeyIdFromRecord({ record: { ecdsaThresholdKeyId: raw.ecdsaThresholdKeyId } });
443
- const signingRootBinding = parseThresholdSigningRootBinding({
444
- signingRootId: raw.signingRootId || rawKey.signingRootId,
445
- signingRootVersion: raw.signingRootVersion || rawKey.signingRootVersion
446
- });
447
- return {
448
- accountAddress,
449
- ownerAddress,
450
- publicCapability,
451
- walletKey: buildEvmFamilyEcdsaWalletKey({
452
- walletId: args.walletId,
453
- keyHandle: canonicalKeyHandle,
454
- chainTarget,
455
- ecdsaThresholdKeyId,
456
- signingRootId: signingRootBinding.signingRootId,
457
- signingRootVersion: signingRootBinding.signingRootVersion,
458
- participantIds: rawKey.participantIds || raw.participantIds,
459
- thresholdOwnerAddress,
460
- thresholdEcdsaPublicKeyB64u
461
- })
462
- };
463
- } catch {
464
- return null;
465
- }
466
- }
467
- function parseThresholdEcdsaKeyIdentityTargets(args) {
468
- const entries = [];
469
- for (const raw of args.records) {
470
- const parsed = parseThresholdEcdsaKeyIdentityRecord({
471
- walletId: args.walletId,
472
- rpId: args.rpId,
473
- raw
474
- });
475
- if (!parsed) continue;
476
- entries.push(parsed);
477
- }
478
- return entries;
479
- }
480
- //#endregion
481
- //#region src/core/rpcClients/relayer/thresholdEcdsa.ts
482
- const WRANGLER_WORKER_RESTARTED_MID_REQUEST$1 = "Your worker restarted mid-request";
483
- function requireThresholdEcdsaRootShareEpoch(value, field) {
484
- const parsed = parseRootShareEpoch(value);
485
- if (!parsed.ok) throw new Error(`${field} is invalid`);
486
- return parsed.value;
487
- }
488
- function requireNonEmptyString(value, field) {
489
- const text = typeof value === "string" ? value.trim() : "";
490
- if (!text) throw new Error(`Missing ${field}`);
491
- return text;
492
- }
493
- function requireNumber(value, field) {
494
- if (typeof value !== "number" || !Number.isFinite(value)) throw new Error(`Missing ${field}`);
495
- return value;
496
- }
497
- function requireNonNegativeInteger(value, field) {
498
- const number = requireNumber(value, field);
499
- if (!Number.isSafeInteger(number) || number < 0) throw new Error(`${field} must be a non-negative integer`);
500
- return number;
501
- }
502
- function requireParticipantIds(value) {
503
- if (!Array.isArray(value) || value.length === 0) throw new Error("participantIds must be a non-empty array");
504
- return value.map((entry) => {
505
- const participantId = Number(entry);
506
- if (!Number.isSafeInteger(participantId) || participantId <= 0) throw new Error("participantIds must contain positive integer ids");
507
- return participantId;
508
- });
509
- }
510
- function requireExactJsonObject(value, fields, field) {
511
- if (value === null || typeof value !== "object" || Array.isArray(value) || Object.getPrototypeOf(value) !== Object.prototype && Object.getPrototypeOf(value) !== null) throw new Error(`Missing ${field}`);
512
- const expected = new Set(fields);
513
- const actual = Object.keys(value);
514
- if (actual.length !== expected.size || actual.some((name) => !expected.has(name))) throw new Error(`${field} contains unexpected fields`);
515
- return value;
516
- }
517
- function readJsonField(value, field, label) {
518
- const descriptor = Object.getOwnPropertyDescriptor(value, field);
519
- if (!descriptor || !("value" in descriptor)) throw new Error(`Missing ${label}`);
520
- return descriptor.value;
521
- }
522
- const NON_EXPORT_BOOTSTRAP_RESPONSE_FIELDS = [
523
- "formatVersion",
524
- "walletId",
525
- "evmFamilySigningKeySlotId",
526
- "ecdsaThresholdKeyId",
527
- "relayerKeyId",
528
- "applicationBindingDigestB64u",
529
- "contextBinding32B64u",
530
- "publicIdentity",
531
- "clientShareRetryCounter",
532
- "relayerShareRetryCounter",
533
- "publicTranscriptDigest32B64u",
534
- "keyHandle",
535
- "signingRootId",
536
- "signingRootVersion",
537
- "thresholdEcdsaPublicKeyB64u",
538
- "ethereumAddress",
539
- "relayerVerifyingShareB64u",
540
- "participantIds",
541
- "thresholdSessionId",
542
- "activationEpoch",
543
- "expiresAtMs",
544
- "expiresAt",
545
- "remainingUses",
546
- "routerAbEcdsaDerivationNormalSigning"
547
- ];
548
- function parseEcdsaDerivationRoleLocalPublicIdentity(value) {
549
- const record = requireExactJsonObject(value, [
550
- "derivationClientSharePublicKey33B64u",
551
- "relayerPublicKey33B64u",
552
- "groupPublicKey33B64u",
553
- "ethereumAddress"
554
- ], "publicIdentity");
555
- return {
556
- derivationClientSharePublicKey33B64u: requireNonEmptyString(readJsonField(record, "derivationClientSharePublicKey33B64u", "publicIdentity.derivationClientSharePublicKey33B64u"), "publicIdentity.derivationClientSharePublicKey33B64u"),
557
- relayerPublicKey33B64u: requireNonEmptyString(readJsonField(record, "relayerPublicKey33B64u", "publicIdentity.relayerPublicKey33B64u"), "publicIdentity.relayerPublicKey33B64u"),
558
- groupPublicKey33B64u: requireNonEmptyString(readJsonField(record, "groupPublicKey33B64u", "publicIdentity.groupPublicKey33B64u"), "publicIdentity.groupPublicKey33B64u"),
559
- ethereumAddress: requireNonEmptyString(readJsonField(record, "ethereumAddress", "publicIdentity.ethereumAddress"), "publicIdentity.ethereumAddress")
560
- };
561
- }
562
- function parseThresholdEcdsaDerivationRoleLocalBootstrapValue(value) {
563
- const record = requireExactJsonObject(value, NON_EXPORT_BOOTSTRAP_RESPONSE_FIELDS, "value");
564
- if (readJsonField(record, "formatVersion", "value.formatVersion") !== "ecdsa-derivation-role-local") throw new Error("value.formatVersion is invalid");
565
- const walletId = toWalletId(readJsonField(record, "walletId", "value.walletId"));
566
- const evmFamilySigningKeySlotId = requireNonEmptyString(readJsonField(record, "evmFamilySigningKeySlotId", "value.evmFamilySigningKeySlotId"), "evmFamilySigningKeySlotId");
567
- const ecdsaThresholdKeyId = toEcdsaDerivationThresholdKeyId(readJsonField(record, "ecdsaThresholdKeyId", "value.ecdsaThresholdKeyId"));
568
- const relayerKeyId = requireNonEmptyString(readJsonField(record, "relayerKeyId", "value.relayerKeyId"), "relayerKeyId");
569
- const applicationBindingDigestB64u = requireNonEmptyString(readJsonField(record, "applicationBindingDigestB64u", "value.applicationBindingDigestB64u"), "applicationBindingDigestB64u");
570
- const contextBinding32B64u = requireNonEmptyString(readJsonField(record, "contextBinding32B64u", "value.contextBinding32B64u"), "contextBinding32B64u");
571
- const publicIdentity = parseEcdsaDerivationRoleLocalPublicIdentity(readJsonField(record, "publicIdentity", "value.publicIdentity"));
572
- const clientShareRetryCounter = requireNonNegativeInteger(readJsonField(record, "clientShareRetryCounter", "value.clientShareRetryCounter"), "clientShareRetryCounter");
573
- const relayerShareRetryCounter = requireNonNegativeInteger(readJsonField(record, "relayerShareRetryCounter", "value.relayerShareRetryCounter"), "relayerShareRetryCounter");
574
- const keyHandle = requireNonEmptyString(readJsonField(record, "keyHandle", "value.keyHandle"), "keyHandle");
575
- const signingRootId = requireNonEmptyString(readJsonField(record, "signingRootId", "value.signingRootId"), "signingRootId");
576
- const signingRootVersion = requireNonEmptyString(readJsonField(record, "signingRootVersion", "value.signingRootVersion"), "signingRootVersion");
577
- const participantIds = requireParticipantIds(readJsonField(record, "participantIds", "value.participantIds"));
578
- const thresholdSessionId = requireNonEmptyString(readJsonField(record, "thresholdSessionId", "value.thresholdSessionId"), "thresholdSessionId");
579
- const activationEpoch = requireThresholdEcdsaRootShareEpoch(readJsonField(record, "activationEpoch", "value.activationEpoch"), "activationEpoch");
580
- const expiresAtMs = requireNumber(readJsonField(record, "expiresAtMs", "value.expiresAtMs"), "expiresAtMs");
581
- const routerAbEcdsaDerivationNormalSigning = requireRouterAbEcdsaDerivationNormalSigningStateV1(readJsonField(record, "routerAbEcdsaDerivationNormalSigning", "value.routerAbEcdsaDerivationNormalSigning"));
582
- return {
583
- formatVersion: "ecdsa-derivation-role-local",
584
- walletId,
585
- evmFamilySigningKeySlotId,
586
- ecdsaThresholdKeyId,
587
- relayerKeyId,
588
- applicationBindingDigestB64u,
589
- contextBinding32B64u,
590
- publicIdentity,
591
- clientShareRetryCounter,
592
- relayerShareRetryCounter,
593
- publicTranscriptDigest32B64u: requireNonEmptyString(readJsonField(record, "publicTranscriptDigest32B64u", "value.publicTranscriptDigest32B64u"), "publicTranscriptDigest32B64u"),
594
- keyHandle,
595
- signingRootId,
596
- signingRootVersion,
597
- thresholdEcdsaPublicKeyB64u: requireNonEmptyString(readJsonField(record, "thresholdEcdsaPublicKeyB64u", "value.thresholdEcdsaPublicKeyB64u"), "thresholdEcdsaPublicKeyB64u"),
598
- ethereumAddress: requireNonEmptyString(readJsonField(record, "ethereumAddress", "value.ethereumAddress"), "ethereumAddress"),
599
- relayerVerifyingShareB64u: requireNonEmptyString(readJsonField(record, "relayerVerifyingShareB64u", "value.relayerVerifyingShareB64u"), "relayerVerifyingShareB64u"),
600
- participantIds,
601
- thresholdSessionId,
602
- activationEpoch,
603
- expiresAtMs,
604
- expiresAt: requireNonEmptyString(readJsonField(record, "expiresAt", "value.expiresAt"), "expiresAt"),
605
- remainingUses: requireNumber(readJsonField(record, "remainingUses", "value.remainingUses"), "remainingUses"),
606
- routerAbEcdsaDerivationNormalSigning
607
- };
608
- }
609
- function resolveBearerToken(auth) {
610
- if (!auth) return "";
611
- if (auth.kind === "opaque_wallet_session_operation_credential_v1") return auth.token;
612
- return String(auth.token || "").trim();
613
- }
614
- function buildRelayRequestInit(args) {
615
- const bearerToken = resolveBearerToken(args.auth);
616
- const publishableKeyAuth = String(args.publishableKeyAuth || "").trim();
617
- return buildRelayerJsonPostRequestInit({
618
- headers: bearerToken ? buildBearerAuthorizationHeader({
619
- token: bearerToken,
620
- missingMessage: "bearer token is required"
621
- }) : publishableKeyAuth ? buildBearerAuthorizationHeader({
622
- token: publishableKeyAuth,
623
- missingMessage: "publishable key auth is required"
624
- }) : void 0,
625
- body: args.body
626
- });
627
- }
628
- function defaultRelayerFailureResponse(status) {
629
- return {
630
- code: "http_error",
631
- message: `HTTP ${status}`
632
- };
633
- }
634
- function decodeRelayerFailureResponse(value) {
635
- try {
636
- const record = requireExactJsonObject(value, [
637
- "ok",
638
- "code",
639
- "message"
640
- ], "relayer failure");
641
- if (readJsonField(record, "ok", "relayer failure.ok") !== false) throw new Error("invalid ok");
642
- const code = readJsonField(record, "code", "relayer failure.code");
643
- const message = readJsonField(record, "message", "relayer failure.message");
644
- if (typeof code !== "string" || !code.trim()) throw new Error("invalid code");
645
- if (typeof message !== "string" || !message.trim()) throw new Error("invalid message");
646
- return {
647
- code: code.trim(),
648
- message: message.trim()
649
- };
650
- } catch {
651
- return null;
652
- }
653
- }
654
- async function parseRelayJson(response) {
655
- const text = await readResponseText$1(response);
656
- if (isWranglerWorkerRestartedMidRequestResponse$1(text)) return {
657
- ok: false,
658
- code: "worker_restarted_mid_request",
659
- message: WRANGLER_WORKER_RESTARTED_MID_REQUEST$1
660
- };
661
- return parseJsonText$1(text);
662
- }
663
- async function activateRouterAbEcdsaPostRegistrationSession(relayServerUrl, input) {
664
- try {
665
- const base = normalizeRelayerBaseUrl(relayServerUrl);
666
- if (!base) throw new Error("Missing relayServerUrl");
667
- const response = await fetch(`${base}${ROUTER_AB_ECDSA_DERIVATION_SESSION_ACTIVATION_PATH}`, buildRelayRequestInit({
668
- auth: input.auth,
669
- body: input.request
670
- }));
671
- const json = await parseRelayJson(response);
672
- if (!response.ok) {
673
- const failure = decodeRelayerFailureResponse(json) ?? defaultRelayerFailureResponse(response.status);
674
- return {
675
- ok: false,
676
- code: failure.code,
677
- message: failure.message
678
- };
679
- }
680
- return {
681
- ok: true,
682
- value: parseRouterAbEcdsaPostRegistrationSessionActivationResponseV1(json)
683
- };
684
- } catch (error) {
685
- return {
686
- ok: false,
687
- error: errorMessage(error) || "Router A/B ECDSA session activation failed"
688
- };
689
- }
690
- }
691
- async function readResponseText$1(response) {
692
- try {
693
- return await response.text();
694
- } catch {
695
- return "";
696
- }
697
- }
698
- function isWranglerWorkerRestartedMidRequestResponse$1(text) {
699
- return text.includes(WRANGLER_WORKER_RESTARTED_MID_REQUEST$1);
700
- }
701
- function parseJsonText$1(text) {
702
- try {
703
- return JSON.parse(text || "{}");
704
- } catch (error) {
705
- throw new Error(`Failed to parse threshold ECDSA relayer response JSON: ${errorMessage(error)}`);
706
- }
707
- }
708
- //#endregion
709
- //#region src/core/rpcClients/relayer/walletRegistrationTerminalResponse.ts
710
- function requireResponseString(args) {
711
- const value = String(args.value || "").trim();
712
- if (!value) throw new Error(`${args.responseName} response missing ${args.field}`);
713
- return value;
714
- }
715
- function requireResponseRecord(args) {
716
- if (!isPlainObject(args.value)) throw new Error(`${args.responseName} response missing ${args.field}`);
717
- return args.value;
718
- }
719
- function assertExactResponseKeys(record, allowedKeys, responseName) {
720
- const allowed = new Set(allowedKeys);
721
- for (const key of Object.keys(record)) if (!allowed.has(key)) throw new Error(`${responseName} response contains unexpected ${key}`);
722
- }
723
- function requireResponseSafeInteger(args) {
724
- const value = Number(args.value);
725
- if (!Number.isSafeInteger(value) || value < args.minimum) throw new Error(`${args.responseName} response has invalid ${args.field}`);
726
- return value;
727
- }
728
- function requireResponseParticipantPair(value, responseName) {
729
- if (!Array.isArray(value) || value.length !== 2) throw new Error(`${responseName} response has invalid participantIds`);
730
- const first = requireResponseSafeInteger({
731
- responseName,
732
- field: "participantIds[0]",
733
- value: value[0],
734
- minimum: 1
735
- });
736
- const second = requireResponseSafeInteger({
737
- responseName,
738
- field: "participantIds[1]",
739
- value: value[1],
740
- minimum: 1
741
- });
742
- if (first === second) throw new Error(`${responseName} response has duplicate participantIds`);
743
- if (first !== 1 || second !== 2) throw new Error(`${responseName} response has unsupported participantIds`);
744
- return [first, second];
745
- }
746
- function requireResponseRpId(value, responseName) {
747
- const parsed = parseWebAuthnRpId(value);
748
- if (!parsed.ok) throw new Error(`${responseName} response has invalid rpId`);
749
- return parsed.value;
750
- }
751
- function parseWalletRegistrationEd25519AuthorityScope(value, responseName) {
752
- const authorityScope = requireResponseRecord({
753
- responseName,
754
- field: "authorityScope",
755
- value
756
- });
757
- switch (authorityScope.kind) {
758
- case "passkey_rp":
759
- assertExactResponseKeys(authorityScope, ["kind", "rpId"], responseName);
760
- return {
761
- kind: "passkey_rp",
762
- rpId: requireResponseRpId(authorityScope.rpId, responseName)
763
- };
764
- case "email_otp":
765
- assertExactResponseKeys(authorityScope, [
766
- "kind",
767
- "provider",
768
- "providerUserId"
769
- ], responseName);
770
- if (authorityScope.provider !== "google" && authorityScope.provider !== "email") throw new Error(`${responseName} response has invalid authorityScope provider`);
771
- return {
772
- kind: "email_otp",
773
- provider: authorityScope.provider,
774
- providerUserId: requireResponseString({
775
- responseName,
776
- field: "authorityScope.providerUserId",
777
- value: authorityScope.providerUserId
778
- })
779
- };
780
- default: throw new Error(`${responseName} response has invalid authorityScope`);
781
- }
782
- }
783
- function parseWalletEd25519YaoSignerPublicResult(value, responseName) {
784
- const ed25519 = requireResponseRecord({
785
- responseName,
786
- field: "ed25519",
787
- value
788
- });
789
- assertExactResponseKeys(ed25519, [
790
- "signerSlot",
791
- "nearAccountId",
792
- "nearEd25519SigningKeyId",
793
- "publicKey",
794
- "relayerKeyId",
795
- "keyVersion",
796
- "recoveryExportCapable",
797
- "participantIds"
798
- ], responseName);
799
- if (ed25519.recoveryExportCapable !== true) throw new Error(`${responseName} response is not recovery/export capable`);
800
- return {
801
- signerSlot: requireResponseSafeInteger({
802
- responseName,
803
- field: "ed25519.signerSlot",
804
- value: ed25519.signerSlot,
805
- minimum: 1
806
- }),
807
- nearAccountId: requireResponseString({
808
- responseName,
809
- field: "ed25519.nearAccountId",
810
- value: ed25519.nearAccountId
811
- }),
812
- nearEd25519SigningKeyId: requireResponseString({
813
- responseName,
814
- field: "ed25519.nearEd25519SigningKeyId",
815
- value: ed25519.nearEd25519SigningKeyId
816
- }),
817
- publicKey: requireResponseString({
818
- responseName,
819
- field: "ed25519.publicKey",
820
- value: ed25519.publicKey
821
- }),
822
- relayerKeyId: requireResponseString({
823
- responseName,
824
- field: "ed25519.relayerKeyId",
825
- value: ed25519.relayerKeyId
826
- }),
827
- keyVersion: requireResponseString({
828
- responseName,
829
- field: "ed25519.keyVersion",
830
- value: ed25519.keyVersion
831
- }),
832
- recoveryExportCapable: true,
833
- participantIds: requireResponseParticipantPair(ed25519.participantIds, responseName)
834
- };
835
- }
836
- function parseWalletRegistrationEd25519Result(value, responseName) {
837
- const ed25519 = requireResponseRecord({
838
- responseName,
839
- field: "ed25519",
840
- value
841
- });
842
- assertExactResponseKeys(ed25519, [
843
- "signerSlot",
844
- "nearAccountId",
845
- "nearEd25519SigningKeyId",
846
- "publicKey",
847
- "relayerKeyId",
848
- "keyVersion",
849
- "recoveryExportCapable",
850
- "participantIds",
851
- "thresholdSessionId",
852
- "runtimePolicyScope",
853
- "routerAbNormalSigning"
854
- ], responseName);
855
- const publicResult = parseWalletEd25519YaoSignerPublicResult({
856
- signerSlot: ed25519.signerSlot,
857
- nearAccountId: ed25519.nearAccountId,
858
- nearEd25519SigningKeyId: ed25519.nearEd25519SigningKeyId,
859
- publicKey: ed25519.publicKey,
860
- relayerKeyId: ed25519.relayerKeyId,
861
- keyVersion: ed25519.keyVersion,
862
- recoveryExportCapable: ed25519.recoveryExportCapable,
863
- participantIds: ed25519.participantIds
864
- }, responseName);
865
- const thresholdSessionId = parseThresholdEd25519SessionId(ed25519.thresholdSessionId);
866
- if (!thresholdSessionId.ok) throw new Error(`${responseName} response has invalid ed25519.thresholdSessionId`);
867
- const runtimePolicyScope = normalizeThresholdRuntimePolicyScope(ed25519.runtimePolicyScope);
868
- if (!runtimePolicyScope) throw new Error(`${responseName} response has invalid ed25519.runtimePolicyScope`);
869
- return {
870
- ...publicResult,
871
- thresholdSessionId: thresholdSessionId.value,
872
- runtimePolicyScope,
873
- routerAbNormalSigning: requireRouterAbEd25519NormalSigningState(ed25519.routerAbNormalSigning)
874
- };
875
- }
876
- function parseWalletAddSignerChainTarget(value, responseName) {
877
- const target = requireResponseRecord({
878
- responseName,
879
- field: "chainTarget",
880
- value
881
- });
882
- switch (target.kind) {
883
- case "evm":
884
- assertExactResponseKeys(target, [
885
- "kind",
886
- "namespace",
887
- "chainId",
888
- "networkSlug"
889
- ], responseName);
890
- return thresholdEcdsaChainTargetFromRequest(target);
891
- case "tempo":
892
- assertExactResponseKeys(target, [
893
- "kind",
894
- "chainId",
895
- "networkSlug"
896
- ], responseName);
897
- return thresholdEcdsaChainTargetFromRequest(target);
898
- default: throw new Error(`${responseName} response has invalid chainTarget kind`);
899
- }
900
- }
901
- function parseWalletAddSignerEcdsaWalletKey(value, responseName) {
902
- const key = requireResponseRecord({
903
- responseName,
904
- field: "ecdsa.walletKeys[]",
905
- value
906
- });
907
- assertExactResponseKeys(key, [
908
- "keyScope",
909
- "chainTarget",
910
- "walletId",
911
- "evmFamilySigningKeySlotId",
912
- "keyHandle",
913
- "ecdsaThresholdKeyId",
914
- "signingRootId",
915
- "signingRootVersion",
916
- "thresholdEcdsaPublicKeyB64u",
917
- "thresholdOwnerAddress",
918
- "relayerKeyId",
919
- "relayerVerifyingShareB64u",
920
- "contextBinding32B64u",
921
- "derivationClientSharePublicKey33B64u",
922
- "clientShareRetryCounter",
923
- "relayerShareRetryCounter",
924
- "participantIds",
925
- "publicCapability"
926
- ], responseName);
927
- if (key.keyScope !== "evm-family") throw new Error(`${responseName} response has invalid keyScope`);
928
- return {
929
- keyScope: "evm-family",
930
- chainTarget: parseWalletAddSignerChainTarget(key.chainTarget, responseName),
931
- walletId: requireResponseString({
932
- responseName,
933
- field: "walletId",
934
- value: key.walletId
935
- }),
936
- evmFamilySigningKeySlotId: requireResponseString({
937
- responseName,
938
- field: "evmFamilySigningKeySlotId",
939
- value: key.evmFamilySigningKeySlotId
940
- }),
941
- keyHandle: requireResponseString({
942
- responseName,
943
- field: "keyHandle",
944
- value: key.keyHandle
945
- }),
946
- ecdsaThresholdKeyId: requireResponseString({
947
- responseName,
948
- field: "ecdsaThresholdKeyId",
949
- value: key.ecdsaThresholdKeyId
950
- }),
951
- signingRootId: requireResponseString({
952
- responseName,
953
- field: "signingRootId",
954
- value: key.signingRootId
955
- }),
956
- signingRootVersion: requireResponseString({
957
- responseName,
958
- field: "signingRootVersion",
959
- value: key.signingRootVersion
960
- }),
961
- thresholdEcdsaPublicKeyB64u: requireResponseString({
962
- responseName,
963
- field: "thresholdEcdsaPublicKeyB64u",
964
- value: key.thresholdEcdsaPublicKeyB64u
965
- }),
966
- thresholdOwnerAddress: requireResponseString({
967
- responseName,
968
- field: "thresholdOwnerAddress",
969
- value: key.thresholdOwnerAddress
970
- }),
971
- relayerKeyId: requireResponseString({
972
- responseName,
973
- field: "relayerKeyId",
974
- value: key.relayerKeyId
975
- }),
976
- relayerVerifyingShareB64u: requireResponseString({
977
- responseName,
978
- field: "relayerVerifyingShareB64u",
979
- value: key.relayerVerifyingShareB64u
980
- }),
981
- contextBinding32B64u: requireResponseString({
982
- responseName,
983
- field: "contextBinding32B64u",
984
- value: key.contextBinding32B64u
985
- }),
986
- derivationClientSharePublicKey33B64u: requireResponseString({
987
- responseName,
988
- field: "derivationClientSharePublicKey33B64u",
989
- value: key.derivationClientSharePublicKey33B64u
990
- }),
991
- clientShareRetryCounter: requireResponseSafeInteger({
992
- responseName,
993
- field: "clientShareRetryCounter",
994
- value: key.clientShareRetryCounter,
995
- minimum: 0
996
- }),
997
- relayerShareRetryCounter: requireResponseSafeInteger({
998
- responseName,
999
- field: "relayerShareRetryCounter",
1000
- value: key.relayerShareRetryCounter,
1001
- minimum: 0
1002
- }),
1003
- participantIds: requireResponseParticipantPair(key.participantIds, responseName),
1004
- publicCapability: parseRouterAbEcdsaDerivationPublicCapabilityV1(key.publicCapability)
1005
- };
1006
- }
1007
- function parseWalletRegistrationRouteTimingName(value) {
1008
- switch (value) {
1009
- case "registrationIntentLoadMs":
1010
- case "registrationIntentDigestMs":
1011
- case "registrationIntentConsumeMs":
1012
- case "registrationAttemptGateMs":
1013
- case "registrationPreparationPersistMs":
1014
- case "registrationPreparationLoadMs":
1015
- case "registrationPreparationConsumeMs":
1016
- case "registrationPreparationScopeCheckMs":
1017
- case "registrationAuthorityVerifyMs":
1018
- case "registrationEcdsaPrepareMs":
1019
- case "registrationCeremonyPersistMs":
1020
- case "registerPrepareTotalMs":
1021
- case "registerStartTotalMs":
1022
- case "registrationEcdsaRespondMs":
1023
- case "registrationFinalizeReplayLoadMs":
1024
- case "registrationCeremonyLoadMs":
1025
- case "registrationEcdsaBootstrapVerifyMs":
1026
- case "sponsoredNearAccountCreateMs":
1027
- case "registrationKeygenMs":
1028
- case "registrationEmailOtpEnrollmentPlanMs":
1029
- case "relaySessionMintMs":
1030
- case "relayGoogleEmailOtpActivationPlanMs":
1031
- case "relayPersistenceMs":
1032
- case "registrationFinalizeReplayCacheMs":
1033
- case "registerFinalizeTotalMs": return value;
1034
- default: throw new Error("Wallet registration finalize response has invalid diagnostics timing name");
1035
- }
1036
- }
1037
- function parseWalletRegistrationFinalizeDiagnostics(value) {
1038
- const responseName = "Wallet registration finalize";
1039
- const diagnostics = requireResponseRecord({
1040
- responseName,
1041
- field: "registrationDiagnostics",
1042
- value
1043
- });
1044
- assertExactResponseKeys(diagnostics, [
1045
- "kind",
1046
- "route",
1047
- "entries"
1048
- ], responseName);
1049
- if (diagnostics.kind !== "wallet_registration_route_diagnostics_v1" || diagnostics.route !== "wallets_register_finalize" || !Array.isArray(diagnostics.entries)) throw new Error(`${responseName} response has invalid registrationDiagnostics`);
1050
- return {
1051
- kind: "wallet_registration_route_diagnostics_v1",
1052
- route: "wallets_register_finalize",
1053
- entries: diagnostics.entries.map((entryValue) => {
1054
- const entry = requireResponseRecord({
1055
- responseName,
1056
- field: "registrationDiagnostics.entries[]",
1057
- value: entryValue
1058
- });
1059
- assertExactResponseKeys(entry, ["name", "durationMs"], responseName);
1060
- if (typeof entry.durationMs !== "number" || !Number.isFinite(entry.durationMs) || entry.durationMs < 0) throw new Error(`${responseName} response has invalid diagnostics durationMs`);
1061
- return {
1062
- name: parseWalletRegistrationRouteTimingName(entry.name),
1063
- durationMs: entry.durationMs
1064
- };
1065
- })
1066
- };
1067
- }
1068
- function parseWalletRegistrationFinalizeAuthority(value) {
1069
- const responseName = "Wallet registration finalize";
1070
- const authority = requireResponseRecord({
1071
- responseName,
1072
- field: "authority",
1073
- value
1074
- });
1075
- assertExactResponseKeys(authority, [
1076
- "walletId",
1077
- "factor",
1078
- "verifier",
1079
- "bindingId"
1080
- ], responseName);
1081
- const factor = requireResponseRecord({
1082
- responseName,
1083
- field: "authority.factor",
1084
- value: authority.factor
1085
- });
1086
- const verifier = requireResponseRecord({
1087
- responseName,
1088
- field: "authority.verifier",
1089
- value: authority.verifier
1090
- });
1091
- switch (factor.kind) {
1092
- case "passkey":
1093
- assertExactResponseKeys(factor, ["kind", "credentialIdB64u"], responseName);
1094
- assertExactResponseKeys(verifier, ["kind", "rpId"], responseName);
1095
- break;
1096
- case "email_otp":
1097
- assertExactResponseKeys(factor, [
1098
- "kind",
1099
- "provider",
1100
- "providerUserId"
1101
- ], responseName);
1102
- assertExactResponseKeys(verifier, ["kind", "emailHashHex"], responseName);
1103
- break;
1104
- default: throw new Error(`${responseName} response has invalid authority factor`);
1105
- }
1106
- const parsed = parseWalletAuthAuthority(authority);
1107
- if (!parsed) throw new Error(`${responseName} response has invalid authority`);
1108
- return parsed;
1109
- }
1110
- function parseWalletRegistrationFinalizeAuthorityBranch(args) {
1111
- const responseName = "Wallet registration finalize";
1112
- const authMethod = requireResponseRecord({
1113
- responseName,
1114
- field: "authMethod",
1115
- value: args.response.authMethod
1116
- });
1117
- if (String(args.authority.walletId) !== String(args.walletId)) throw new Error(`${responseName} response authority wallet mismatch`);
1118
- switch (authMethod.kind) {
1119
- case "passkey": {
1120
- assertExactResponseKeys(authMethod, [
1121
- "kind",
1122
- "credentialIdB64u",
1123
- "credentialPublicKeyB64u"
1124
- ], responseName);
1125
- if (!isPasskeyWalletAuthAuthority(args.authority)) throw new Error(`${responseName} response has inconsistent passkey authority`);
1126
- const rpId = requireResponseRpId(args.response.rpId, responseName);
1127
- const credentialIdB64u = requireResponseString({
1128
- responseName,
1129
- field: "authMethod.credentialIdB64u",
1130
- value: authMethod.credentialIdB64u
1131
- });
1132
- if (String(args.authority.factor.credentialIdB64u) !== credentialIdB64u || String(args.authority.verifier.rpId) !== String(rpId)) throw new Error(`${responseName} response passkey authority binding mismatch`);
1133
- return {
1134
- kind: "passkey",
1135
- rpId,
1136
- authMethod: {
1137
- kind: "passkey",
1138
- credentialIdB64u,
1139
- credentialPublicKeyB64u: requireResponseString({
1140
- responseName,
1141
- field: "authMethod.credentialPublicKeyB64u",
1142
- value: authMethod.credentialPublicKeyB64u
1143
- })
1144
- }
1145
- };
1146
- }
1147
- case "email_otp":
1148
- assertExactResponseKeys(authMethod, ["kind", "registrationAuthorityId"], responseName);
1149
- if (isPasskeyWalletAuthAuthority(args.authority) || args.response.rpId !== void 0) throw new Error(`${responseName} response has inconsistent email OTP authority`);
1150
- return {
1151
- kind: "email_otp",
1152
- authMethod: {
1153
- kind: "email_otp",
1154
- registrationAuthorityId: requireResponseString({
1155
- responseName,
1156
- field: "authMethod.registrationAuthorityId",
1157
- value: authMethod.registrationAuthorityId
1158
- })
1159
- }
1160
- };
1161
- default: throw new Error(`${responseName} response has invalid authMethod`);
1162
- }
1163
- }
1164
- function parseWalletRegistrationNearAccountProvisioning(value) {
1165
- const responseName = "Wallet registration finalize";
1166
- const provisioning = requireResponseRecord({
1167
- responseName,
1168
- field: "accountProvisioning",
1169
- value
1170
- });
1171
- switch (provisioning.kind) {
1172
- case "implicit_account":
1173
- assertExactResponseKeys(provisioning, ["kind", "accountIdSource"], responseName);
1174
- if (provisioning.accountIdSource !== "ed25519_public_key") throw new Error(`${responseName} response has invalid implicit account provisioning`);
1175
- return {
1176
- kind: "implicit_account",
1177
- accountIdSource: "ed25519_public_key"
1178
- };
1179
- case "sponsored_named_account": {
1180
- assertExactResponseKeys(provisioning, [
1181
- "kind",
1182
- "requestedAccountId",
1183
- "sponsor"
1184
- ], responseName);
1185
- const requestedAccountId = parseNamedNearAccountId(provisioning.requestedAccountId);
1186
- if (!requestedAccountId.ok || provisioning.sponsor !== "relayer") throw new Error(`${responseName} response has invalid named account provisioning`);
1187
- return {
1188
- kind: "sponsored_named_account",
1189
- requestedAccountId: requestedAccountId.value,
1190
- sponsor: "relayer"
1191
- };
1192
- }
1193
- default: throw new Error(`${responseName} response has invalid accountProvisioning kind`);
1194
- }
1195
- }
1196
- function parseWalletRegistrationResolvedNearAccount(value) {
1197
- const responseName = "Wallet registration finalize";
1198
- const resolved = requireResponseRecord({
1199
- responseName,
1200
- field: "resolvedAccount",
1201
- value
1202
- });
1203
- switch (resolved.kind) {
1204
- case "implicit_account": {
1205
- assertExactResponseKeys(resolved, [
1206
- "kind",
1207
- "nearAccountId",
1208
- "nearEd25519SigningKeyId"
1209
- ], responseName);
1210
- const nearAccountId = parseImplicitNearAccountId(resolved.nearAccountId);
1211
- if (!nearAccountId.ok) throw new Error(`${responseName} response has invalid implicit nearAccountId`);
1212
- return {
1213
- kind: "implicit_account",
1214
- nearAccountId: nearAccountId.value,
1215
- nearEd25519SigningKeyId: parseNearEd25519SigningKeyId(resolved.nearEd25519SigningKeyId)
1216
- };
1217
- }
1218
- case "sponsored_named_account": {
1219
- assertExactResponseKeys(resolved, [
1220
- "kind",
1221
- "nearAccountId",
1222
- "nearEd25519SigningKeyId",
1223
- "transactionHash"
1224
- ], responseName);
1225
- const nearAccountId = parseNamedNearAccountId(resolved.nearAccountId);
1226
- if (!nearAccountId.ok) throw new Error(`${responseName} response has invalid named nearAccountId`);
1227
- return {
1228
- kind: "sponsored_named_account",
1229
- nearAccountId: nearAccountId.value,
1230
- nearEd25519SigningKeyId: parseNearEd25519SigningKeyId(resolved.nearEd25519SigningKeyId),
1231
- transactionHash: requireResponseString({
1232
- responseName,
1233
- field: "resolvedAccount.transactionHash",
1234
- value: resolved.transactionHash
1235
- })
1236
- };
1237
- }
1238
- default: throw new Error(`${responseName} response has invalid resolvedAccount kind`);
1239
- }
1240
- }
1241
- function parseWalletRegistrationFinalizeEcdsaResult(args) {
1242
- const responseName = "Wallet registration finalize";
1243
- const ecdsa = requireResponseRecord({
1244
- responseName,
1245
- field: "ecdsa",
1246
- value: args.value
1247
- });
1248
- assertExactResponseKeys(ecdsa, ["walletKeys"], responseName);
1249
- if (!Array.isArray(ecdsa.walletKeys) || ecdsa.walletKeys.length === 0) throw new Error(`${responseName} response has invalid walletKeys`);
1250
- const targetKeys = /* @__PURE__ */ new Set();
1251
- return { walletKeys: ecdsa.walletKeys.map((value) => {
1252
- const walletKey = parseWalletAddSignerEcdsaWalletKey(value, responseName);
1253
- if (walletKey.walletId !== String(args.walletId)) throw new Error(`${responseName} response ECDSA walletId mismatch`);
1254
- if (String(walletKey.publicCapability.client_id) !== String(args.walletId) || walletKey.publicCapability.public_identity.context_binding_b64u !== walletKey.contextBinding32B64u || walletKey.publicCapability.public_identity.derivation_client_share_public_key33_b64u !== walletKey.derivationClientSharePublicKey33B64u || walletKey.publicCapability.public_identity.threshold_public_key33_b64u !== walletKey.thresholdEcdsaPublicKeyB64u || walletKey.publicCapability.public_identity.client_share_retry_counter !== walletKey.clientShareRetryCounter || walletKey.publicCapability.public_identity.server_share_retry_counter !== walletKey.relayerShareRetryCounter) throw new Error(`${responseName} response ECDSA public capability mismatch`);
1255
- const targetKey = thresholdEcdsaChainTargetKey(walletKey.chainTarget);
1256
- if (targetKeys.has(targetKey)) throw new Error(`${responseName} response has duplicate ECDSA target ${targetKey}`);
1257
- targetKeys.add(targetKey);
1258
- return walletKey;
1259
- }) };
1260
- }
1261
- function parseWalletRegistrationFinalizeNearResult(args) {
1262
- const responseName = "Wallet registration finalize";
1263
- const authorityScope = parseWalletRegistrationEd25519AuthorityScope(args.response.authorityScope, responseName);
1264
- const accountProvisioning = parseWalletRegistrationNearAccountProvisioning(args.response.accountProvisioning);
1265
- const resolvedAccount = parseWalletRegistrationResolvedNearAccount(args.response.resolvedAccount);
1266
- const ed25519 = parseWalletRegistrationEd25519Result(args.response.ed25519, responseName);
1267
- if (accountProvisioning.kind !== resolvedAccount.kind || resolvedAccount.nearAccountId !== ed25519.nearAccountId || resolvedAccount.nearEd25519SigningKeyId !== ed25519.nearEd25519SigningKeyId) throw new Error(`${responseName} response has inconsistent Ed25519 identity`);
1268
- if (authorityScope.kind === "passkey_rp" && (!isPasskeyWalletAuthAuthority(args.authority) || String(args.authority.verifier.rpId) !== String(authorityScope.rpId)) || authorityScope.kind === "email_otp" && (isPasskeyWalletAuthAuthority(args.authority) || args.authority.factor.provider !== authorityScope.provider || String(args.authority.factor.providerUserId) !== authorityScope.providerUserId)) throw new Error(`${responseName} response authorityScope mismatch`);
1269
- return {
1270
- authorityScope,
1271
- accountProvisioning,
1272
- resolvedAccount,
1273
- ed25519
1274
- };
1275
- }
1276
- function parseWalletRegistrationFinalizeResponse(args) {
1277
- const responseName = "Wallet registration finalize";
1278
- const response = requireResponseRecord({
1279
- responseName,
1280
- field: "body",
1281
- value: args.value
1282
- });
1283
- assertExactResponseKeys(response, [
1284
- "ok",
1285
- "walletId",
1286
- "authority",
1287
- "foundingAuthority",
1288
- "foundingAuthMethod",
1289
- "registrationDiagnostics",
1290
- "rpId",
1291
- "authMethod",
1292
- "walletCustody",
1293
- "custodyKeyManifestDigestB64u",
1294
- "kind",
1295
- "authorityScope",
1296
- "accountProvisioning",
1297
- "resolvedAccount",
1298
- "ed25519",
1299
- "ecdsa"
1300
- ], responseName);
1301
- if (response.ok !== true || response.kind !== args.expectedKind) throw new Error(`${responseName} response substituted signer branch`);
1302
- const walletId = walletIdFromString(requireResponseString({
1303
- responseName,
1304
- field: "walletId",
1305
- value: response.walletId
1306
- }));
1307
- const authority = parseWalletRegistrationFinalizeAuthority(response.authority);
1308
- const foundingAuthority = parseWalletAuthorityV1(response.foundingAuthority);
1309
- const foundingAuthMethod = parseWalletAuthMethodRecordV2(response.foundingAuthMethod);
1310
- if (!foundingAuthority.ok) throw new Error(`${responseName} response has an invalid founding authority: ${foundingAuthority.error.message}`);
1311
- if (foundingAuthority.value.state !== "active") throw new Error(`${responseName} response has an inactive founding authority`);
1312
- if (!foundingAuthMethod) throw new Error(`${responseName} response has an invalid founding auth method`);
1313
- if (foundingAuthMethod.status !== "active") throw new Error(`${responseName} response has an inactive founding auth method`);
1314
- if (foundingAuthority.value.walletId !== walletId || foundingAuthMethod.walletId !== walletId) throw new Error(`${responseName} response changed the founding wallet identity`);
1315
- if (foundingAuthMethod.walletAuthorityId !== foundingAuthority.value.authorityId) throw new Error(`${responseName} response has mismatched founding authority identities`);
1316
- if (foundingAuthMethod.walletAuthMethodId !== authority.bindingId) throw new Error(`${responseName} response has mismatched founding auth-method identities`);
1317
- const authorityBranch = parseWalletRegistrationFinalizeAuthorityBranch({
1318
- response,
1319
- walletId,
1320
- authority
1321
- });
1322
- const registrationDiagnostics = response.registrationDiagnostics === void 0 ? void 0 : parseWalletRegistrationFinalizeDiagnostics(response.registrationDiagnostics);
1323
- const walletCustody = response.walletCustody === void 0 ? {} : { walletCustody: parseWalletCustodyRegistrationOutcome(response.walletCustody, responseName) };
1324
- const custodyKeyManifestDigestB64u = response.custodyKeyManifestDigestB64u === void 0 ? void 0 : requireResponseString({
1325
- responseName,
1326
- field: "custodyKeyManifestDigestB64u",
1327
- value: response.custodyKeyManifestDigestB64u
1328
- });
1329
- if (custodyKeyManifestDigestB64u !== void 0 && base64UrlDecode(custodyKeyManifestDigestB64u).byteLength !== 32) throw new Error(`${responseName} response has invalid custodyKeyManifestDigestB64u`);
1330
- const manifest = custodyKeyManifestDigestB64u === void 0 ? {} : { custodyKeyManifestDigestB64u };
1331
- switch (response.kind) {
1332
- case "near_ed25519": {
1333
- if (response.ecdsa !== void 0) throw new Error(`${responseName} response mixed signer branches`);
1334
- const near = parseWalletRegistrationFinalizeNearResult({
1335
- response,
1336
- walletId,
1337
- authority
1338
- });
1339
- if (authorityBranch.kind === "passkey") return {
1340
- ok: true,
1341
- walletId,
1342
- authority,
1343
- foundingAuthority: foundingAuthority.value,
1344
- foundingAuthMethod,
1345
- ...registrationDiagnostics ? { registrationDiagnostics } : {},
1346
- ...walletCustody,
1347
- ...manifest,
1348
- rpId: authorityBranch.rpId,
1349
- authMethod: authorityBranch.authMethod,
1350
- kind: "near_ed25519",
1351
- authorityScope: near.authorityScope,
1352
- accountProvisioning: near.accountProvisioning,
1353
- resolvedAccount: near.resolvedAccount,
1354
- ed25519: near.ed25519
1355
- };
1356
- return {
1357
- ok: true,
1358
- walletId,
1359
- authority,
1360
- foundingAuthority: foundingAuthority.value,
1361
- foundingAuthMethod,
1362
- ...registrationDiagnostics ? { registrationDiagnostics } : {},
1363
- ...walletCustody,
1364
- ...manifest,
1365
- authMethod: authorityBranch.authMethod,
1366
- kind: "near_ed25519",
1367
- authorityScope: near.authorityScope,
1368
- accountProvisioning: near.accountProvisioning,
1369
- resolvedAccount: near.resolvedAccount,
1370
- ed25519: near.ed25519
1371
- };
1372
- }
1373
- case "evm_family_ecdsa": {
1374
- if (response.authorityScope !== void 0 || response.accountProvisioning !== void 0 || response.resolvedAccount !== void 0 || response.ed25519 !== void 0) throw new Error(`${responseName} response mixed signer branches`);
1375
- const ecdsa = parseWalletRegistrationFinalizeEcdsaResult({
1376
- value: response.ecdsa,
1377
- walletId
1378
- });
1379
- if (authorityBranch.kind === "passkey") return {
1380
- ok: true,
1381
- walletId,
1382
- authority,
1383
- foundingAuthority: foundingAuthority.value,
1384
- foundingAuthMethod,
1385
- ...registrationDiagnostics ? { registrationDiagnostics } : {},
1386
- ...walletCustody,
1387
- ...manifest,
1388
- rpId: authorityBranch.rpId,
1389
- authMethod: authorityBranch.authMethod,
1390
- kind: "evm_family_ecdsa",
1391
- ecdsa
1392
- };
1393
- return {
1394
- ok: true,
1395
- walletId,
1396
- authority,
1397
- foundingAuthority: foundingAuthority.value,
1398
- foundingAuthMethod,
1399
- ...registrationDiagnostics ? { registrationDiagnostics } : {},
1400
- ...walletCustody,
1401
- ...manifest,
1402
- authMethod: authorityBranch.authMethod,
1403
- kind: "evm_family_ecdsa",
1404
- ecdsa
1405
- };
1406
- }
1407
- default: throw new Error(`${responseName} response has invalid kind`);
1408
- }
1409
- }
1410
- //#endregion
1411
- //#region src/core/rpcClients/relayer/walletRegistration.ts
1412
- /**
1413
- * Declared once in the shared package. The server mints these options, this
1414
- * client hands them to `navigator.credentials.create`, and the linked-device
1415
- * target preparation carries them to Device 2 — one declaration, so none of
1416
- * the three can drift from the ceremony.
1417
- */
1418
- const REGISTRATION_ROUTE_PAYLOAD_DIAGNOSTICS_LABEL = "[Registration] wallet route payload summary";
1419
- const ROUTE_PAYLOAD_BREAKDOWN_MAX_DEPTH = 2;
1420
- const ROUTE_PAYLOAD_BREAKDOWN_MAX_FIELDS = 64;
1421
- const WALLET_REGISTRATION_SETUP_PATH = "/wallets/register/setup";
1422
- const WALLET_REGISTRATION_RESPOND_PATH = "/wallets/register/respond";
1423
- const WALLET_REGISTRATION_ACTIVATE_PATH = "/wallets/register/activate";
1424
- const WALLET_REGISTRATION_NEAR_PROVISIONING_PATH = "/wallets/register/near-provisioning";
1425
- /** Managed environment id header for Router API `api_credentials` auth. */
1426
- const ROUTER_API_ENVIRONMENT_ID_HEADER = "X-Seams-Environment-Id";
1427
- const WALLET_REGISTRATION_PREPARE_PATH = "/wallets/register/prepare";
1428
- const WRANGLER_WORKER_RESTARTED_MID_REQUEST = "Your worker restarted mid-request";
1429
- function utf8Bytes(value) {
1430
- try {
1431
- return new TextEncoder().encode(String(value || "")).length;
1432
- } catch {
1433
- return String(value || "").length;
1434
- }
1435
- }
1436
- function registrationBenchmarkDiagnosticsEnabled() {
1437
- try {
1438
- return globalThis.__SEAMS_REGISTRATION_BENCHMARK_DIAGNOSTICS === true;
1439
- } catch {
1440
- return false;
1441
- }
1442
- }
1443
- function collectPayloadSizeBreakdown(input) {
1444
- if (!input.value || typeof input.value !== "object" || Array.isArray(input.value)) return;
1445
- if (Object.keys(input.out).length >= ROUTE_PAYLOAD_BREAKDOWN_MAX_FIELDS) return;
1446
- for (const [key, entry] of Object.entries(input.value)) {
1447
- if (Object.keys(input.out).length >= ROUTE_PAYLOAD_BREAKDOWN_MAX_FIELDS) return;
1448
- const fieldPath = input.path ? `${input.path}.${key}` : key;
1449
- if (typeof entry === "string") input.out[`${fieldPath}Bytes`] = utf8Bytes(entry);
1450
- else if (Array.isArray(entry)) input.out[`${fieldPath}Count`] = entry.length;
1451
- else if (input.depth > 0 && entry && typeof entry === "object") collectPayloadSizeBreakdown({
1452
- value: entry,
1453
- out: input.out,
1454
- path: fieldPath,
1455
- depth: input.depth - 1
1456
- });
1457
- }
1458
- }
1459
- function payloadSizeBreakdown(value) {
1460
- const out = {};
1461
- collectPayloadSizeBreakdown({
1462
- value,
1463
- out,
1464
- path: "",
1465
- depth: ROUTE_PAYLOAD_BREAKDOWN_MAX_DEPTH
1466
- });
1467
- return out;
1468
- }
1469
- function parseJsonText(text) {
1470
- try {
1471
- return JSON.parse(text);
1472
- } catch {
1473
- return;
1474
- }
1475
- }
1476
- function readParsedJsonField(value, field) {
1477
- if (value === null || typeof value !== "object" || Array.isArray(value)) return void 0;
1478
- return Reflect.get(value, field);
1479
- }
1480
- async function readResponseText(response) {
1481
- try {
1482
- return await response.text();
1483
- } catch {
1484
- return "{}";
1485
- }
1486
- }
1487
- function walletRegistrationPostMaxAttempts(path) {
1488
- return path === WALLET_REGISTRATION_PREPARE_PATH ? 2 : 1;
1489
- }
1490
- function isWranglerWorkerRestartedMidRequestResponse(input) {
1491
- return input.path === WALLET_REGISTRATION_PREPARE_PATH && input.attempt === 0 && input.status === 503 && input.responseText.includes(WRANGLER_WORKER_RESTARTED_MID_REQUEST);
1492
- }
1493
- async function postJson(args) {
1494
- const startedAt = Date.now();
1495
- const requestBody = JSON.stringify(args.body);
1496
- const maxAttempts = walletRegistrationPostMaxAttempts(args.path);
1497
- for (let attempt = 0; attempt < maxAttempts; attempt += 1) {
1498
- const response = await fetch(`${normalizeRelayerBaseUrl(args.relayerUrl, { trim: false })}${args.path}`, buildRelayerJsonPostRequestInit({
1499
- headers: args.headers,
1500
- body: args.body,
1501
- bodyJson: requestBody
1502
- }));
1503
- if (args.onServerTiming) try {
1504
- args.onServerTiming(response.headers.get("Server-Timing"));
1505
- } catch {}
1506
- const responseText = await readResponseText(response);
1507
- const data = parseJsonText(responseText);
1508
- if (registrationBenchmarkDiagnosticsEnabled()) console.info(REGISTRATION_ROUTE_PAYLOAD_DIAGNOSTICS_LABEL, {
1509
- path: args.path,
1510
- status: response.status,
1511
- attempt,
1512
- requestBytes: utf8Bytes(requestBody),
1513
- requestSizeBreakdown: payloadSizeBreakdown(args.body),
1514
- responseBytes: utf8Bytes(responseText),
1515
- responseSizeBreakdown: payloadSizeBreakdown(data),
1516
- totalMs: Date.now() - startedAt
1517
- });
1518
- if (isWranglerWorkerRestartedMidRequestResponse({
1519
- path: args.path,
1520
- status: response.status,
1521
- responseText,
1522
- attempt
1523
- })) continue;
1524
- if (!response.ok || readParsedJsonField(data, "ok") === false) throw new Error(String(readParsedJsonField(data, "message") || readParsedJsonField(data, "error") || readParsedJsonField(data, "code") || `HTTP ${response.status}`));
1525
- return data;
1526
- }
1527
- throw new Error("wallet registration request exhausted retry attempts");
1528
- }
1529
- const FUND_IMPLICIT_NEAR_SUCCESS_REQUIRED_FIELDS = [
1530
- "ok",
1531
- "walletId",
1532
- "nearAccountId",
1533
- "fundedAmountYocto"
1534
- ];
1535
- const FUND_IMPLICIT_NEAR_SUCCESS_OPTIONAL_FIELDS = ["transactionHash", "message"];
1536
- const FUND_IMPLICIT_NEAR_FAILURE_FIELDS = [
1537
- "ok",
1538
- "code",
1539
- "message"
1540
- ];
1541
- function requireFundImplicitNearResponseObject(value, label) {
1542
- if (value === null || typeof value !== "object" || Array.isArray(value)) throw new Error(`${label} must be an object`);
1543
- return value;
1544
- }
1545
- function assertFundImplicitNearResponseFields(value, requiredFields, optionalFields, label) {
1546
- const allowedFields = new Set([...requiredFields, ...optionalFields]);
1547
- const actualFields = Object.keys(value);
1548
- if (actualFields.some((field) => !allowedFields.has(field))) throw new Error(`${label} contains unexpected fields`);
1549
- for (const field of requiredFields) if (!actualFields.includes(field)) throw new Error(`${label}.${field} is required`);
1550
- }
1551
- function readFundImplicitNearResponseField(value, field) {
1552
- return Reflect.get(value, field);
1553
- }
1554
- function requireFundImplicitNearResponseString(value, field) {
1555
- if (typeof value !== "string" || value.trim().length === 0) throw new Error(`${field} must be a non-empty string`);
1556
- return value.trim();
1557
- }
1558
- function requireFundImplicitNearOptionalString(value, field) {
1559
- if (value === void 0) return void 0;
1560
- if (typeof value !== "string") throw new Error(`${field} must be a string`);
1561
- return value;
1562
- }
1563
- function parseFundImplicitNearAccountForTestingResponse(value) {
1564
- const response = requireFundImplicitNearResponseObject(value, "fund implicit NEAR account response");
1565
- const ok = readFundImplicitNearResponseField(response, "ok");
1566
- if (ok === true) {
1567
- assertFundImplicitNearResponseFields(response, FUND_IMPLICIT_NEAR_SUCCESS_REQUIRED_FIELDS, FUND_IMPLICIT_NEAR_SUCCESS_OPTIONAL_FIELDS, "fund implicit NEAR account success response");
1568
- const walletIdResult = parseWalletId(readFundImplicitNearResponseField(response, "walletId"));
1569
- if (!walletIdResult.ok) throw new Error("fund implicit NEAR account walletId is invalid");
1570
- const nearAccountIdResult = parseImplicitNearAccountId(readFundImplicitNearResponseField(response, "nearAccountId"));
1571
- if (!nearAccountIdResult.ok) throw new Error("fund implicit NEAR account nearAccountId is invalid");
1572
- const transactionHash = requireFundImplicitNearOptionalString(readFundImplicitNearResponseField(response, "transactionHash"), "fund implicit NEAR account transactionHash");
1573
- const message = requireFundImplicitNearOptionalString(readFundImplicitNearResponseField(response, "message"), "fund implicit NEAR account message");
1574
- return {
1575
- ok: true,
1576
- walletId: walletIdResult.value,
1577
- nearAccountId: nearAccountIdResult.value,
1578
- fundedAmountYocto: requireFundImplicitNearResponseString(readFundImplicitNearResponseField(response, "fundedAmountYocto"), "fund implicit NEAR account fundedAmountYocto"),
1579
- ...transactionHash === void 0 ? {} : { transactionHash },
1580
- ...message === void 0 ? {} : { message }
1581
- };
1582
- }
1583
- if (ok === false) {
1584
- assertFundImplicitNearResponseFields(response, FUND_IMPLICIT_NEAR_FAILURE_FIELDS, [], "fund implicit NEAR account failure response");
1585
- return {
1586
- ok: false,
1587
- code: requireFundImplicitNearResponseString(readFundImplicitNearResponseField(response, "code"), "fund implicit NEAR account code"),
1588
- message: requireFundImplicitNearResponseString(readFundImplicitNearResponseField(response, "message"), "fund implicit NEAR account message")
1589
- };
1590
- }
1591
- throw new Error("fund implicit NEAR account response has an invalid ok discriminator");
1592
- }
1593
- async function fundImplicitNearAccountForTesting(args) {
1594
- const walletId = String(args.walletId || "").trim();
1595
- const nearAccountId = String(args.nearAccountId || "").trim();
1596
- const nearPublicKeyStr = String(args.nearPublicKeyStr || "").trim();
1597
- const walletSessionToken = String(args.walletSessionToken || "").trim();
1598
- if (!walletId) throw new Error("walletId is required for implicit NEAR account funding");
1599
- if (!nearAccountId) throw new Error("nearAccountId is required for implicit NEAR account funding");
1600
- if (!nearPublicKeyStr) throw new Error("nearPublicKeyStr is required for implicit NEAR account funding");
1601
- if (!walletSessionToken) throw new Error("walletSessionToken is required for implicit NEAR account funding");
1602
- return parseFundImplicitNearAccountForTestingResponse(await postJson({
1603
- relayerUrl: args.relayerUrl,
1604
- path: `/wallets/${encodeURIComponent(walletId)}/near/implicit-account/fund`,
1605
- headers: buildBearerAuthorizationHeader({
1606
- token: walletSessionToken,
1607
- missingMessage: "walletSessionToken is required for implicit NEAR account funding"
1608
- }),
1609
- body: {
1610
- nearAccountId,
1611
- nearPublicKeyStr
1612
- }
1613
- }));
1614
- }
1615
- function registrationPreparationIdFromString(value) {
1616
- const normalized = String(value || "").trim();
1617
- if (!normalized) throw new Error("Registration preparation id is required");
1618
- return normalized;
1619
- }
1620
- const WALLET_REGISTRATION_ECDSA_PREPARE_FIELDS = [
1621
- "formatVersion",
1622
- "walletId",
1623
- "evmFamilySigningKeySlotId",
1624
- "ecdsaThresholdKeyId",
1625
- "signingRootId",
1626
- "signingRootVersion",
1627
- "keyScope",
1628
- "relayerKeyId",
1629
- "registrationPreparationId",
1630
- "requestId",
1631
- "thresholdSessionId",
1632
- "ttlMs",
1633
- "remainingUses",
1634
- "participantIds",
1635
- "runtimePolicyScope"
1636
- ];
1637
- function requireWalletRegistrationResponseObject(args) {
1638
- if (args.value === null || typeof args.value !== "object" || Array.isArray(args.value)) throw new Error(`${args.responseName} response missing ${args.field}`);
1639
- return args.value;
1640
- }
1641
- function readWalletRegistrationResponseField(record, field, label) {
1642
- if (!Object.keys(record).includes(field)) throw new Error(`${label} is missing ${field}`);
1643
- return Reflect.get(record, field);
1644
- }
1645
- function readOptionalWalletRegistrationResponseField(record, field, _label) {
1646
- if (!Object.keys(record).includes(field)) return void 0;
1647
- return Reflect.get(record, field);
1648
- }
1649
- function assertWalletRegistrationResponseKeys(record, allowed, label) {
1650
- const allowedSet = new Set(allowed);
1651
- for (const key of Object.keys(record)) if (!allowedSet.has(key)) throw new Error(`${label} contains unexpected ${key}`);
1652
- }
1653
- function requireWalletRegistrationResponseArray(value, label) {
1654
- if (!Array.isArray(value)) throw new Error(`${label} must be an array`);
1655
- return value;
1656
- }
1657
- function hasWalletRegistrationResponseField(record, field) {
1658
- return Object.keys(record).includes(field);
1659
- }
1660
- function requireWalletRegistrationSetupString(value, label) {
1661
- if (typeof value !== "string" || value.length === 0 || value.trim() !== value) throw new Error(`${label} must be a non-empty canonical string`);
1662
- return value;
1663
- }
1664
- function requireWalletRegistrationSetupSafeInteger(value, label, minimum) {
1665
- if (typeof value !== "number" || !Number.isSafeInteger(value) || value < minimum) throw new Error(`${label} must be a safe integer`);
1666
- return value;
1667
- }
1668
- function readWalletRegistrationSetupString(record, field, label) {
1669
- return requireWalletRegistrationSetupString(readWalletRegistrationResponseField(record, field, label), `${label}.${field}`);
1670
- }
1671
- function readWalletRegistrationSetupOptionalString(record, field, label) {
1672
- if (!hasWalletRegistrationResponseField(record, field)) return void 0;
1673
- return requireWalletRegistrationSetupString(readWalletRegistrationResponseField(record, field, label), `${label}.${field}`);
1674
- }
1675
- function readWalletRegistrationSetupSafeInteger(record, field, label, minimum) {
1676
- return requireWalletRegistrationSetupSafeInteger(readWalletRegistrationResponseField(record, field, label), `${label}.${field}`, minimum);
1677
- }
1678
- function parseWalletRegistrationSetupParticipantIds(value, label) {
1679
- const values = requireWalletRegistrationResponseArray(value, label);
1680
- if (values.length === 0) throw new Error(`${label} must not be empty`);
1681
- const participantIds = [];
1682
- for (let index = 0; index < values.length; index += 1) participantIds.push(requireWalletRegistrationSetupSafeInteger(values[index], `${label}[${index}]`, 1));
1683
- return participantIds;
1684
- }
1685
- function parseWalletRegistrationSetupParticipantPair(value, label) {
1686
- const participantIds = parseWalletRegistrationSetupParticipantIds(value, label);
1687
- if (participantIds.length !== 2 || participantIds[0] !== 1 || participantIds[1] !== 2) throw new Error(`${label} must be [1, 2]`);
1688
- return [1, 2];
1689
- }
1690
- function parseWalletRegistrationSetupRuntimePolicyScope(value, responseName, requireSigningRootVersion = false) {
1691
- if (value === void 0) return void 0;
1692
- const scopeName = `${responseName} runtimePolicyScope`;
1693
- const scope = requireWalletRegistrationResponseObject({
1694
- responseName: scopeName,
1695
- field: "value",
1696
- value
1697
- });
1698
- assertWalletRegistrationResponseKeys(scope, [
1699
- "orgId",
1700
- "projectId",
1701
- "envId",
1702
- "signingRootVersion"
1703
- ], scopeName);
1704
- const signingRootVersion = readWalletRegistrationSetupOptionalString(scope, "signingRootVersion", scopeName);
1705
- if (requireSigningRootVersion && signingRootVersion === void 0) throw new Error(`${scopeName}.signingRootVersion is required`);
1706
- const base = {
1707
- orgId: readWalletRegistrationSetupString(scope, "orgId", scopeName),
1708
- projectId: readWalletRegistrationSetupString(scope, "projectId", scopeName),
1709
- envId: readWalletRegistrationSetupString(scope, "envId", scopeName)
1710
- };
1711
- return signingRootVersion === void 0 ? base : {
1712
- ...base,
1713
- signingRootVersion
1714
- };
1715
- }
1716
- function parseWalletRegistrationSetupPrepareRuntimePolicyScope(value, responseName) {
1717
- const runtimePolicyScope = parseWalletRegistrationSetupRuntimePolicyScope(value, responseName, true);
1718
- if (!runtimePolicyScope || runtimePolicyScope.signingRootVersion === void 0) throw new Error(`${responseName} runtimePolicyScope is invalid`);
1719
- return {
1720
- orgId: runtimePolicyScope.orgId,
1721
- projectId: runtimePolicyScope.projectId,
1722
- envId: runtimePolicyScope.envId,
1723
- signingRootVersion: runtimePolicyScope.signingRootVersion
1724
- };
1725
- }
1726
- function parseWalletRegistrationSetupAuthMethod(value) {
1727
- const responseName = "Wallet registration setup intent authMethod";
1728
- const authMethod = requireWalletRegistrationResponseObject({
1729
- responseName,
1730
- field: "value",
1731
- value
1732
- });
1733
- switch (readWalletRegistrationSetupString(authMethod, "kind", responseName)) {
1734
- case "passkey":
1735
- assertWalletRegistrationResponseKeys(authMethod, [
1736
- "kind",
1737
- "rpId",
1738
- "authenticatorOptions"
1739
- ], responseName);
1740
- if (!parseWebAuthnRpId(readWalletRegistrationSetupString(authMethod, "rpId", responseName)).ok) throw new Error(`${responseName}.rpId is invalid`);
1741
- if (!hasWalletRegistrationResponseField(authMethod, "authenticatorOptions")) break;
1742
- if (readWalletRegistrationResponseField(authMethod, "authenticatorOptions", responseName) === void 0) throw new Error(`${responseName}.authenticatorOptions must be defined when present`);
1743
- break;
1744
- case "email_otp":
1745
- switch (readWalletRegistrationSetupString(authMethod, "proofKind", responseName)) {
1746
- case "otp_challenge":
1747
- assertWalletRegistrationResponseKeys(authMethod, [
1748
- "kind",
1749
- "proofKind",
1750
- "email",
1751
- "providerSubject",
1752
- "otpCode",
1753
- "challengeId"
1754
- ], responseName);
1755
- readWalletRegistrationSetupOptionalString(authMethod, "challengeId", responseName);
1756
- readWalletRegistrationSetupString(authMethod, "email", responseName);
1757
- readWalletRegistrationSetupString(authMethod, "providerSubject", responseName);
1758
- readWalletRegistrationSetupString(authMethod, "otpCode", responseName);
1759
- break;
1760
- case "google_sso_registration":
1761
- assertWalletRegistrationResponseKeys(authMethod, [
1762
- "kind",
1763
- "proofKind",
1764
- "email",
1765
- "providerSubject",
1766
- "googleEmailOtpRegistrationAttemptId",
1767
- "googleEmailOtpRegistrationOfferId",
1768
- "googleEmailOtpRegistrationCandidateId"
1769
- ], responseName);
1770
- readWalletRegistrationSetupString(authMethod, "email", responseName);
1771
- readWalletRegistrationSetupString(authMethod, "providerSubject", responseName);
1772
- readWalletRegistrationSetupString(authMethod, "googleEmailOtpRegistrationAttemptId", responseName);
1773
- readWalletRegistrationSetupString(authMethod, "googleEmailOtpRegistrationOfferId", responseName);
1774
- readWalletRegistrationSetupString(authMethod, "googleEmailOtpRegistrationCandidateId", responseName);
1775
- break;
1776
- default: throw new Error(`${responseName}.proofKind is invalid`);
1777
- }
1778
- break;
1779
- default: throw new Error(`${responseName}.kind is invalid`);
1780
- }
1781
- const normalized = normalizeRegistrationAuthMethodInput(value);
1782
- if (!normalized) throw new Error(`${responseName} is invalid`);
1783
- return normalized;
1784
- }
1785
- function parseWalletRegistrationSetupNearAccountProvisioning(value) {
1786
- const responseName = "Wallet registration setup intent accountProvisioning";
1787
- const provisioning = requireWalletRegistrationResponseObject({
1788
- responseName,
1789
- field: "value",
1790
- value
1791
- });
1792
- const kind = readWalletRegistrationSetupString(provisioning, "kind", responseName);
1793
- switch (kind) {
1794
- case "implicit_account":
1795
- assertWalletRegistrationResponseKeys(provisioning, ["kind", "accountIdSource"], responseName);
1796
- if (readWalletRegistrationSetupString(provisioning, "accountIdSource", responseName) !== "ed25519_public_key") throw new Error(`${responseName}.accountIdSource is invalid`);
1797
- return {
1798
- kind,
1799
- accountIdSource: "ed25519_public_key"
1800
- };
1801
- case "sponsored_named_account": {
1802
- assertWalletRegistrationResponseKeys(provisioning, [
1803
- "kind",
1804
- "requestedAccountId",
1805
- "sponsor"
1806
- ], responseName);
1807
- if (readWalletRegistrationSetupString(provisioning, "sponsor", responseName) !== "relayer") throw new Error(`${responseName}.sponsor is invalid`);
1808
- const requestedAccountId = parseNamedNearAccountId(readWalletRegistrationSetupString(provisioning, "requestedAccountId", responseName));
1809
- if (!requestedAccountId.ok) throw new Error(`${responseName}.requestedAccountId is invalid`);
1810
- return {
1811
- kind,
1812
- requestedAccountId: requestedAccountId.value,
1813
- sponsor: "relayer"
1814
- };
1815
- }
1816
- default: throw new Error(`${responseName}.kind is invalid`);
1817
- }
1818
- }
1819
- function sameWalletRegistrationSetupChainTarget(left, right) {
1820
- switch (left.kind) {
1821
- case "evm": return right.kind === "evm" && left.namespace === right.namespace && left.chainId === right.chainId && left.networkSlug === right.networkSlug;
1822
- case "tempo": return right.kind === "tempo" && left.chainId === right.chainId && left.networkSlug === right.networkSlug;
1823
- default: return assertNeverWalletRegistrationSetupChainTarget(left);
1824
- }
1825
- }
1826
- function assertNeverWalletRegistrationSetupChainTarget(value) {
1827
- throw new Error(`Unsupported wallet registration setup chain target: ${String(value)}`);
1828
- }
1829
- function parseWalletRegistrationSetupEcdsaChainTarget(value, responseName) {
1830
- const target = requireWalletRegistrationResponseObject({
1831
- responseName,
1832
- field: "chainTarget",
1833
- value
1834
- });
1835
- const kind = readWalletRegistrationSetupString(target, "kind", responseName);
1836
- switch (kind) {
1837
- case "evm": {
1838
- assertWalletRegistrationResponseKeys(target, [
1839
- "kind",
1840
- "namespace",
1841
- "chainId",
1842
- "networkSlug"
1843
- ], responseName);
1844
- if (readWalletRegistrationSetupString(target, "namespace", responseName) !== "eip155") throw new Error(`${responseName}.namespace is invalid`);
1845
- const chainId = readWalletRegistrationSetupSafeInteger(target, "chainId", responseName, 1);
1846
- const networkSlug = readWalletRegistrationSetupOptionalString(target, "networkSlug", responseName);
1847
- return networkSlug === void 0 ? {
1848
- kind,
1849
- namespace: "eip155",
1850
- chainId
1851
- } : {
1852
- kind,
1853
- namespace: "eip155",
1854
- chainId,
1855
- networkSlug
1856
- };
1857
- }
1858
- case "tempo": {
1859
- assertWalletRegistrationResponseKeys(target, [
1860
- "kind",
1861
- "chainId",
1862
- "networkSlug"
1863
- ], responseName);
1864
- const chainId = readWalletRegistrationSetupSafeInteger(target, "chainId", responseName, 1);
1865
- const networkSlug = readWalletRegistrationSetupOptionalString(target, "networkSlug", responseName);
1866
- return networkSlug === void 0 ? {
1867
- kind,
1868
- chainId
1869
- } : {
1870
- kind,
1871
- chainId,
1872
- networkSlug
1873
- };
1874
- }
1875
- default: throw new Error(`${responseName}.kind is invalid`);
1876
- }
1877
- }
1878
- function normalizeWalletRegistrationSetupEcdsaChainTarget(value) {
1879
- try {
1880
- return parseWalletRegistrationSetupEcdsaChainTarget(value, "Wallet registration setup intent");
1881
- } catch {
1882
- return null;
1883
- }
1884
- }
1885
- function parseWalletRegistrationSetupSignerRequest(value) {
1886
- const responseName = "Wallet registration setup intent signer";
1887
- const signer = requireWalletRegistrationResponseObject({
1888
- responseName,
1889
- field: "value",
1890
- value
1891
- });
1892
- const kind = readWalletRegistrationSetupString(signer, "kind", responseName);
1893
- switch (kind) {
1894
- case "near_ed25519":
1895
- assertWalletRegistrationResponseKeys(signer, [
1896
- "kind",
1897
- "accountProvisioning",
1898
- "signerSlot",
1899
- "participantIds",
1900
- "derivationVersion"
1901
- ], responseName);
1902
- if (readWalletRegistrationSetupSafeInteger(signer, "derivationVersion", responseName, 1) !== 1) throw new Error(`${responseName}.derivationVersion is invalid`);
1903
- return {
1904
- kind,
1905
- accountProvisioning: parseWalletRegistrationSetupNearAccountProvisioning(readWalletRegistrationResponseField(signer, "accountProvisioning", responseName)),
1906
- signerSlot: readWalletRegistrationSetupSafeInteger(signer, "signerSlot", responseName, 1),
1907
- participantIds: parseWalletRegistrationSetupParticipantIds(readWalletRegistrationResponseField(signer, "participantIds", responseName), `${responseName}.participantIds`),
1908
- derivationVersion: 1
1909
- };
1910
- case "evm_family_ecdsa": {
1911
- assertWalletRegistrationResponseKeys(signer, [
1912
- "kind",
1913
- "participantIds",
1914
- "chainTargets"
1915
- ], responseName);
1916
- const chainTargets = requireWalletRegistrationResponseArray(readWalletRegistrationResponseField(signer, "chainTargets", responseName), `${responseName}.chainTargets`);
1917
- if (chainTargets.length === 0) throw new Error(`${responseName}.chainTargets must not be empty`);
1918
- const parsedChainTargets = [];
1919
- for (const chainTarget of chainTargets) {
1920
- const parsed = parseWalletRegistrationSetupEcdsaChainTarget(chainTarget, `${responseName}.chainTargets`);
1921
- if (parsedChainTargets.some((existing) => sameWalletRegistrationSetupChainTarget(existing, parsed))) throw new Error(`${responseName}.chainTargets contains a duplicate target`);
1922
- parsedChainTargets.push(parsed);
1923
- }
1924
- return {
1925
- kind,
1926
- participantIds: parseWalletRegistrationSetupParticipantIds(readWalletRegistrationResponseField(signer, "participantIds", responseName), `${responseName}.participantIds`),
1927
- chainTargets: parsedChainTargets
1928
- };
1929
- }
1930
- default: throw new Error(`${responseName}.kind is invalid`);
1931
- }
1932
- }
1933
- function parseWalletRegistrationSetupSignerSelection(value) {
1934
- const responseName = "Wallet registration setup intent signerSelection";
1935
- const selection = requireWalletRegistrationResponseObject({
1936
- responseName,
1937
- field: "value",
1938
- value
1939
- });
1940
- assertWalletRegistrationResponseKeys(selection, ["kind", "signers"], responseName);
1941
- if (readWalletRegistrationSetupString(selection, "kind", responseName) !== "signer_set") throw new Error(`${responseName}.kind is invalid`);
1942
- const rawSigners = requireWalletRegistrationResponseArray(readWalletRegistrationResponseField(selection, "signers", responseName), `${responseName}.signers`);
1943
- if (rawSigners.length === 0) throw new Error(`${responseName}.signers must not be empty`);
1944
- const signers = [];
1945
- for (const rawSigner of rawSigners) signers.push(parseWalletRegistrationSetupSignerRequest(rawSigner));
1946
- return {
1947
- kind: "signer_set",
1948
- signers
1949
- };
1950
- }
1951
- function parseWalletRegistrationSetupIntent(value) {
1952
- const responseName = "Wallet registration setup intent";
1953
- const intent = requireWalletRegistrationResponseObject({
1954
- responseName,
1955
- field: "intent",
1956
- value
1957
- });
1958
- assertWalletRegistrationResponseKeys(intent, [
1959
- "version",
1960
- "walletId",
1961
- "authMethod",
1962
- "signerSelection",
1963
- "foundingWalletAuthMethodId",
1964
- "runtimePolicyScope",
1965
- "nonceB64u"
1966
- ], responseName);
1967
- if (readWalletRegistrationSetupString(intent, "version", responseName) !== "registration_intent_v1") throw new Error(`${responseName}.version is invalid`);
1968
- const walletId = parseWalletId(readWalletRegistrationSetupString(intent, "walletId", responseName));
1969
- if (!walletId.ok) throw new Error(`${responseName}.walletId is invalid`);
1970
- const foundingWalletAuthMethodId = parseWalletAuthMethodId(readWalletRegistrationSetupString(intent, "foundingWalletAuthMethodId", responseName));
1971
- if (!foundingWalletAuthMethodId.ok) throw new Error(`${responseName}.foundingWalletAuthMethodId is invalid`);
1972
- const authMethod = parseWalletRegistrationSetupAuthMethod(readWalletRegistrationResponseField(intent, "authMethod", responseName));
1973
- const signerSelection = parseWalletRegistrationSetupSignerSelection(readWalletRegistrationResponseField(intent, "signerSelection", responseName));
1974
- const runtimePolicyScope = parseWalletRegistrationSetupRuntimePolicyScope(readOptionalWalletRegistrationResponseField(intent, "runtimePolicyScope", responseName), responseName);
1975
- const nonceB64u = readWalletRegistrationSetupString(intent, "nonceB64u", responseName);
1976
- return runtimePolicyScope === void 0 ? {
1977
- version: "registration_intent_v1",
1978
- walletId: walletId.value,
1979
- authMethod,
1980
- signerSelection,
1981
- foundingWalletAuthMethodId: foundingWalletAuthMethodId.value,
1982
- nonceB64u
1983
- } : {
1984
- version: "registration_intent_v1",
1985
- walletId: walletId.value,
1986
- authMethod,
1987
- signerSelection,
1988
- foundingWalletAuthMethodId: foundingWalletAuthMethodId.value,
1989
- runtimePolicyScope,
1990
- nonceB64u
1991
- };
1992
- }
1993
- function parseWalletAddSignerEcdsaRespondResponse(value) {
1994
- const responseName = "Wallet add-signer ECDSA derivation";
1995
- const response = requireWalletRegistrationResponseObject({
1996
- responseName,
1997
- field: "response",
1998
- value
1999
- });
2000
- assertWalletRegistrationResponseKeys(response, [
2001
- "ok",
2002
- "addSignerCeremonyId",
2003
- "ecdsa"
2004
- ], `${responseName} response`);
2005
- if (readWalletRegistrationResponseField(response, "ok", `${responseName} response`) !== true) throw new Error(`${responseName} response is not successful`);
2006
- const ecdsa = requireWalletRegistrationResponseObject({
2007
- responseName,
2008
- field: "ecdsa",
2009
- value: readWalletRegistrationResponseField(response, "ecdsa", `${responseName} response`)
2010
- });
2011
- assertWalletRegistrationResponseKeys(ecdsa, ["kind", "strictResult"], `${responseName} response ecdsa`);
2012
- if (readWalletRegistrationResponseField(ecdsa, "kind", `${responseName} response ecdsa`) !== "router_ab_ecdsa_registration_forwarded_v1") throw new Error(`${responseName} response kind is invalid`);
2013
- return {
2014
- ok: true,
2015
- addSignerCeremonyId: requireResponseString({
2016
- responseName,
2017
- field: "addSignerCeremonyId",
2018
- value: readWalletRegistrationResponseField(response, "addSignerCeremonyId", responseName)
2019
- }),
2020
- ecdsa: {
2021
- kind: "router_ab_ecdsa_registration_forwarded_v1",
2022
- strictResult: parseRouterAbEcdsaStrictForwardedRegistrationResponseV1(readWalletRegistrationResponseField(ecdsa, "strictResult", `${responseName} response ecdsa`))
2023
- }
2024
- };
2025
- }
2026
- function parseWalletAddSignerEcdsaActivationResponse(value) {
2027
- const responseName = "Wallet add-signer ECDSA activation";
2028
- const response = requireWalletRegistrationResponseObject({
2029
- responseName,
2030
- field: "response",
2031
- value
2032
- });
2033
- assertWalletRegistrationResponseKeys(response, [
2034
- "ok",
2035
- "addSignerCeremonyId",
2036
- "ecdsa"
2037
- ], `${responseName} response`);
2038
- if (readWalletRegistrationResponseField(response, "ok", `${responseName} response`) !== true) throw new Error(`${responseName} response is not successful`);
2039
- const ecdsa = requireWalletRegistrationResponseObject({
2040
- responseName,
2041
- field: "ecdsa",
2042
- value: readWalletRegistrationResponseField(response, "ecdsa", `${responseName} response`)
2043
- });
2044
- assertWalletRegistrationResponseKeys(ecdsa, [
2045
- "kind",
2046
- "activation",
2047
- "bootstrap"
2048
- ], `${responseName} response ecdsa`);
2049
- if (readWalletRegistrationResponseField(ecdsa, "kind", `${responseName} response ecdsa`) !== "router_ab_ecdsa_registration_activated_v1") throw new Error(`${responseName} response kind is invalid`);
2050
- return {
2051
- ok: true,
2052
- addSignerCeremonyId: requireResponseString({
2053
- responseName,
2054
- field: "addSignerCeremonyId",
2055
- value: readWalletRegistrationResponseField(response, "addSignerCeremonyId", responseName)
2056
- }),
2057
- ecdsa: {
2058
- kind: "router_ab_ecdsa_registration_activated_v1",
2059
- activation: parseRouterAbEcdsaRegistrationPublicActivationReceiptV1(readWalletRegistrationResponseField(ecdsa, "activation", `${responseName} response ecdsa`)),
2060
- bootstrap: parseThresholdEcdsaDerivationRoleLocalBootstrapValue(readWalletRegistrationResponseField(ecdsa, "bootstrap", `${responseName} response ecdsa`))
2061
- }
2062
- };
2063
- }
2064
- function isEmailOtpWalletRegistrationFinalizeResponse(response) {
2065
- return response.authMethod.kind === "email_otp";
2066
- }
2067
- function parseCreateAddAuthMethodIntentResponse(value) {
2068
- const responseName = "Wallet add-auth-method intent";
2069
- const response = requireWalletRegistrationResponseObject({
2070
- responseName,
2071
- field: "body",
2072
- value
2073
- });
2074
- assertWalletRegistrationResponseKeys(response, [
2075
- "ok",
2076
- "intent",
2077
- "addAuthMethodIntentDigestB64u",
2078
- "addAuthMethodIntentGrant",
2079
- "expiresAtMs"
2080
- ], responseName);
2081
- if (readWalletRegistrationResponseField(response, "ok", responseName) !== true) throw new Error(`${responseName} response is not successful`);
2082
- const intent = parseAddAuthMethodIntentV1(readWalletRegistrationResponseField(response, "intent", responseName));
2083
- let addAuthMethodIntentDigestB64u;
2084
- try {
2085
- addAuthMethodIntentDigestB64u = parseDigestB64u(readWalletRegistrationResponseField(response, "addAuthMethodIntentDigestB64u", responseName));
2086
- } catch {
2087
- throw new Error(`${responseName} response has invalid addAuthMethodIntentDigestB64u`);
2088
- }
2089
- const grantValue = readWalletRegistrationResponseField(response, "addAuthMethodIntentGrant", responseName);
2090
- if (typeof grantValue !== "string" || !grantValue.trim()) throw new Error(`${responseName} response is missing addAuthMethodIntentGrant`);
2091
- return {
2092
- ok: true,
2093
- intent,
2094
- addAuthMethodIntentDigestB64u,
2095
- addAuthMethodIntentGrant: addAuthMethodIntentGrantFromString(grantValue),
2096
- expiresAtMs: requireResponseSafeInteger({
2097
- responseName,
2098
- field: "expiresAtMs",
2099
- value: readWalletRegistrationResponseField(response, "expiresAtMs", responseName),
2100
- minimum: 1
2101
- })
2102
- };
2103
- }
2104
- function parseCreateAddSignerIntentResponse(value) {
2105
- const responseName = "Wallet add-signer intent";
2106
- const response = requireWalletRegistrationResponseObject({
2107
- responseName,
2108
- field: "body",
2109
- value
2110
- });
2111
- assertWalletRegistrationResponseKeys(response, [
2112
- "ok",
2113
- "intent",
2114
- "addSignerIntentDigestB64u",
2115
- "addSignerIntentGrant",
2116
- "expiresAtMs"
2117
- ], responseName);
2118
- if (readWalletRegistrationResponseField(response, "ok", responseName) !== true) throw new Error(`${responseName} response is not successful`);
2119
- const intent = parseAddSignerIntentV1(readWalletRegistrationResponseField(response, "intent", responseName));
2120
- let addSignerIntentDigestB64u;
2121
- try {
2122
- addSignerIntentDigestB64u = parseDigestB64u(readWalletRegistrationResponseField(response, "addSignerIntentDigestB64u", responseName));
2123
- } catch {
2124
- throw new Error(`${responseName} response has invalid addSignerIntentDigestB64u`);
2125
- }
2126
- const grantValue = readWalletRegistrationResponseField(response, "addSignerIntentGrant", responseName);
2127
- if (typeof grantValue !== "string" || !grantValue.trim()) throw new Error(`${responseName} response is missing addSignerIntentGrant`);
2128
- return {
2129
- ok: true,
2130
- intent,
2131
- addSignerIntentDigestB64u,
2132
- addSignerIntentGrant: addSignerIntentGrantFromString(grantValue),
2133
- expiresAtMs: requireResponseSafeInteger({
2134
- responseName,
2135
- field: "expiresAtMs",
2136
- value: readWalletRegistrationResponseField(response, "expiresAtMs", responseName),
2137
- minimum: 1
2138
- })
2139
- };
2140
- }
2141
- function parseWalletAddAuthMethodFinalizeResponse(value) {
2142
- const responseName = "Wallet add-auth-method finalize";
2143
- const response = requireWalletRegistrationResponseObject({
2144
- responseName,
2145
- field: "body",
2146
- value
2147
- });
2148
- if (readWalletRegistrationResponseField(response, "ok", responseName) !== true) throw new Error(`${responseName} response is not successful`);
2149
- const authMethod = requireWalletRegistrationResponseObject({
2150
- responseName,
2151
- field: "authMethod",
2152
- value: readWalletRegistrationResponseField(response, "authMethod", responseName)
2153
- });
2154
- const authMethodKind = readWalletRegistrationResponseField(authMethod, "kind", `${responseName} authMethod`);
2155
- if (authMethodKind !== "passkey" && authMethodKind !== "email_otp") throw new Error(`${responseName} response has invalid authMethod kind`);
2156
- const walletIdResult = parseWalletId(readWalletRegistrationResponseField(response, "walletId", responseName));
2157
- if (!walletIdResult.ok) throw new Error(`${responseName} response has invalid walletId`);
2158
- const authority = parseWalletAuthAuthority(readWalletRegistrationResponseField(response, "authority", responseName));
2159
- if (!authority) throw new Error(`${responseName} response has invalid authority`);
2160
- if (authority.walletId !== walletIdResult.value) throw new Error(`${responseName} response authority wallet mismatch`);
2161
- if (authMethodKind === "passkey") {
2162
- assertWalletRegistrationResponseKeys(response, [
2163
- "ok",
2164
- "walletId",
2165
- "authority",
2166
- "rpId",
2167
- "authMethod"
2168
- ], responseName);
2169
- assertWalletRegistrationResponseKeys(authMethod, [
2170
- "kind",
2171
- "status",
2172
- "credentialIdB64u",
2173
- "credentialPublicKeyB64u",
2174
- "counter",
2175
- "device"
2176
- ], `${responseName} authMethod`);
2177
- if (readWalletRegistrationResponseField(authMethod, "status", responseName) !== "active") throw new Error(`${responseName} response has invalid authMethod status`);
2178
- if (authority.factor.kind !== "passkey" || authority.verifier.kind !== "webauthn") throw new Error(`${responseName} response has inconsistent passkey authority`);
2179
- const rpId = parseWebAuthnRpId(readWalletRegistrationResponseField(response, "rpId", responseName));
2180
- if (!rpId.ok) throw new Error(`${responseName} response has invalid rpId`);
2181
- const credentialIdB64u = parseWebAuthnCredentialIdB64u(readWalletRegistrationResponseField(authMethod, "credentialIdB64u", responseName));
2182
- if (!credentialIdB64u.ok) throw new Error(`${responseName} response has invalid credentialIdB64u`);
2183
- const credentialPublicKeyB64uValue = readWalletRegistrationResponseField(authMethod, "credentialPublicKeyB64u", responseName);
2184
- if (typeof credentialPublicKeyB64uValue !== "string" || !credentialPublicKeyB64uValue.trim()) throw new Error(`${responseName} response is missing credentialPublicKeyB64u`);
2185
- const counter = readWalletRegistrationResponseField(authMethod, "counter", responseName);
2186
- if (typeof counter !== "number" || !Number.isSafeInteger(counter) || counter < 0) throw new Error(`${responseName} response has invalid counter`);
2187
- const device = parseWebAuthnAuthenticatorDeviceInfo(readWalletRegistrationResponseField(authMethod, "device", responseName));
2188
- if (!device) throw new Error(`${responseName} response has invalid device`);
2189
- if (authority.factor.credentialIdB64u !== credentialIdB64u.value || authority.verifier.rpId !== rpId.value) throw new Error(`${responseName} response passkey authority binding mismatch`);
2190
- return {
2191
- ok: true,
2192
- walletId: walletIdResult.value,
2193
- authority,
2194
- rpId: rpId.value,
2195
- authMethod: {
2196
- kind: "passkey",
2197
- status: "active",
2198
- credentialIdB64u: credentialIdB64u.value,
2199
- credentialPublicKeyB64u: credentialPublicKeyB64uValue.trim(),
2200
- counter,
2201
- device
2202
- }
2203
- };
2204
- }
2205
- assertWalletRegistrationResponseKeys(response, [
2206
- "ok",
2207
- "walletId",
2208
- "authority",
2209
- "authMethod"
2210
- ], responseName);
2211
- assertWalletRegistrationResponseKeys(authMethod, ["kind", "status"], `${responseName} authMethod`);
2212
- if (readWalletRegistrationResponseField(authMethod, "status", responseName) !== "active") throw new Error(`${responseName} response has invalid authMethod status`);
2213
- if (authority.factor.kind !== "email_otp" || authority.verifier.kind !== "email_otp_wallet_auth_method") throw new Error(`${responseName} response has inconsistent email OTP authority`);
2214
- return {
2215
- ok: true,
2216
- walletId: walletIdResult.value,
2217
- authority,
2218
- authMethod: {
2219
- kind: "email_otp",
2220
- status: "active"
2221
- }
2222
- };
2223
- }
2224
- function parseWalletAddAuthMethodStartResponse(args) {
2225
- const responseName = "Wallet add-auth-method start";
2226
- const record = requireWalletRegistrationResponseObject({
2227
- responseName,
2228
- field: "body",
2229
- value: args.value
2230
- });
2231
- if (readWalletRegistrationResponseField(record, "ok", responseName) !== true) throw new Error(`${responseName} response is not successful`);
2232
- const addAuthMethodCeremonyId = requireResponseString({
2233
- responseName,
2234
- field: "addAuthMethodCeremonyId",
2235
- value: readWalletRegistrationResponseField(record, "addAuthMethodCeremonyId", responseName)
2236
- });
2237
- const intent = requireExactAddAuthMethodIntent(readWalletRegistrationResponseField(record, "intent", responseName), args.expectedIntent);
2238
- if (args.expectedIntent.authMethod.kind === "email_otp") {
2239
- assertWalletRegistrationResponseKeys(record, [
2240
- "ok",
2241
- "addAuthMethodCeremonyId",
2242
- "intent",
2243
- "custodyEnvelope",
2244
- "addAuthMethodCeremonyExpiresAtMs"
2245
- ], responseName);
2246
- return {
2247
- ok: true,
2248
- addAuthMethodCeremonyId,
2249
- intent,
2250
- custodyEnvelope: parsePasskeyCustodyEnvelopeRecord(readWalletRegistrationResponseField(record, "custodyEnvelope", responseName)),
2251
- addAuthMethodCeremonyExpiresAtMs: requireResponseSafeInteger({
2252
- responseName,
2253
- field: "addAuthMethodCeremonyExpiresAtMs",
2254
- value: readWalletRegistrationResponseField(record, "addAuthMethodCeremonyExpiresAtMs", responseName),
2255
- minimum: 1
2256
- })
2257
- };
2258
- }
2259
- assertWalletRegistrationResponseKeys(record, [
2260
- "ok",
2261
- "addAuthMethodCeremonyId",
2262
- "intent",
2263
- "custodyEnvelope",
2264
- "registration",
2265
- "addAuthMethodCeremonyExpiresAtMs"
2266
- ], responseName);
2267
- return {
2268
- ok: true,
2269
- addAuthMethodCeremonyId,
2270
- intent,
2271
- custodyEnvelope: parsePasskeyCustodyEnvelopeRecord(readWalletRegistrationResponseField(record, "custodyEnvelope", responseName)),
2272
- registration: parseWalletAddAuthMethodRegistrationOptions(readWalletRegistrationResponseField(record, "registration", responseName)),
2273
- addAuthMethodCeremonyExpiresAtMs: requireResponseSafeInteger({
2274
- responseName,
2275
- field: "addAuthMethodCeremonyExpiresAtMs",
2276
- value: readWalletRegistrationResponseField(record, "addAuthMethodCeremonyExpiresAtMs", responseName),
2277
- minimum: 1
2278
- })
2279
- };
2280
- }
2281
- function requireExactAddSignerIntent(value, expected) {
2282
- try {
2283
- if (!sameAddSignerIntentV1(parseAddSignerIntentV1(value), expected)) throw new Error("intent mismatch");
2284
- } catch {
2285
- throw new Error("Wallet add-signer start response changed the admitted intent");
2286
- }
2287
- return expected;
2288
- }
2289
- function requireExactAddAuthMethodIntent(value, expected) {
2290
- try {
2291
- if (!sameAddAuthMethodIntentV1(parseAddAuthMethodIntentV1(value), expected)) throw new Error("intent mismatch");
2292
- } catch {
2293
- throw new Error("Wallet add-auth-method start response changed the admitted intent");
2294
- }
2295
- return expected;
2296
- }
2297
- function parseWalletAddSignerEcdsaPrepareContext(value, responseName) {
2298
- const prepare = requireWalletRegistrationResponseObject({
2299
- responseName,
2300
- field: "ecdsa.prepare",
2301
- value
2302
- });
2303
- assertWalletRegistrationResponseKeys(prepare, WALLET_REGISTRATION_ECDSA_PREPARE_FIELDS, responseName);
2304
- if (readWalletRegistrationResponseField(prepare, "formatVersion", responseName) !== "ecdsa-derivation-role-local" || readWalletRegistrationResponseField(prepare, "keyScope", responseName) !== "evm-family") throw new Error(`${responseName} response has invalid prepare discriminator`);
2305
- const runtimePolicyScope = normalizeThresholdRuntimePolicyScope(readWalletRegistrationResponseField(prepare, "runtimePolicyScope", responseName));
2306
- if (!runtimePolicyScope) throw new Error(`${responseName} response has invalid runtimePolicyScope`);
2307
- return {
2308
- formatVersion: "ecdsa-derivation-role-local",
2309
- walletId: requireResponseString({
2310
- responseName,
2311
- field: "prepare.walletId",
2312
- value: readWalletRegistrationResponseField(prepare, "walletId", responseName)
2313
- }),
2314
- evmFamilySigningKeySlotId: requireResponseString({
2315
- responseName,
2316
- field: "prepare.evmFamilySigningKeySlotId",
2317
- value: readWalletRegistrationResponseField(prepare, "evmFamilySigningKeySlotId", responseName)
2318
- }),
2319
- ecdsaThresholdKeyId: requireResponseString({
2320
- responseName,
2321
- field: "prepare.ecdsaThresholdKeyId",
2322
- value: readWalletRegistrationResponseField(prepare, "ecdsaThresholdKeyId", responseName)
2323
- }),
2324
- signingRootId: requireResponseString({
2325
- responseName,
2326
- field: "prepare.signingRootId",
2327
- value: readWalletRegistrationResponseField(prepare, "signingRootId", responseName)
2328
- }),
2329
- signingRootVersion: requireResponseString({
2330
- responseName,
2331
- field: "prepare.signingRootVersion",
2332
- value: readWalletRegistrationResponseField(prepare, "signingRootVersion", responseName)
2333
- }),
2334
- keyScope: "evm-family",
2335
- relayerKeyId: requireResponseString({
2336
- responseName,
2337
- field: "prepare.relayerKeyId",
2338
- value: readWalletRegistrationResponseField(prepare, "relayerKeyId", responseName)
2339
- }),
2340
- registrationPreparationId: registrationPreparationIdFromString(requireResponseString({
2341
- responseName,
2342
- field: "prepare.registrationPreparationId",
2343
- value: readWalletRegistrationResponseField(prepare, "registrationPreparationId", responseName)
2344
- })),
2345
- requestId: requireResponseString({
2346
- responseName,
2347
- field: "prepare.requestId",
2348
- value: readWalletRegistrationResponseField(prepare, "requestId", responseName)
2349
- }),
2350
- thresholdSessionId: requireResponseString({
2351
- responseName,
2352
- field: "prepare.thresholdSessionId",
2353
- value: readWalletRegistrationResponseField(prepare, "thresholdSessionId", responseName)
2354
- }),
2355
- ttlMs: requireResponseSafeInteger({
2356
- responseName,
2357
- field: "prepare.ttlMs",
2358
- value: readWalletRegistrationResponseField(prepare, "ttlMs", responseName),
2359
- minimum: 1
2360
- }),
2361
- remainingUses: requireResponseSafeInteger({
2362
- responseName,
2363
- field: "prepare.remainingUses",
2364
- value: readWalletRegistrationResponseField(prepare, "remainingUses", responseName),
2365
- minimum: 0
2366
- }),
2367
- participantIds: [...requireResponseParticipantPair(readWalletRegistrationResponseField(prepare, "participantIds", responseName), responseName)],
2368
- runtimePolicyScope
2369
- };
2370
- }
2371
- function assertWalletRegistrationSetupEcdsaPrepareContext(value, responseName) {
2372
- const prepare = requireWalletRegistrationResponseObject({
2373
- responseName,
2374
- field: "ecdsa.prepare",
2375
- value
2376
- });
2377
- assertWalletRegistrationResponseKeys(prepare, WALLET_REGISTRATION_ECDSA_PREPARE_FIELDS, responseName);
2378
- if (readWalletRegistrationResponseField(prepare, "formatVersion", responseName) !== "ecdsa-derivation-role-local" || readWalletRegistrationResponseField(prepare, "keyScope", responseName) !== "evm-family") throw new Error(`${responseName} response has invalid prepare discriminator`);
2379
- for (const field of [
2380
- "walletId",
2381
- "evmFamilySigningKeySlotId",
2382
- "ecdsaThresholdKeyId",
2383
- "signingRootId",
2384
- "signingRootVersion",
2385
- "relayerKeyId",
2386
- "registrationPreparationId",
2387
- "requestId",
2388
- "thresholdSessionId"
2389
- ]) readWalletRegistrationSetupString(prepare, field, responseName);
2390
- readWalletRegistrationSetupSafeInteger(prepare, "ttlMs", responseName, 1);
2391
- readWalletRegistrationSetupSafeInteger(prepare, "remainingUses", responseName, 0);
2392
- parseWalletRegistrationSetupParticipantPair(readWalletRegistrationResponseField(prepare, "participantIds", responseName), `${responseName}.participantIds`);
2393
- parseWalletRegistrationSetupPrepareRuntimePolicyScope(readWalletRegistrationResponseField(prepare, "runtimePolicyScope", responseName), responseName);
2394
- }
2395
- function parseWalletRegistrationEcdsaPrepare(value) {
2396
- const responseName = "Wallet registration setup ECDSA";
2397
- const ecdsa = requireWalletRegistrationResponseObject({
2398
- responseName,
2399
- field: "ecdsa",
2400
- value
2401
- });
2402
- assertWalletRegistrationResponseKeys(ecdsa, [
2403
- "kind",
2404
- "chainTargets",
2405
- "prepare",
2406
- "strictRegistration"
2407
- ], responseName);
2408
- if (readWalletRegistrationResponseField(ecdsa, "kind", responseName) !== "evm_family_ecdsa_keygen") throw new Error(`${responseName} response has an invalid kind`);
2409
- const rawChainTargets = readWalletRegistrationResponseField(ecdsa, "chainTargets", responseName);
2410
- if (!Array.isArray(rawChainTargets) || rawChainTargets.length === 0) throw new Error(`${responseName} response has invalid chainTargets`);
2411
- const chainTargets = [];
2412
- for (const rawChainTarget of rawChainTargets) {
2413
- const chainTarget = parseWalletRegistrationSetupEcdsaChainTarget(rawChainTarget, `${responseName}.chainTargets`);
2414
- if (chainTargets.some((existing) => sameWalletRegistrationSetupChainTarget(existing, chainTarget))) throw new Error(`${responseName} response has duplicate chainTargets`);
2415
- chainTargets.push(chainTarget);
2416
- }
2417
- const [firstTarget, ...remainingTargets] = chainTargets;
2418
- if (!firstTarget) throw new Error(`${responseName} response has invalid chainTargets`);
2419
- const rawPrepare = readWalletRegistrationResponseField(ecdsa, "prepare", responseName);
2420
- assertWalletRegistrationSetupEcdsaPrepareContext(rawPrepare, responseName);
2421
- const prepare = parseWalletAddSignerEcdsaPrepareContext(rawPrepare, responseName);
2422
- const strictRegistration = parseRouterAbEcdsaRegistrationRequestFactsV1(readWalletRegistrationResponseField(ecdsa, "strictRegistration", responseName));
2423
- if (strictRegistration.registration_purpose !== "wallet_registration") throw new Error(`${responseName} response has an invalid registration purpose`);
2424
- return {
2425
- kind: "evm_family_ecdsa_keygen",
2426
- chainTargets: [firstTarget, ...remainingTargets],
2427
- prepare,
2428
- strictRegistration
2429
- };
2430
- }
2431
- function walletRegistrationSetupKindFromIntent(intent) {
2432
- let hasNearEd25519 = false;
2433
- let hasEvmFamilyEcdsa = false;
2434
- for (const signer of intent.signerSelection.signers) switch (signer.kind) {
2435
- case "near_ed25519":
2436
- hasNearEd25519 = true;
2437
- break;
2438
- case "evm_family_ecdsa":
2439
- hasEvmFamilyEcdsa = true;
2440
- break;
2441
- default: return assertNeverWalletRegistrationSetupSigner(signer);
2442
- }
2443
- if (hasNearEd25519 && hasEvmFamilyEcdsa) return "near_ed25519_and_evm_family_ecdsa";
2444
- if (hasEvmFamilyEcdsa) return "evm_family_ecdsa";
2445
- if (hasNearEd25519) return "near_ed25519";
2446
- throw new Error("Wallet registration setup intent has no signer branch");
2447
- }
2448
- function assertNeverWalletRegistrationSetupSigner(value) {
2449
- throw new Error(`Unsupported wallet registration setup signer: ${String(value)}`);
2450
- }
2451
- function sameWalletRegistrationSetupParticipantIds(left, right) {
2452
- if (left.length !== right.length) return false;
2453
- for (let index = 0; index < left.length; index += 1) if (left[index] !== right[index]) return false;
2454
- return true;
2455
- }
2456
- function sameWalletRegistrationSetupRuntimePolicyScope(left, right) {
2457
- return left !== void 0 && left.orgId === right.orgId && left.projectId === right.projectId && left.envId === right.envId && left.signingRootVersion === right.signingRootVersion;
2458
- }
2459
- function sameWalletRegistrationSetupChainTargetValue(left, right) {
2460
- try {
2461
- return sameWalletRegistrationSetupChainTarget(parseWalletRegistrationSetupEcdsaChainTarget(left, "Wallet registration setup intent"), right);
2462
- } catch {
2463
- return false;
2464
- }
2465
- }
2466
- function assertWalletRegistrationSetupEcdsaBindings(args) {
2467
- const ecdsaSigner = args.intent.signerSelection.signers.find((signer) => signer.kind === "evm_family_ecdsa");
2468
- if (!ecdsaSigner) throw new Error(`${args.responseName} response has no ECDSA intent branch`);
2469
- if (ecdsaSigner.chainTargets.length !== args.ecdsa.chainTargets.length || ecdsaSigner.chainTargets.some((target, index) => !sameWalletRegistrationSetupChainTargetValue(target, args.ecdsa.chainTargets[index]))) throw new Error(`${args.responseName} response ECDSA chainTargets do not match intent`);
2470
- if (!sameWalletRegistrationSetupParticipantIds(ecdsaSigner.participantIds, args.ecdsa.prepare.participantIds)) throw new Error(`${args.responseName} response ECDSA participantIds do not match intent`);
2471
- if (args.ecdsa.prepare.walletId !== String(args.walletId)) throw new Error(`${args.responseName} response ECDSA prepare walletId does not match response`);
2472
- if (!sameWalletRegistrationSetupRuntimePolicyScope(args.intent.runtimePolicyScope, args.ecdsa.prepare.runtimePolicyScope)) throw new Error(`${args.responseName} response ECDSA runtimePolicyScope does not match intent`);
2473
- const strictLifecycle = args.ecdsa.strictRegistration.lifecycle;
2474
- if (strictLifecycle.lifecycle_id !== args.registrationCeremonyId || strictLifecycle.account_id !== String(args.walletId) || args.ecdsa.strictRegistration.client_id !== String(args.walletId)) throw new Error(`${args.responseName} response ECDSA identities do not match response`);
2475
- }
2476
- function parseWalletRegistrationSetupResponseV2(value) {
2477
- const responseName = "Wallet registration setup";
2478
- const response = requireWalletRegistrationResponseObject({
2479
- responseName,
2480
- field: "body",
2481
- value
2482
- });
2483
- if (readWalletRegistrationResponseField(response, "ok", responseName) !== true) throw new Error(`${responseName} response is not successful`);
2484
- const kind = readWalletRegistrationResponseField(response, "kind", responseName);
2485
- if (kind !== "near_ed25519" && kind !== "evm_family_ecdsa" && kind !== "near_ed25519_and_evm_family_ecdsa") throw new Error(`${responseName} response kind is invalid`);
2486
- const carriesEcdsa = kind !== "near_ed25519";
2487
- assertWalletRegistrationResponseKeys(response, [
2488
- "ok",
2489
- "registrationCeremonyId",
2490
- "walletId",
2491
- "walletAuthMethodId",
2492
- "registrationIntentDigestB64u",
2493
- "intent",
2494
- "signedSetup",
2495
- "kind",
2496
- ...carriesEcdsa ? ["ecdsa"] : []
2497
- ], responseName);
2498
- const registrationCeremonyId = readWalletRegistrationSetupString(response, "registrationCeremonyId", responseName);
2499
- const walletId = parseWalletId(readWalletRegistrationSetupString(response, "walletId", responseName));
2500
- if (!walletId.ok) throw new Error(`${responseName} response has an invalid walletId`);
2501
- const walletAuthMethodId = parseWalletAuthMethodId(readWalletRegistrationSetupString(response, "walletAuthMethodId", responseName));
2502
- if (!walletAuthMethodId.ok) throw new Error(`${responseName} response has an invalid walletAuthMethodId`);
2503
- const intent = parseWalletRegistrationSetupIntent(readWalletRegistrationResponseField(response, "intent", responseName));
2504
- if (intent.walletId !== walletId.value) throw new Error(`${responseName} response walletId does not match intent`);
2505
- if (intent.foundingWalletAuthMethodId !== walletAuthMethodId.value) throw new Error(`${responseName} response walletAuthMethodId does not match intent`);
2506
- let registrationIntentDigestB64u;
2507
- try {
2508
- registrationIntentDigestB64u = parseDigestB64u(readWalletRegistrationResponseField(response, "registrationIntentDigestB64u", responseName));
2509
- } catch {
2510
- throw new Error(`${responseName} response has an invalid registrationIntentDigestB64u`);
2511
- }
2512
- const signedSetup = readWalletRegistrationResponseField(response, "signedSetup", responseName);
2513
- if (typeof signedSetup !== "string" || !signedSetup.trim()) throw new Error(`${responseName} response missing signedSetup`);
2514
- if (!carriesEcdsa) {
2515
- if (walletRegistrationSetupKindFromIntent(intent) !== kind) throw new Error(`${responseName} response kind does not match intent`);
2516
- return {
2517
- ok: true,
2518
- registrationCeremonyId,
2519
- walletId: walletId.value,
2520
- walletAuthMethodId: walletAuthMethodId.value,
2521
- registrationIntentDigestB64u,
2522
- intent,
2523
- signedSetup,
2524
- kind: "near_ed25519"
2525
- };
2526
- }
2527
- const ecdsa = parseWalletRegistrationEcdsaPrepare(readWalletRegistrationResponseField(response, "ecdsa", responseName));
2528
- if (walletRegistrationSetupKindFromIntent(intent) !== kind) throw new Error(`${responseName} response kind does not match intent`);
2529
- assertWalletRegistrationSetupEcdsaBindings({
2530
- responseName,
2531
- registrationCeremonyId,
2532
- walletId: walletId.value,
2533
- intent,
2534
- ecdsa
2535
- });
2536
- return {
2537
- ok: true,
2538
- registrationCeremonyId,
2539
- walletId: walletId.value,
2540
- walletAuthMethodId: walletAuthMethodId.value,
2541
- registrationIntentDigestB64u,
2542
- intent,
2543
- signedSetup,
2544
- kind,
2545
- ecdsa
2546
- };
2547
- }
2548
- function normalizeWalletRegistrationSetupRequestForBinding(request) {
2549
- const authMethod = normalizeRegistrationAuthMethodInput(request.authMethod);
2550
- if (!authMethod) throw new Error("Wallet registration setup request authMethod is invalid");
2551
- const signerPlan = normalizeRegistrationSignerPlan(request.signerSelection);
2552
- if (!signerPlan.ok) throw new Error(`Wallet registration setup request signerSelection is invalid: ${signerPlan.message}`);
2553
- const signerSelection = registrationSignerSetSelectionFromPlan(signerPlan.value, { normalizeEcdsaChainTarget: normalizeWalletRegistrationSetupEcdsaChainTarget });
2554
- if (!signerSelection.ok) throw new Error(`Wallet registration setup request signerSelection is invalid: ${signerSelection.message}`);
2555
- return {
2556
- authMethod,
2557
- signerSelection: signerSelection.value
2558
- };
2559
- }
2560
- function registrationIntentWithExpectedSetupRequest(intent, request) {
2561
- const base = {
2562
- version: "registration_intent_v1",
2563
- walletId: intent.walletId,
2564
- authMethod: request.authMethod,
2565
- signerSelection: request.signerSelection,
2566
- foundingWalletAuthMethodId: intent.foundingWalletAuthMethodId,
2567
- nonceB64u: intent.nonceB64u
2568
- };
2569
- return intent.runtimePolicyScope === void 0 ? base : {
2570
- ...base,
2571
- runtimePolicyScope: intent.runtimePolicyScope
2572
- };
2573
- }
2574
- async function assertWalletRegistrationSetupRequestBindings(args) {
2575
- if (args.requestedWallet?.kind === "provided") {
2576
- if (String(args.requestedWallet.walletId) !== args.response.walletId) throw new Error("Wallet registration setup response walletId does not match request");
2577
- }
2578
- if (await computeRegistrationIntentDigestB64u(args.response.intent) !== args.response.registrationIntentDigestB64u) throw new Error("Wallet registration setup response digest does not match intent");
2579
- if (await computeRegistrationIntentDigestB64u(registrationIntentWithExpectedSetupRequest(args.response.intent, args.request)) !== args.response.registrationIntentDigestB64u) throw new Error("Wallet registration setup response intent does not match request");
2580
- }
2581
- function parseWalletAddSignerEcdsaPrepare(value, expectedIntent) {
2582
- const responseName = "Wallet add-signer ECDSA start";
2583
- const record = requireWalletRegistrationResponseObject({
2584
- responseName,
2585
- field: "ecdsa",
2586
- value
2587
- });
2588
- assertWalletRegistrationResponseKeys(record, [
2589
- "kind",
2590
- "chainTargets",
2591
- "prepare",
2592
- "strictRegistration",
2593
- "custodyEnvelope"
2594
- ], responseName);
2595
- const kind = readWalletRegistrationResponseField(record, "kind", responseName);
2596
- const responseChainTargets = readWalletRegistrationResponseField(record, "chainTargets", responseName);
2597
- if (kind !== "evm_family_ecdsa_keygen" || !Array.isArray(responseChainTargets)) throw new Error(`${responseName} response has invalid payload`);
2598
- if (expectedIntent.signerSelection.mode !== "ecdsa") throw new Error(`${responseName} response substituted signer branch`);
2599
- const expectedTargets = expectedIntent.signerSelection.ecdsa.chainTargets;
2600
- if (responseChainTargets.length !== expectedTargets.length) throw new Error(`${responseName} response changed target count`);
2601
- const chainTargets = [];
2602
- for (let index = 0; index < responseChainTargets.length; index += 1) {
2603
- const target = responseChainTargets[index];
2604
- const actual = parseWalletAddSignerChainTarget(target, responseName);
2605
- const expectedValue = expectedTargets[index];
2606
- if (!expectedValue) throw new Error(`${responseName} response changed chainTarget`);
2607
- if (!thresholdEcdsaChainTargetsEqual(actual, parseWalletAddSignerChainTarget(expectedValue, responseName))) throw new Error(`${responseName} response changed chainTarget`);
2608
- chainTargets.push(actual);
2609
- }
2610
- const [firstTarget, ...remainingTargets] = chainTargets;
2611
- if (!firstTarget) throw new Error(`${responseName} response requires an EVM-family target`);
2612
- const prepare = parseWalletAddSignerEcdsaPrepareContext(readWalletRegistrationResponseField(record, "prepare", responseName), responseName);
2613
- const strictRegistration = parseRouterAbEcdsaRegistrationRequestFactsV1(readWalletRegistrationResponseField(record, "strictRegistration", responseName));
2614
- if (strictRegistration.registration_purpose !== "wallet_add_signer") throw new Error(`${responseName} response has invalid registration purpose`);
2615
- return {
2616
- kind: "evm_family_ecdsa_keygen",
2617
- chainTargets: [firstTarget, ...remainingTargets],
2618
- prepare,
2619
- strictRegistration
2620
- };
2621
- }
2622
- function parseWalletAddSignerStartResponse(args) {
2623
- const responseName = "Wallet add-signer start";
2624
- const record = requireWalletRegistrationResponseObject({
2625
- responseName,
2626
- field: "body",
2627
- value: args.value
2628
- });
2629
- assertWalletRegistrationResponseKeys(record, [
2630
- "ok",
2631
- "addSignerCeremonyId",
2632
- "intent",
2633
- "authorizationKind",
2634
- "kind",
2635
- "ed25519",
2636
- "ecdsa"
2637
- ], responseName);
2638
- if (readWalletRegistrationResponseField(record, "ok", responseName) !== true) throw new Error(`${responseName} response is not successful`);
2639
- const addSignerCeremonyId = requireResponseString({
2640
- responseName,
2641
- field: "addSignerCeremonyId",
2642
- value: readWalletRegistrationResponseField(record, "addSignerCeremonyId", responseName)
2643
- });
2644
- const intent = requireExactAddSignerIntent(readWalletRegistrationResponseField(record, "intent", responseName), args.expectedIntent);
2645
- const authorizationKind = readWalletRegistrationResponseField(record, "authorizationKind", responseName);
2646
- if (authorizationKind !== "webauthn_assertion") throw new Error(`${responseName} response has invalid authorization kind`);
2647
- switch (readWalletRegistrationResponseField(record, "kind", responseName)) {
2648
- case "near_ed25519": {
2649
- if (authorizationKind !== "webauthn_assertion" || intent.signerSelection.mode !== "ed25519" || readOptionalWalletRegistrationResponseField(record, "ecdsa", responseName) !== void 0) throw new Error(`${responseName} response substituted signer branch`);
2650
- const ed25519 = requireWalletRegistrationResponseObject({
2651
- responseName,
2652
- field: "ed25519",
2653
- value: readWalletRegistrationResponseField(record, "ed25519", responseName)
2654
- });
2655
- assertWalletRegistrationResponseKeys(ed25519, ["admissionRequest", "custodyEnvelope"], responseName);
2656
- const admission = parseRouterAbEd25519YaoRegistrationAdmissionRequestV1(readWalletRegistrationResponseField(ed25519, "admissionRequest", responseName));
2657
- if (!admission.ok) throw new Error(admission.message);
2658
- return {
2659
- ok: true,
2660
- addSignerCeremonyId,
2661
- intent,
2662
- authorizationKind: "webauthn_assertion",
2663
- kind: "near_ed25519",
2664
- ed25519: {
2665
- admissionRequest: admission.value,
2666
- custodyEnvelope: parsePasskeyCustodyEnvelopeRecord(readWalletRegistrationResponseField(ed25519, "custodyEnvelope", responseName))
2667
- }
2668
- };
2669
- }
2670
- case "evm_family_ecdsa": {
2671
- if (intent.signerSelection.mode !== "ecdsa" || readOptionalWalletRegistrationResponseField(record, "ed25519", responseName) !== void 0) throw new Error(`${responseName} response substituted signer branch`);
2672
- const rawEcdsa = readWalletRegistrationResponseField(record, "ecdsa", responseName);
2673
- const ecdsa = parseWalletAddSignerEcdsaPrepare(rawEcdsa, intent);
2674
- const ecdsaRecord = requireWalletRegistrationResponseObject({
2675
- responseName,
2676
- field: "ecdsa",
2677
- value: rawEcdsa
2678
- });
2679
- return {
2680
- ok: true,
2681
- addSignerCeremonyId,
2682
- intent,
2683
- authorizationKind: "webauthn_assertion",
2684
- kind: "evm_family_ecdsa",
2685
- ecdsa: {
2686
- ...ecdsa,
2687
- custodyEnvelope: parsePasskeyCustodyEnvelopeRecord(readWalletRegistrationResponseField(ecdsaRecord, "custodyEnvelope", responseName))
2688
- }
2689
- };
2690
- }
2691
- default: throw new Error(`${responseName} response has invalid kind`);
2692
- }
2693
- }
2694
- function parseWalletAddSignerFinalizeResponse(args) {
2695
- const responseName = "Wallet add-signer finalize";
2696
- const record = requireWalletRegistrationResponseObject({
2697
- responseName,
2698
- field: "body",
2699
- value: args.value
2700
- });
2701
- assertWalletRegistrationResponseKeys(record, [
2702
- "ok",
2703
- "walletId",
2704
- "kind",
2705
- "rpId",
2706
- "credentialIdB64u",
2707
- "ed25519",
2708
- "ecdsa",
2709
- "authority"
2710
- ], responseName);
2711
- const ok = readWalletRegistrationResponseField(record, "ok", responseName);
2712
- const kind = readWalletRegistrationResponseField(record, "kind", responseName);
2713
- if (ok !== true || kind !== args.expectedKind) throw new Error(`${responseName} response substituted signer branch`);
2714
- const walletId = walletIdFromString(requireResponseString({
2715
- responseName,
2716
- field: "walletId",
2717
- value: readWalletRegistrationResponseField(record, "walletId", responseName)
2718
- }));
2719
- const rpId = requireResponseRpId(readWalletRegistrationResponseField(record, "rpId", responseName), responseName);
2720
- switch (kind) {
2721
- case "near_ed25519": {
2722
- if (readOptionalWalletRegistrationResponseField(record, "ecdsa", responseName) !== void 0 || readOptionalWalletRegistrationResponseField(record, "authority", responseName) !== void 0) throw new Error(`${responseName} response mixed signer branches`);
2723
- const ed25519 = parseWalletEd25519YaoSignerPublicResult(readWalletRegistrationResponseField(record, "ed25519", responseName), "Wallet add-signer Ed25519 finalize");
2724
- return {
2725
- ok: true,
2726
- walletId,
2727
- kind: "near_ed25519",
2728
- rpId,
2729
- credentialIdB64u: requireResponseString({
2730
- responseName,
2731
- field: "credentialIdB64u",
2732
- value: readWalletRegistrationResponseField(record, "credentialIdB64u", responseName)
2733
- }),
2734
- ed25519
2735
- };
2736
- }
2737
- case "evm_family_ecdsa": {
2738
- if (readOptionalWalletRegistrationResponseField(record, "ed25519", responseName) !== void 0 || readOptionalWalletRegistrationResponseField(record, "credentialIdB64u", responseName) !== void 0) throw new Error(`${responseName} response mixed signer branches`);
2739
- const ecdsa = requireWalletRegistrationResponseObject({
2740
- responseName,
2741
- field: "ecdsa",
2742
- value: readWalletRegistrationResponseField(record, "ecdsa", responseName)
2743
- });
2744
- assertWalletRegistrationResponseKeys(ecdsa, ["walletKeys"], responseName);
2745
- const walletKeys = requireWalletRegistrationResponseArray(readWalletRegistrationResponseField(ecdsa, "walletKeys", responseName), `${responseName} walletKeys`);
2746
- if (walletKeys.length === 0) throw new Error(`${responseName} response has invalid walletKeys`);
2747
- const authority = parseWalletAuthorityV1(readWalletRegistrationResponseField(record, "authority", responseName));
2748
- if (!authority.ok || authority.value.state !== "active" || authority.value.walletId !== walletId) throw new Error(`${responseName} response has invalid authority`);
2749
- return {
2750
- ok: true,
2751
- walletId,
2752
- kind: "evm_family_ecdsa",
2753
- rpId,
2754
- ecdsa: { walletKeys: walletKeys.map(parseWalletAddSignerEcdsaFinalizeWalletKey) },
2755
- authority: authority.value
2756
- };
2757
- }
2758
- default: throw new Error(`${responseName} response has invalid kind`);
2759
- }
2760
- }
2761
- function parseWalletAddSignerEcdsaFinalizeWalletKey(value) {
2762
- return parseWalletAddSignerEcdsaWalletKey(value, "Wallet add-signer ECDSA finalize");
2763
- }
2764
- function requireMatchingString(args) {
2765
- const expected = String(args.expected || "").trim();
2766
- const actual = String(args.actual || "").trim();
2767
- if (!expected || !actual) throw new Error(`ECDSA registration bootstrap returned incomplete ${args.field}`);
2768
- if (expected !== actual) throw new Error(`ECDSA registration bootstrap ${args.field} mismatch`);
2769
- return actual;
2770
- }
2771
- function requireMatchingParticipantIds(args) {
2772
- const expected = args.expected.map((participantId) => Math.floor(Number(participantId)));
2773
- const actual = args.actual.map((participantId) => Math.floor(Number(participantId)));
2774
- if (expected.length === 0 || actual.length === 0 || expected.some((participantId) => !Number.isSafeInteger(participantId) || participantId <= 0) || actual.some((participantId) => !Number.isSafeInteger(participantId) || participantId <= 0)) throw new Error("ECDSA registration bootstrap returned incomplete participantIds");
2775
- if (expected.length !== actual.length || expected.some((id, index) => id !== actual[index])) throw new Error("ECDSA registration bootstrap participantIds mismatch");
2776
- return actual;
2777
- }
2778
- function parseWalletRegistrationEcdsaDerivationRespond(args) {
2779
- const clientBootstrap = args.clientBootstrap;
2780
- const serverBootstrap = args.serverBootstrap;
2781
- requireMatchingString({
2782
- field: "derivationClientSharePublicKey33B64u",
2783
- expected: clientBootstrap.derivationClientSharePublicKey33B64u,
2784
- actual: serverBootstrap.publicIdentity.derivationClientSharePublicKey33B64u
2785
- });
2786
- const contextBinding32B64u = requireMatchingString({
2787
- field: "contextBinding32B64u",
2788
- expected: clientBootstrap.contextBinding32B64u,
2789
- actual: serverBootstrap.contextBinding32B64u
2790
- });
2791
- const walletId = requireMatchingString({
2792
- field: "walletId",
2793
- expected: clientBootstrap.walletId,
2794
- actual: serverBootstrap.walletId
2795
- });
2796
- const evmFamilySigningKeySlotId = requireMatchingString({
2797
- field: "evmFamilySigningKeySlotId",
2798
- expected: clientBootstrap.evmFamilySigningKeySlotId,
2799
- actual: serverBootstrap.evmFamilySigningKeySlotId
2800
- });
2801
- requireMatchingString({
2802
- field: "activationEpoch",
2803
- expected: args.activationEpoch,
2804
- actual: serverBootstrap.activationEpoch
2805
- });
2806
- const participantIds = requireMatchingParticipantIds({
2807
- expected: clientBootstrap.participantIds,
2808
- actual: serverBootstrap.participantIds
2809
- });
2810
- const routerAbEcdsaDerivationNormalSigning = requireRouterAbEcdsaDerivationNormalSigningStateV1(serverBootstrap.routerAbEcdsaDerivationNormalSigning);
2811
- const ecdsaThresholdKeyId = String(serverBootstrap.ecdsaThresholdKeyId || "").trim();
2812
- const keyHandle = String(serverBootstrap.keyHandle || "").trim();
2813
- const signingRootId = String(serverBootstrap.signingRootId || "").trim();
2814
- const signingRootVersion = String(serverBootstrap.signingRootVersion || "").trim();
2815
- const applicationBindingDigestB64u = String(serverBootstrap.applicationBindingDigestB64u || "").trim();
2816
- const thresholdEcdsaPublicKeyB64u = String(serverBootstrap.thresholdEcdsaPublicKeyB64u || "").trim();
2817
- const ethereumAddress = String(serverBootstrap.ethereumAddress || "").trim();
2818
- const relayerKeyId = String(serverBootstrap.relayerKeyId || "").trim();
2819
- const relayerVerifyingShareB64u = String(serverBootstrap.relayerVerifyingShareB64u || "").trim();
2820
- const relayerShareRetryCounter = Math.floor(Number(serverBootstrap.relayerShareRetryCounter));
2821
- if (!walletId || !evmFamilySigningKeySlotId || !keyHandle || !ecdsaThresholdKeyId || !signingRootId || !signingRootVersion || !applicationBindingDigestB64u || !thresholdEcdsaPublicKeyB64u || !ethereumAddress || !relayerKeyId || !relayerVerifyingShareB64u || !Number.isSafeInteger(relayerShareRetryCounter) || relayerShareRetryCounter < 0 || !participantIds.length || participantIds.some((participantId) => !Number.isSafeInteger(participantId) || participantId <= 0)) throw new Error("ECDSA registration bootstrap returned incomplete session material");
2822
- return {
2823
- walletId,
2824
- evmFamilySigningKeySlotId,
2825
- ecdsaThresholdKeyId,
2826
- relayerKeyId,
2827
- applicationBindingDigestB64u,
2828
- contextBinding32B64u,
2829
- publicIdentity: serverBootstrap.publicIdentity,
2830
- relayerShareRetryCounter,
2831
- keyHandle,
2832
- signingRootId,
2833
- signingRootVersion,
2834
- thresholdEcdsaPublicKeyB64u,
2835
- ethereumAddress,
2836
- relayerVerifyingShareB64u,
2837
- participantIds,
2838
- routerAbEcdsaDerivationNormalSigning
2839
- };
2840
- }
2841
- function parseWalletEcdsaKeyFactsInventoryResponse(args) {
2842
- const responseName = "Wallet ECDSA key-facts inventory";
2843
- const response = requireWalletRegistrationResponseObject({
2844
- responseName,
2845
- field: "body",
2846
- value: args.value
2847
- });
2848
- assertWalletRegistrationResponseKeys(response, [
2849
- "ok",
2850
- "ecdsaKeyIdentityTargets",
2851
- "diagnostics"
2852
- ], responseName);
2853
- if (readWalletRegistrationResponseField(response, "ok", responseName) !== true) throw new Error(`${responseName} response is not successful`);
2854
- const records = requireWalletRegistrationResponseArray(readWalletRegistrationResponseField(response, "ecdsaKeyIdentityTargets", responseName), `${responseName} ecdsaKeyIdentityTargets`);
2855
- return {
2856
- ok: true,
2857
- records: parseThresholdEcdsaKeyIdentityTargets({
2858
- walletId: args.walletId,
2859
- rpId: args.rpId,
2860
- records
2861
- }),
2862
- diagnostics: readWalletRegistrationResponseField(response, "diagnostics", responseName)
2863
- };
2864
- }
2865
- /**
2866
- * `POST /wallets/register/setup` — the single admitted entry point replacing
2867
- * the grant, intent, and start calls below.
2868
- *
2869
- * It is called *before* the WebAuthn create prompt, because its response
2870
- * carries the challenge that create must sign. The server-side preparation
2871
- * therefore overlaps the user's authenticator interaction.
2872
- */
2873
- async function setupWalletRegistration(args) {
2874
- const publishableKey = String(args.auth?.publishableKey || "").trim();
2875
- const environmentId = String(args.auth?.environmentId || "").trim();
2876
- if (!publishableKey || !environmentId) return {
2877
- ok: false,
2878
- code: "invalid_body",
2879
- message: "registration setup requires a publishable key and environment id"
2880
- };
2881
- const normalizedRequest = normalizeWalletRegistrationSetupRequestForBinding(args.request);
2882
- const parsed = parseWalletRegistrationSetupResponseV2(await postJson({
2883
- relayerUrl: args.relayerUrl,
2884
- path: WALLET_REGISTRATION_SETUP_PATH,
2885
- headers: {
2886
- ...args.headers,
2887
- Authorization: `Bearer ${publishableKey}`,
2888
- [ROUTER_API_ENVIRONMENT_ID_HEADER]: environmentId
2889
- },
2890
- body: {
2891
- ...args.request.wallet ? { wallet: args.request.wallet } : {},
2892
- signerSelection: normalizedRequest.signerSelection,
2893
- authMethod: normalizedRequest.authMethod
2894
- },
2895
- ...args.onServerTiming ? { onServerTiming: args.onServerTiming } : {}
2896
- }));
2897
- if (!parsed.ok) return parsed;
2898
- await assertWalletRegistrationSetupRequestBindings({
2899
- response: parsed,
2900
- ...args.request.wallet ? { requestedWallet: args.request.wallet } : {},
2901
- request: normalizedRequest
2902
- });
2903
- return parsed;
2904
- }
2905
- async function createWalletAddSignerIntent(args) {
2906
- const walletId = String(args.walletId || "").trim();
2907
- if (!walletId) throw new Error("walletId is required for add-signer intent");
2908
- const publishableKey = String(args.auth.publishableKey || "").trim();
2909
- const environmentId = String(args.auth.environmentId || "").trim();
2910
- if (!publishableKey || !environmentId) throw new Error("add-signer intent requires a publishable key and environment id");
2911
- return parseCreateAddSignerIntentResponse(await postJson({
2912
- relayerUrl: args.relayerUrl,
2913
- path: `/wallets/${encodeURIComponent(walletId)}/signers/intent`,
2914
- headers: {
2915
- Authorization: `Bearer ${publishableKey}`,
2916
- [ROUTER_API_ENVIRONMENT_ID_HEADER]: environmentId
2917
- },
2918
- body: args.request
2919
- }));
2920
- }
2921
- function parseRevokeWalletAuthMethodResponse(value) {
2922
- const responseName = "Wallet auth-method revoke";
2923
- const response = requireWalletRegistrationResponseObject({
2924
- responseName,
2925
- field: "body",
2926
- value
2927
- });
2928
- if (readWalletRegistrationResponseField(response, "ok", responseName) !== true) throw new Error(`${responseName} response is not successful`);
2929
- const walletIdResult = parseWalletId(readWalletRegistrationResponseField(response, "walletId", responseName));
2930
- if (!walletIdResult.ok) throw new Error(`${responseName} response has invalid walletId`);
2931
- const authMethod = requireWalletRegistrationResponseObject({
2932
- responseName,
2933
- field: "authMethod",
2934
- value: readWalletRegistrationResponseField(response, "authMethod", responseName)
2935
- });
2936
- assertWalletRegistrationResponseKeys(authMethod, ["kind", "status"], `${responseName} response authMethod`);
2937
- if (readWalletRegistrationResponseField(authMethod, "status", responseName) !== "revoked") throw new Error(`${responseName} response has invalid authMethod status`);
2938
- switch (readWalletRegistrationResponseField(authMethod, "kind", responseName)) {
2939
- case "passkey":
2940
- assertWalletRegistrationResponseKeys(response, [
2941
- "ok",
2942
- "walletId",
2943
- "authMethod",
2944
- "rpId"
2945
- ], responseName);
2946
- return {
2947
- ok: true,
2948
- walletId: walletIdResult.value,
2949
- authMethod: {
2950
- kind: "passkey",
2951
- status: "revoked"
2952
- },
2953
- rpId: requireResponseRpId(readWalletRegistrationResponseField(response, "rpId", responseName), responseName)
2954
- };
2955
- case "email_otp":
2956
- assertWalletRegistrationResponseKeys(response, [
2957
- "ok",
2958
- "walletId",
2959
- "authMethod"
2960
- ], responseName);
2961
- return {
2962
- ok: true,
2963
- walletId: walletIdResult.value,
2964
- authMethod: {
2965
- kind: "email_otp",
2966
- status: "revoked"
2967
- }
2968
- };
2969
- default: throw new Error(`${responseName} response has invalid authMethod kind`);
2970
- }
2971
- }
2972
- /**
2973
- * Revoke one auth method using a proof from a different active one.
2974
- *
2975
- * The route is the wallet's own auth-method management, not device linking:
2976
- * a sibling on the same device is not a device, and the linked-device
2977
- * management path authenticates an owner *request* rather than a factor proof
2978
- * bound to this exact revocation.
2979
- */
2980
- async function revokeWalletAuthMethod(args) {
2981
- const walletId = String(args.walletId || "").trim();
2982
- const walletAuthMethodId = String(args.walletAuthMethodId || "").trim();
2983
- if (!walletId || !walletAuthMethodId) throw new Error("auth-method revoke requires a wallet and a target method");
2984
- const request = {
2985
- relayerUrl: args.relayerUrl,
2986
- path: `/wallets/${encodeURIComponent(walletId)}/auth-methods/${encodeURIComponent(walletAuthMethodId)}/revoke`,
2987
- body: {
2988
- walletId,
2989
- walletAuthMethodId,
2990
- requestedAtMs: args.requestedAtMs,
2991
- sourceProof: args.sourceProof
2992
- }
2993
- };
2994
- let response;
2995
- try {
2996
- response = await postJson(request);
2997
- } catch (error) {
2998
- if (!(error instanceof TypeError)) throw error;
2999
- response = await postJson(request);
3000
- }
3001
- return parseRevokeWalletAuthMethodResponse(response);
3002
- }
3003
- async function createWalletAddAuthMethodIntent(args) {
3004
- const walletId = String(args.walletId || "").trim();
3005
- if (!walletId) throw new Error("walletId is required for add-auth-method intent");
3006
- const publishableKey = String(args.auth.publishableKey || "").trim();
3007
- const environmentId = String(args.auth.environmentId || "").trim();
3008
- if (!publishableKey || !environmentId) throw new Error("add-auth-method intent requires a publishable key and environment id");
3009
- const callerBody = args.request.caller.caller === "same_device_addition" ? {
3010
- caller: "same_device_addition",
3011
- source: args.request.caller.source
3012
- } : { caller: "linked_device_ceremony" };
3013
- return parseCreateAddAuthMethodIntentResponse(await postJson({
3014
- relayerUrl: args.relayerUrl,
3015
- path: `/wallets/${encodeURIComponent(walletId)}/auth-methods/intent`,
3016
- headers: {
3017
- Authorization: `Bearer ${publishableKey}`,
3018
- [ROUTER_API_ENVIRONMENT_ID_HEADER]: environmentId
3019
- },
3020
- body: {
3021
- walletId: args.request.walletId,
3022
- rpId: args.request.rpId,
3023
- authMethod: args.request.authMethod,
3024
- ...callerBody
3025
- }
3026
- }));
3027
- }
3028
- /**
3029
- * Strict boundary parser for route 2.
3030
- *
3031
- * `kind` selects which fields are legal, so the allowed-key set is computed
3032
- * from it: a mixed response missing its Ed25519 arm, or an ECDSA-only response
3033
- * carrying one, is rejected rather than silently narrowed. That is the point
3034
- * of the discriminated union — a wallet whose NEAR branch was requested but
3035
- * whose deferred work never arrived must fail loudly here, not register as
3036
- * ECDSA-only.
3037
- */
3038
- function parseWalletRegistrationRespondResponseV2(value) {
3039
- const responseName = "Wallet registration respond";
3040
- const response = requireWalletRegistrationResponseObject({
3041
- responseName,
3042
- field: "body",
3043
- value
3044
- });
3045
- if (readWalletRegistrationResponseField(response, "ok", responseName) !== true) throw new Error(`${responseName} response is not successful`);
3046
- const registrationCeremonyId = requireResponseString({
3047
- responseName,
3048
- field: "registrationCeremonyId",
3049
- value: readWalletRegistrationResponseField(response, "registrationCeremonyId", responseName)
3050
- });
3051
- const kind = readWalletRegistrationResponseField(response, "kind", responseName);
3052
- if (kind !== "evm_family_ecdsa" && kind !== "near_ed25519_and_evm_family_ecdsa" && kind !== "near_ed25519") throw new Error(`${responseName} response kind is invalid`);
3053
- const carriesEcdsa = kind !== "near_ed25519";
3054
- const carriesEd25519 = kind !== "evm_family_ecdsa";
3055
- assertWalletRegistrationResponseKeys(response, [
3056
- "ok",
3057
- "registrationCeremonyId",
3058
- "kind",
3059
- ...carriesEcdsa ? ["ecdsa"] : [],
3060
- ...carriesEd25519 ? ["ed25519"] : []
3061
- ], responseName);
3062
- const ed25519Response = readOptionalWalletRegistrationResponseField(response, "ed25519", responseName);
3063
- if (carriesEd25519 && ed25519Response === void 0) throw new Error(`${responseName} signer plan is missing its ed25519 deferred work`);
3064
- if (!carriesEcdsa) return {
3065
- ok: true,
3066
- registrationCeremonyId,
3067
- kind: "near_ed25519",
3068
- ed25519: parseWalletRegistrationRespondEd25519DeferredWork(ed25519Response)
3069
- };
3070
- const ecdsaRecord = requireWalletRegistrationResponseObject({
3071
- responseName,
3072
- field: "ecdsa",
3073
- value: readWalletRegistrationResponseField(response, "ecdsa", responseName)
3074
- });
3075
- assertWalletRegistrationResponseKeys(ecdsaRecord, ["kind", "strictResult"], `${responseName} ecdsa`);
3076
- if (readWalletRegistrationResponseField(ecdsaRecord, "kind", `${responseName} ecdsa`) !== "router_ab_ecdsa_registration_forwarded_v1") throw new Error(`${responseName} ecdsa kind is invalid`);
3077
- const ed25519 = carriesEd25519 ? parseWalletRegistrationRespondEd25519DeferredWork(ed25519Response) : null;
3078
- const ecdsa = {
3079
- kind: "router_ab_ecdsa_registration_forwarded_v1",
3080
- strictResult: parseRouterAbEcdsaStrictForwardedRegistrationResponseV1(readWalletRegistrationResponseField(ecdsaRecord, "strictResult", `${responseName} ecdsa`))
3081
- };
3082
- return ed25519 ? {
3083
- ok: true,
3084
- registrationCeremonyId,
3085
- kind: "near_ed25519_and_evm_family_ecdsa",
3086
- ecdsa,
3087
- ed25519
3088
- } : {
3089
- ok: true,
3090
- registrationCeremonyId,
3091
- kind: "evm_family_ecdsa",
3092
- ecdsa
3093
- };
3094
- }
3095
- function parseWalletRegistrationRespondEd25519DeferredWork(value) {
3096
- const responseName = "Wallet registration respond ed25519";
3097
- const record = requireWalletRegistrationResponseObject({
3098
- responseName,
3099
- field: "ed25519",
3100
- value
3101
- });
3102
- assertWalletRegistrationResponseKeys(record, ["status", "admissionRequest"], responseName);
3103
- if (readWalletRegistrationResponseField(record, "status", responseName) !== "deferred") throw new Error(`${responseName} status is invalid`);
3104
- const admissionRequest = parseRouterAbEd25519YaoRegistrationAdmissionRequestV1(readWalletRegistrationResponseField(record, "admissionRequest", responseName));
3105
- if (!admissionRequest.ok) throw new Error(`${responseName} admissionRequest is invalid`);
3106
- return {
3107
- status: "deferred",
3108
- admissionRequest: admissionRequest.value
3109
- };
3110
- }
3111
- function walletRegistrationRespondBody(args) {
3112
- const body = {
3113
- registrationCeremonyId: args.registrationCeremonyId,
3114
- signedSetup: args.signedSetup,
3115
- kind: args.signerPlanKind
3116
- };
3117
- switch (args.kind) {
3118
- case "passkey":
3119
- body.webauthn_registration = args.webauthnRegistration;
3120
- break;
3121
- case "email_otp":
3122
- body.emailOtpRegistrationProof = args.emailOtpRegistrationProof;
3123
- break;
3124
- }
3125
- if (args.ecdsa) body.ecdsa = args.ecdsa;
3126
- return body;
3127
- }
3128
- async function respondWalletRegistration(args) {
3129
- return parseWalletRegistrationRespondResponseV2(await postJson({
3130
- relayerUrl: args.relayerUrl,
3131
- path: WALLET_REGISTRATION_RESPOND_PATH,
3132
- headers: args.headers,
3133
- body: walletRegistrationRespondBody(args),
3134
- onServerTiming: args.onServerTiming
3135
- }));
3136
- }
3137
- function parseRegistrationEstablishedSessionResult(value, expectedWalletId) {
3138
- const responseName = "Wallet registration established session";
3139
- const parsed = parseRegistrationEstablishedSessionResultV2(value);
3140
- if (parsed === null || parsed.session.walletId !== expectedWalletId) throw new Error(`${responseName} direct session result is invalid`);
3141
- return parsed;
3142
- }
3143
- function buildWalletRegistrationFinalizeTerminalResponse(record, ecdsa) {
3144
- const responseName = "Wallet registration activate";
3145
- const registrationDiagnostics = readOptionalWalletRegistrationResponseField(record, "registrationDiagnostics", responseName);
3146
- const rpId = readOptionalWalletRegistrationResponseField(record, "rpId", responseName);
3147
- const walletCustody = readOptionalWalletRegistrationResponseField(record, "walletCustody", responseName);
3148
- const custodyKeyManifestDigestB64u = readOptionalWalletRegistrationResponseField(record, "custodyKeyManifestDigestB64u", responseName);
3149
- return {
3150
- ok: readWalletRegistrationResponseField(record, "ok", responseName),
3151
- walletId: readWalletRegistrationResponseField(record, "walletId", responseName),
3152
- authority: readWalletRegistrationResponseField(record, "authority", responseName),
3153
- foundingAuthority: readWalletRegistrationResponseField(record, "foundingAuthority", responseName),
3154
- foundingAuthMethod: readWalletRegistrationResponseField(record, "foundingAuthMethod", responseName),
3155
- ...registrationDiagnostics === void 0 ? {} : { registrationDiagnostics },
3156
- ...rpId === void 0 ? {} : { rpId },
3157
- authMethod: readWalletRegistrationResponseField(record, "authMethod", responseName),
3158
- ...walletCustody === void 0 ? {} : { walletCustody },
3159
- ...custodyKeyManifestDigestB64u === void 0 ? {} : { custodyKeyManifestDigestB64u },
3160
- kind: "evm_family_ecdsa",
3161
- ecdsa: { walletKeys: readWalletRegistrationResponseField(ecdsa, "walletKeys", responseName) }
3162
- };
3163
- }
3164
- function buildWalletRegistrationNearFinalizeTerminalResponse(record) {
3165
- const responseName = "Wallet registration NEAR provisioning";
3166
- const registrationDiagnostics = readOptionalWalletRegistrationResponseField(record, "registrationDiagnostics", responseName);
3167
- const rpId = readOptionalWalletRegistrationResponseField(record, "rpId", responseName);
3168
- const walletCustody = readOptionalWalletRegistrationResponseField(record, "walletCustody", responseName);
3169
- const custodyKeyManifestDigestB64u = readOptionalWalletRegistrationResponseField(record, "custodyKeyManifestDigestB64u", responseName);
3170
- return {
3171
- ok: readWalletRegistrationResponseField(record, "ok", responseName),
3172
- walletId: readWalletRegistrationResponseField(record, "walletId", responseName),
3173
- authority: readWalletRegistrationResponseField(record, "authority", responseName),
3174
- foundingAuthority: readWalletRegistrationResponseField(record, "foundingAuthority", responseName),
3175
- foundingAuthMethod: readWalletRegistrationResponseField(record, "foundingAuthMethod", responseName),
3176
- ...registrationDiagnostics === void 0 ? {} : { registrationDiagnostics },
3177
- ...rpId === void 0 ? {} : { rpId },
3178
- authMethod: readWalletRegistrationResponseField(record, "authMethod", responseName),
3179
- ...walletCustody === void 0 ? {} : { walletCustody },
3180
- ...custodyKeyManifestDigestB64u === void 0 ? {} : { custodyKeyManifestDigestB64u },
3181
- kind: "near_ed25519",
3182
- authorityScope: readWalletRegistrationResponseField(record, "authorityScope", responseName),
3183
- accountProvisioning: readWalletRegistrationResponseField(record, "accountProvisioning", responseName),
3184
- resolvedAccount: readWalletRegistrationResponseField(record, "resolvedAccount", responseName),
3185
- ed25519: readWalletRegistrationResponseField(record, "ed25519", responseName)
3186
- };
3187
- }
3188
- /**
3189
- * Strict boundary parser for route 3.
3190
- *
3191
- * The terminal wallet body is exactly the finalize success this route
3192
- * absorbed, so it is parsed by the existing finalize parser rather than a
3193
- * second copy that could drift from it. Only `nearProvisioning` is new.
3194
- *
3195
- * That field is a status and nothing else: NEAR identifiers before readiness
3196
- * are precisely what the deferred lifecycle exists to prevent, so a payload
3197
- * carrying them here is rejected instead of passed through.
3198
- */
3199
- function parseWalletRegistrationActivateResponseV2(value) {
3200
- const responseName = "Wallet registration activate";
3201
- const record = requireWalletRegistrationResponseObject({
3202
- responseName,
3203
- field: "body",
3204
- value
3205
- });
3206
- const kind = readWalletRegistrationResponseField(record, "kind", responseName);
3207
- const nearProvisioning = readOptionalWalletRegistrationResponseField(record, "nearProvisioning", responseName);
3208
- const rawEstablishedSession = readOptionalWalletRegistrationResponseField(record, "registrationEstablishedSession", responseName);
3209
- if (kind === "near_ed25519") {
3210
- const provisioning = requireWalletRegistrationResponseObject({
3211
- responseName,
3212
- field: "nearProvisioning",
3213
- value: nearProvisioning
3214
- });
3215
- assertWalletRegistrationResponseKeys(provisioning, ["status"], `${responseName} nearProvisioning`);
3216
- if (readWalletRegistrationResponseField(provisioning, "status", `${responseName} nearProvisioning`) !== "near_pending") throw new Error(`${responseName} Ed25519-only wallet must be pending NEAR provisioning`);
3217
- if (rawEstablishedSession !== void 0) throw new Error(`${responseName} pending Ed25519 wallet cannot carry an established session`);
3218
- assertWalletRegistrationResponseKeys(record, [
3219
- "ok",
3220
- "walletId",
3221
- "authority",
3222
- "registrationDiagnostics",
3223
- "rpId",
3224
- "authMethod",
3225
- "walletCustody",
3226
- "kind",
3227
- "nearProvisioning"
3228
- ], responseName);
3229
- if (readWalletRegistrationResponseField(record, "ok", responseName) !== true) throw new Error(`${responseName} did not return a pending Ed25519 wallet`);
3230
- const walletId = walletIdFromString(requireResponseString({
3231
- responseName,
3232
- field: "walletId",
3233
- value: readWalletRegistrationResponseField(record, "walletId", responseName)
3234
- }));
3235
- const authority = parseWalletRegistrationFinalizeAuthority(readWalletRegistrationResponseField(record, "authority", responseName));
3236
- const authorityBranch = parseWalletRegistrationFinalizeAuthorityBranch({
3237
- response: {
3238
- authMethod: readWalletRegistrationResponseField(record, "authMethod", responseName),
3239
- rpId: readOptionalWalletRegistrationResponseField(record, "rpId", responseName)
3240
- },
3241
- walletId,
3242
- authority
3243
- });
3244
- const registrationDiagnosticsValue = readOptionalWalletRegistrationResponseField(record, "registrationDiagnostics", responseName);
3245
- const registrationDiagnostics = registrationDiagnosticsValue === void 0 ? void 0 : parseWalletRegistrationFinalizeDiagnostics(registrationDiagnosticsValue);
3246
- if (authorityBranch.kind === "passkey") return {
3247
- ok: true,
3248
- kind: "near_ed25519",
3249
- walletId,
3250
- authority,
3251
- ...registrationDiagnostics ? { registrationDiagnostics } : {},
3252
- rpId: authorityBranch.rpId,
3253
- authMethod: authorityBranch.authMethod,
3254
- nearProvisioning: { status: "near_pending" }
3255
- };
3256
- return {
3257
- ok: true,
3258
- kind: "near_ed25519",
3259
- walletId,
3260
- authority,
3261
- ...registrationDiagnostics ? { registrationDiagnostics } : {},
3262
- authMethod: authorityBranch.authMethod,
3263
- ...readOptionalWalletRegistrationResponseField(record, "walletCustody", responseName) === void 0 ? {} : { walletCustody: parseWalletCustodyRegistrationOutcome(readWalletRegistrationResponseField(record, "walletCustody", responseName), responseName) },
3264
- nearProvisioning: { status: "near_pending" }
3265
- };
3266
- }
3267
- if (kind !== "evm_family_ecdsa") throw new Error(`${responseName} response has invalid kind`);
3268
- const ecdsaRecord = requireWalletRegistrationResponseObject({
3269
- responseName,
3270
- field: "ecdsa",
3271
- value: readWalletRegistrationResponseField(record, "ecdsa", responseName)
3272
- });
3273
- assertWalletRegistrationResponseKeys(record, [
3274
- "ok",
3275
- "walletId",
3276
- "authority",
3277
- "foundingAuthority",
3278
- "foundingAuthMethod",
3279
- "registrationDiagnostics",
3280
- "rpId",
3281
- "authMethod",
3282
- "walletCustody",
3283
- "custodyKeyManifestDigestB64u",
3284
- "kind",
3285
- "ecdsa",
3286
- "nearProvisioning",
3287
- "registrationEstablishedSession"
3288
- ], responseName);
3289
- assertWalletRegistrationResponseKeys(ecdsaRecord, [
3290
- "walletKeys",
3291
- "activation",
3292
- "bootstrap"
3293
- ], responseName);
3294
- const activation = readOptionalWalletRegistrationResponseField(ecdsaRecord, "activation", responseName);
3295
- const bootstrap = readOptionalWalletRegistrationResponseField(ecdsaRecord, "bootstrap", responseName);
3296
- if (nearProvisioning !== void 0) {
3297
- const provisioning = requireWalletRegistrationResponseObject({
3298
- responseName,
3299
- field: "nearProvisioning",
3300
- value: nearProvisioning
3301
- });
3302
- assertWalletRegistrationResponseKeys(provisioning, ["status"], `${responseName} nearProvisioning`);
3303
- if (readWalletRegistrationResponseField(provisioning, "status", `${responseName} nearProvisioning`) !== "near_pending") throw new Error(`${responseName} nearProvisioning status is invalid`);
3304
- }
3305
- if (activation === void 0 || bootstrap === void 0) throw new Error(`${responseName} is missing the activation payload the client needs to build its ECDSA session`);
3306
- const finalized = parseWalletRegistrationFinalizeResponse({
3307
- value: buildWalletRegistrationFinalizeTerminalResponse(record, ecdsaRecord),
3308
- expectedKind: "evm_family_ecdsa"
3309
- });
3310
- if (!finalized.ok || finalized.kind !== "evm_family_ecdsa") throw new Error(`${responseName} did not return an activated ECDSA wallet`);
3311
- const registrationEstablishedSession = parseRegistrationEstablishedSessionResult(rawEstablishedSession, finalized.walletId);
3312
- return {
3313
- ...finalized,
3314
- ecdsa: {
3315
- ...finalized.ecdsa,
3316
- activation: parseRouterAbEcdsaRegistrationPublicActivationReceiptV1(activation),
3317
- bootstrap: parseThresholdEcdsaDerivationRoleLocalBootstrapValue(bootstrap)
3318
- },
3319
- registrationEstablishedSession,
3320
- ...nearProvisioning === void 0 ? {} : { nearProvisioning: { status: "near_pending" } }
3321
- };
3322
- }
3323
- function walletRegistrationActivateBody(args) {
3324
- const body = {
3325
- registrationCeremonyId: args.registrationCeremonyId,
3326
- kind: args.signerPlanKind,
3327
- signedSetup: args.signedSetup,
3328
- idempotencyKey: args.idempotencyKey
3329
- };
3330
- if (args.ecdsa) body.ecdsa = args.ecdsa;
3331
- if (args.emailOtpEnrollment) body.emailOtpEnrollment = args.emailOtpEnrollment;
3332
- if (args.walletCustodyCommit) body.walletCustodyCommit = args.walletCustodyCommit;
3333
- return body;
3334
- }
3335
- async function activateWalletRegistration(args) {
3336
- return parseWalletRegistrationActivateResponseV2(await postJson({
3337
- relayerUrl: args.relayerUrl,
3338
- path: WALLET_REGISTRATION_ACTIVATE_PATH,
3339
- headers: args.headers,
3340
- body: walletRegistrationActivateBody(args),
3341
- onServerTiming: args.onServerTiming
3342
- }));
3343
- }
3344
- function parseWalletRegistrationSessionSealResponse(value) {
3345
- const responseName = "Wallet registration session seal";
3346
- const record = requireWalletRegistrationResponseObject({
3347
- responseName,
3348
- field: "body",
3349
- value
3350
- });
3351
- assertWalletRegistrationResponseKeys(record, [
3352
- "ciphertext",
3353
- "keyVersion",
3354
- "expiresAtMs",
3355
- "remainingUses"
3356
- ], responseName);
3357
- const ciphertext = readWalletRegistrationResponseField(record, "ciphertext", responseName);
3358
- const keyVersion = readWalletRegistrationResponseField(record, "keyVersion", responseName);
3359
- const expiresAtMs = readWalletRegistrationResponseField(record, "expiresAtMs", responseName);
3360
- const remainingUses = readWalletRegistrationResponseField(record, "remainingUses", responseName);
3361
- if (typeof ciphertext !== "string" || !ciphertext.trim() || typeof keyVersion !== "string" || !keyVersion.trim() || typeof expiresAtMs !== "number" || !Number.isSafeInteger(expiresAtMs) || expiresAtMs <= 0 || typeof remainingUses !== "number" || !Number.isSafeInteger(remainingUses) || remainingUses < 0) throw new Error(`${responseName} is invalid`);
3362
- return {
3363
- ciphertext,
3364
- keyVersion,
3365
- expiresAtMs,
3366
- remainingUses
3367
- };
3368
- }
3369
- function parseWalletRegistrationNearProvisioningResponseV2(value) {
3370
- const responseName = "Wallet registration NEAR provisioning";
3371
- const record = requireWalletRegistrationResponseObject({
3372
- responseName,
3373
- field: "body",
3374
- value
3375
- });
3376
- if (readWalletRegistrationResponseField(record, "ok", responseName) !== true) {
3377
- assertWalletRegistrationResponseKeys(record, [
3378
- "ok",
3379
- "code",
3380
- "message",
3381
- "nearProvisioning"
3382
- ], responseName);
3383
- const code = readWalletRegistrationResponseField(record, "code", responseName);
3384
- const message = readWalletRegistrationResponseField(record, "message", responseName);
3385
- if (typeof code !== "string" || typeof message !== "string") throw new Error(`${responseName} failure is invalid`);
3386
- const nearProvisioning = readOptionalWalletRegistrationResponseField(record, "nearProvisioning", responseName);
3387
- if (nearProvisioning !== void 0) {
3388
- const status = requireWalletRegistrationResponseObject({
3389
- responseName,
3390
- field: "nearProvisioning",
3391
- value: nearProvisioning
3392
- });
3393
- assertWalletRegistrationResponseKeys(status, ["status"], `${responseName} nearProvisioning`);
3394
- if (readWalletRegistrationResponseField(status, "status", `${responseName} nearProvisioning`) !== "near_failed_retryable") throw new Error(`${responseName} failure status is invalid`);
3395
- return {
3396
- ok: false,
3397
- code,
3398
- message,
3399
- nearProvisioning: { status: "near_failed_retryable" }
3400
- };
3401
- }
3402
- return {
3403
- ok: false,
3404
- code,
3405
- message
3406
- };
3407
- }
3408
- assertWalletRegistrationResponseKeys(record, [
3409
- "ok",
3410
- "walletId",
3411
- "authority",
3412
- "foundingAuthority",
3413
- "foundingAuthMethod",
3414
- "registrationDiagnostics",
3415
- "rpId",
3416
- "authMethod",
3417
- "walletCustody",
3418
- "custodyKeyManifestDigestB64u",
3419
- "kind",
3420
- "accountProvisioning",
3421
- "resolvedAccount",
3422
- "ed25519",
3423
- "authorityScope",
3424
- "nearProvisioning",
3425
- "registrationEstablishedSession",
3426
- "sessionSeal"
3427
- ], responseName);
3428
- const provisioning = requireWalletRegistrationResponseObject({
3429
- responseName,
3430
- field: "nearProvisioning",
3431
- value: readWalletRegistrationResponseField(record, "nearProvisioning", responseName)
3432
- });
3433
- assertWalletRegistrationResponseKeys(provisioning, ["status"], `${responseName} nearProvisioning`);
3434
- if (readWalletRegistrationResponseField(provisioning, "status", `${responseName} nearProvisioning`) !== "near_ready") throw new Error(`${responseName} success status is invalid`);
3435
- const finalized = parseWalletRegistrationFinalizeResponse({
3436
- value: buildWalletRegistrationNearFinalizeTerminalResponse(record),
3437
- expectedKind: "near_ed25519"
3438
- });
3439
- if (!finalized.ok || finalized.kind !== "near_ed25519") throw new Error(`${responseName} did not return a finalized Ed25519 wallet`);
3440
- const sessionSeal = readOptionalWalletRegistrationResponseField(record, "sessionSeal", responseName);
3441
- const registrationEstablishedSession = parseRegistrationEstablishedSessionResult(readWalletRegistrationResponseField(record, "registrationEstablishedSession", responseName), finalized.walletId);
3442
- if (isEmailOtpWalletRegistrationFinalizeResponse(finalized)) {
3443
- if (sessionSeal !== void 0) throw new Error(`${responseName} returned a session seal for an Email OTP authority`);
3444
- return {
3445
- ...finalized,
3446
- nearProvisioning: { status: "near_ready" },
3447
- registrationEstablishedSession
3448
- };
3449
- }
3450
- const success = {
3451
- ...finalized,
3452
- nearProvisioning: { status: "near_ready" },
3453
- registrationEstablishedSession
3454
- };
3455
- if (sessionSeal === void 0) return success;
3456
- return {
3457
- ...success,
3458
- sessionSeal: parseWalletRegistrationSessionSealResponse(sessionSeal)
3459
- };
3460
- }
3461
- async function completeWalletRegistrationNearProvisioning(args) {
3462
- const body = {
3463
- registrationCeremonyId: args.registrationCeremonyId,
3464
- signedSetup: args.signedSetup,
3465
- idempotencyKey: args.idempotencyKey,
3466
- ed25519: args.ed25519
3467
- };
3468
- if (args.auth.kind === "email_otp") body.emailOtpEnrollment = args.auth.enrollment;
3469
- if (args.walletCustodyCommit) body.walletCustodyCommit = args.walletCustodyCommit;
3470
- if (args.sessionSeal) body.sessionSeal = args.sessionSeal;
3471
- return parseWalletRegistrationNearProvisioningResponseV2(await postJson({
3472
- relayerUrl: args.relayerUrl,
3473
- path: WALLET_REGISTRATION_NEAR_PROVISIONING_PATH,
3474
- headers: args.headers,
3475
- body,
3476
- ...args.onServerTiming ? { onServerTiming: args.onServerTiming } : {}
3477
- }));
3478
- }
3479
- function addSignerAuthBody(auth) {
3480
- switch (auth.kind) {
3481
- case "webauthn_assertion": return {
3482
- kind: "webauthn_assertion",
3483
- rpId: auth.rpId,
3484
- credential: auth.credential,
3485
- expectedChallengeDigestB64u: auth.expectedChallengeDigestB64u
3486
- };
3487
- }
3488
- }
3489
- function addAuthMethodAuthBody(auth) {
3490
- switch (auth.kind) {
3491
- case "webauthn_assertion": return {
3492
- kind: "webauthn_assertion",
3493
- rpId: auth.rpId,
3494
- credential: auth.credential,
3495
- expectedChallengeDigestB64u: auth.expectedChallengeDigestB64u
3496
- };
3497
- case "wallet_session": return { kind: "wallet_session" };
3498
- case "email_otp": return {
3499
- kind: "email_otp",
3500
- challengeId: auth.challengeId,
3501
- otpCode: auth.otpCode,
3502
- expectedChallengeDigestB64u: auth.expectedChallengeDigestB64u
3503
- };
3504
- }
3505
- }
3506
- function addAuthMethodAuthorityBody(authority) {
3507
- switch (authority.kind) {
3508
- case "passkey": return {};
3509
- case "email_otp": return { emailOtpRegistrationProof: authority.emailOtpRegistrationProof };
3510
- }
3511
- }
3512
- async function startWalletAddSigner(args) {
3513
- const walletId = String(args.walletId || "").trim();
3514
- if (!walletId) throw new Error("walletId is required for add-signer start");
3515
- return parseWalletAddSignerStartResponse({
3516
- value: await postJson({
3517
- relayerUrl: args.relayerUrl,
3518
- path: `/wallets/${encodeURIComponent(walletId)}/signers/start`,
3519
- body: {
3520
- addSignerIntentGrant: args.addSignerIntentGrant,
3521
- addSignerIntentDigestB64u: args.addSignerIntentDigestB64u,
3522
- intent: args.intent,
3523
- auth: addSignerAuthBody(args.auth)
3524
- }
3525
- }),
3526
- expectedIntent: args.intent
3527
- });
3528
- }
3529
- function parseAddAuthMethodEmailOtpChallengeResponse(value) {
3530
- const responseName = "Email OTP enrollment code";
3531
- const response = requireWalletRegistrationResponseObject({
3532
- responseName,
3533
- field: "body",
3534
- value
3535
- });
3536
- assertWalletRegistrationResponseKeys(response, [
3537
- "ok",
3538
- "challengeId",
3539
- "expiresAtMs",
3540
- "emailHint"
3541
- ], responseName);
3542
- if (readWalletRegistrationResponseField(response, "ok", responseName) !== true) throw new Error(`${responseName} response is not successful`);
3543
- const challengeIdValue = readWalletRegistrationResponseField(response, "challengeId", responseName);
3544
- if (typeof challengeIdValue !== "string" || !challengeIdValue.trim()) throw new Error(`${responseName} response missing challengeId`);
3545
- const expiresAtMs = readWalletRegistrationResponseField(response, "expiresAtMs", responseName);
3546
- if (typeof expiresAtMs !== "number" || !Number.isSafeInteger(expiresAtMs) || expiresAtMs < 1) throw new Error(`${responseName} response has invalid expiresAtMs`);
3547
- const emailHint = readWalletRegistrationResponseField(response, "emailHint", responseName);
3548
- if (typeof emailHint !== "string") throw new Error(`${responseName} response has invalid emailHint`);
3549
- return {
3550
- challengeId: challengeIdValue.trim(),
3551
- expiresAtMs,
3552
- emailHint
3553
- };
3554
- }
3555
- /**
3556
- * Sends the enrollment code for an Email OTP addition.
3557
- *
3558
- * Carries no address: the server reads it from the intent the grant names, so
3559
- * a client cannot redirect a wallet's enrollment code. Callable more than once
3560
- * for the same intent, which is what a resend is.
3561
- */
3562
- async function requestAddAuthMethodEmailOtpChallenge(args) {
3563
- const walletId = String(args.walletId || "").trim();
3564
- if (!walletId) throw new Error("walletId is required for the Email OTP enrollment code");
3565
- return parseAddAuthMethodEmailOtpChallengeResponse(await postJson({
3566
- relayerUrl: args.relayerUrl,
3567
- path: `/wallets/${encodeURIComponent(walletId)}/auth-methods/email-otp/challenge`,
3568
- body: {
3569
- addAuthMethodIntentGrant: args.addAuthMethodIntentGrant,
3570
- addAuthMethodIntentDigestB64u: args.addAuthMethodIntentDigestB64u
3571
- }
3572
- }));
3573
- }
3574
- async function startWalletAddAuthMethod(args) {
3575
- const walletId = String(args.walletId || "").trim();
3576
- if (!walletId) throw new Error("walletId is required for add-auth-method start");
3577
- return parseWalletAddAuthMethodStartResponse({
3578
- value: await postJson({
3579
- relayerUrl: args.relayerUrl,
3580
- path: `/wallets/${encodeURIComponent(walletId)}/auth-methods/start`,
3581
- body: {
3582
- addAuthMethodIntentGrant: args.addAuthMethodIntentGrant,
3583
- addAuthMethodIntentDigestB64u: args.addAuthMethodIntentDigestB64u,
3584
- intent: args.intent,
3585
- auth: addAuthMethodAuthBody(args.auth),
3586
- ...addAuthMethodAuthorityBody(args.authority)
3587
- },
3588
- ...args.auth.kind === "wallet_session" ? { headers: { authorization: `Bearer ${args.auth.walletSessionToken}` } } : {}
3589
- }),
3590
- expectedIntent: args.intent
3591
- });
3592
- }
3593
- async function respondWalletAddSignerEcdsa(args) {
3594
- const walletId = String(args.walletId || "").trim();
3595
- if (!walletId) throw new Error("walletId is required for add-signer ECDSA respond");
3596
- return parseWalletAddSignerEcdsaRespondResponse(await postJson({
3597
- relayerUrl: args.relayerUrl,
3598
- path: `/wallets/${encodeURIComponent(walletId)}/signers/derivation/respond`,
3599
- body: {
3600
- addSignerCeremonyId: args.addSignerCeremonyId,
3601
- ecdsa: args.ecdsa
3602
- }
3603
- }));
3604
- }
3605
- async function activateWalletAddSignerEcdsa(args) {
3606
- const walletId = String(args.walletId || "").trim();
3607
- if (!walletId) throw new Error("walletId is required for add-signer ECDSA activation");
3608
- return parseWalletAddSignerEcdsaActivationResponse(await postJson({
3609
- relayerUrl: args.relayerUrl,
3610
- path: `/wallets/${encodeURIComponent(walletId)}/signers/derivation/activate`,
3611
- body: {
3612
- addSignerCeremonyId: args.addSignerCeremonyId,
3613
- ecdsa: {
3614
- kind: "router_ab_ecdsa_registration_activation_v1",
3615
- activationCorrelationId: args.activationCorrelationId,
3616
- publicFacts: args.publicFacts,
3617
- expectedActivationRequestDigest: args.expectedActivationRequestDigest
3618
- }
3619
- }
3620
- }));
3621
- }
3622
- function addSignerFinalizeBody(args) {
3623
- switch (args.kind) {
3624
- case "near_ed25519": return {
3625
- addSignerCeremonyId: args.addSignerCeremonyId,
3626
- idempotencyKey: args.idempotencyKey,
3627
- kind: args.kind,
3628
- ed25519: args.ed25519,
3629
- custodyKeySet: args.custodyKeySet
3630
- };
3631
- case "evm_family_ecdsa": return {
3632
- addSignerCeremonyId: args.addSignerCeremonyId,
3633
- idempotencyKey: args.idempotencyKey,
3634
- kind: args.kind,
3635
- ecdsa: args.ecdsa,
3636
- custodyKeySet: args.custodyKeySet
3637
- };
3638
- }
3639
- }
3640
- async function finalizeWalletAddSigner(args) {
3641
- const walletId = String(args.walletId || "").trim();
3642
- if (!walletId) throw new Error("walletId is required for add-signer finalize");
3643
- return parseWalletAddSignerFinalizeResponse({
3644
- value: await postJson({
3645
- relayerUrl: args.relayerUrl,
3646
- path: `/wallets/${encodeURIComponent(walletId)}/signers/finalize`,
3647
- body: addSignerFinalizeBody(args)
3648
- }),
3649
- expectedKind: args.kind
3650
- });
3651
- }
3652
- async function finalizeWalletAddAuthMethod(args) {
3653
- const walletId = String(args.walletId || "").trim();
3654
- if (!walletId) throw new Error("walletId is required for add-auth-method finalize");
3655
- const body = args.custodyEnvelope === void 0 ? { addAuthMethodCeremonyId: args.addAuthMethodCeremonyId } : args.webauthnRegistration === void 0 ? {
3656
- addAuthMethodCeremonyId: args.addAuthMethodCeremonyId,
3657
- custodyEnvelope: parsePasskeyCustodyEnvelopeRecord(args.custodyEnvelope),
3658
- emailOtpTarget: args.emailOtpTarget
3659
- } : {
3660
- addAuthMethodCeremonyId: args.addAuthMethodCeremonyId,
3661
- webauthnRegistration: args.webauthnRegistration,
3662
- custodyEnvelope: parsePasskeyCustodyEnvelopeRecord(args.custodyEnvelope)
3663
- };
3664
- const request = {
3665
- relayerUrl: args.relayerUrl,
3666
- path: `/wallets/${encodeURIComponent(walletId)}/auth-methods/finalize`,
3667
- body
3668
- };
3669
- let response;
3670
- try {
3671
- response = await postJson(request);
3672
- } catch (error) {
3673
- if (!(error instanceof TypeError)) throw error;
3674
- response = await postJson(request);
3675
- }
3676
- return parseWalletAddAuthMethodFinalizeResponse(response);
3677
- }
3678
- async function fetchWalletEcdsaKeyFactsInventoryWithOperationCredential(args) {
3679
- const walletId = String(args.walletId || "").trim();
3680
- const rpId = String(args.rpId || "").trim();
3681
- const operationCredential = args.operationCredential;
3682
- if (!walletId) throw new Error("walletId is required for ECDSA key-facts inventory");
3683
- if (!rpId) throw new Error("rpId is required for ECDSA key-facts inventory");
3684
- return parseWalletEcdsaKeyFactsInventoryResponse({
3685
- value: await postJson({
3686
- relayerUrl: args.relayerUrl,
3687
- path: `/wallets/${encodeURIComponent(walletId)}/signers/ecdsa/key-facts/inventory`,
3688
- headers: buildBearerAuthorizationHeader({
3689
- token: operationCredential.token,
3690
- missingMessage: "Wallet Session operation credential is required for ECDSA key-facts inventory"
3691
- }),
3692
- body: {
3693
- rpId,
3694
- keyTargets: args.keyTargets,
3695
- auth: {
3696
- kind: operationCredential.kind,
3697
- walletSessionId: operationCredential.walletSessionId
3698
- }
3699
- }
3700
- }),
3701
- walletId: args.walletId,
3702
- rpId
3703
- });
3704
- }
3705
- async function fetchWalletEcdsaKeyFactsInventoryWithWebAuthn(args) {
3706
- const walletId = String(args.walletId || "").trim();
3707
- const rpId = String(args.rpId || "").trim();
3708
- const serverNonceB64u = String(args.serverNonceB64u || "").trim();
3709
- const expectedChallengeDigestB64u = String(args.expectedChallengeDigestB64u || "").trim();
3710
- if (!walletId) throw new Error("walletId is required for ECDSA key-facts inventory");
3711
- if (!rpId) throw new Error("rpId is required for ECDSA key-facts inventory");
3712
- if (!serverNonceB64u || !expectedChallengeDigestB64u) throw new Error("WebAuthn ECDSA key-facts inventory requires challenge binding");
3713
- return parseWalletEcdsaKeyFactsInventoryResponse({
3714
- value: await postJson({
3715
- relayerUrl: args.relayerUrl,
3716
- path: `/wallets/${encodeURIComponent(walletId)}/signers/ecdsa/key-facts/inventory`,
3717
- body: {
3718
- rpId,
3719
- keyTargets: args.keyTargets,
3720
- auth: {
3721
- kind: "webauthn_assertion",
3722
- credential: args.credential,
3723
- serverNonceB64u,
3724
- expectedChallengeDigestB64u,
3725
- ...args.runtimePolicyScope ? { runtimePolicyScope: args.runtimePolicyScope } : {}
3726
- }
3727
- }
3728
- }),
3729
- walletId: args.walletId,
3730
- rpId
3731
- });
3732
- }
3733
- //#endregion
3734
- //#region ../shared-ts/src/authorization/walletCustodyOperation.ts
3735
- /** Public challenge digest for a single wallet-administration factor proof. */
3736
- async function computeWalletCustodyAdminChallengeDigest(input) {
3737
- return sha256Utf8DigestB64u(`seams:wallet-custody:challenge:v1|${alphabetizeStringify({
3738
- walletId: input.walletId,
3739
- operation: input.operation,
3740
- payload: input.payload,
3741
- requestOrigin: input.requestOrigin
3742
- })}`);
3743
- }
3744
- //#endregion
3745
- //#region ../shared-ts/src/authorization/walletSessionIssuance.ts
3746
- const COMMITTED_IDENTITY_FIELDS = [
3747
- "kind",
3748
- "walletId",
3749
- "authorityId",
3750
- "walletAuthMethodId",
3751
- "mintId",
3752
- "authorizationId",
3753
- "walletSessionId",
3754
- "quotaId"
3755
- ];
3756
- const NESTED_RESPONSE_FIELDS = [
3757
- "ok",
3758
- "code",
3759
- "message",
3760
- "next",
3761
- "committed"
3762
- ];
3763
- const FLAT_RESPONSE_FIELDS = [
3764
- "ok",
3765
- "code",
3766
- "message",
3767
- "next",
3768
- "kind",
3769
- "walletId",
3770
- "authorityId",
3771
- "walletAuthMethodId",
3772
- "mintId",
3773
- "authorizationId",
3774
- "walletSessionId",
3775
- "quotaId"
3776
- ];
3777
- const UNLOCK_FLAT_RESPONSE_FIELDS = [
3778
- ...FLAT_RESPONSE_FIELDS,
3779
- "unlocked",
3780
- "unlockBackend"
3781
- ];
3782
- function hasOnlyFields(record, fields) {
3783
- const actual = Object.keys(record);
3784
- return actual.length === new Set(fields).size && actual.every((field) => fields.includes(field));
3785
- }
3786
- function parseCommittedIdentity(value) {
3787
- if (!isPlainObject(value) || !hasOnlyFields(value, COMMITTED_IDENTITY_FIELDS)) return null;
3788
- if (value.kind !== "already_committed_wallet_session_v1") return null;
3789
- const walletId = parseWalletId(value.walletId);
3790
- const authorityId = parseWalletAuthorityId(value.authorityId);
3791
- const walletAuthMethodId = parseWalletAuthMethodId(value.walletAuthMethodId);
3792
- const mintId = parseWalletSessionMintId(value.mintId);
3793
- const authorizationId = parseWalletSessionAuthorizationId(value.authorizationId);
3794
- const walletSessionId = parseWalletSessionId(value.walletSessionId);
3795
- const quotaId = parseMpcWalletSigningQuotaId(value.quotaId);
3796
- if (!walletId.ok || !authorityId.ok || !walletAuthMethodId.ok || !mintId.ok || !authorizationId.ok || !walletSessionId.ok || !quotaId.ok) return null;
3797
- return {
3798
- kind: "already_committed_wallet_session_v1",
3799
- walletId: walletId.value,
3800
- authorityId: authorityId.value,
3801
- walletAuthMethodId: walletAuthMethodId.value,
3802
- mintId: mintId.value,
3803
- authorizationId: authorizationId.value,
3804
- walletSessionId: walletSessionId.value,
3805
- quotaId: quotaId.value
3806
- };
3807
- }
3808
- function parseResponseEnvelope(value) {
3809
- if (value.ok !== false || value.code !== "already_committed" || typeof value.message !== "string" || value.next !== "unlock_exact_method") return null;
3810
- return {
3811
- ok: false,
3812
- code: "already_committed",
3813
- message: value.message,
3814
- next: "unlock_exact_method"
3815
- };
3816
- }
3817
- function parseFlatCommittedIdentity(value) {
3818
- if (!hasOnlyFields(value, FLAT_RESPONSE_FIELDS) && !hasOnlyFields(value, UNLOCK_FLAT_RESPONSE_FIELDS)) return null;
3819
- if (hasOnlyFields(value, UNLOCK_FLAT_RESPONSE_FIELDS) && (value.unlocked !== false || value.unlockBackend !== "passkey" && value.unlockBackend !== "email_otp")) return null;
3820
- if (value.kind !== "already_committed") return null;
3821
- return parseCommittedIdentity({
3822
- kind: "already_committed_wallet_session_v1",
3823
- walletId: value.walletId,
3824
- authorityId: value.authorityId,
3825
- walletAuthMethodId: value.walletAuthMethodId,
3826
- mintId: value.mintId,
3827
- authorizationId: value.authorizationId,
3828
- walletSessionId: value.walletSessionId,
3829
- quotaId: value.quotaId
3830
- });
3831
- }
3832
- function buildAlreadyCommittedResponse(envelope, committed) {
3833
- return {
3834
- ok: false,
3835
- code: "already_committed",
3836
- message: envelope.message,
3837
- next: "unlock_exact_method",
3838
- committed
3839
- };
3840
- }
3841
- function parseWalletSessionAlreadyCommittedResponseV1(value) {
3842
- if (!isPlainObject(value)) return null;
3843
- const envelope = parseResponseEnvelope(value);
3844
- if (!envelope) return null;
3845
- if (!hasOnlyFields(value, NESTED_RESPONSE_FIELDS)) return null;
3846
- const committed = parseCommittedIdentity(value.committed);
3847
- return committed ? buildAlreadyCommittedResponse(envelope, committed) : null;
3848
- }
3849
- function parseWalletUnlockAlreadyCommittedResponseV1(value) {
3850
- if (!isPlainObject(value)) return null;
3851
- const envelope = parseResponseEnvelope(value);
3852
- if (!envelope) return null;
3853
- const committed = parseFlatCommittedIdentity(value);
3854
- return committed ? buildAlreadyCommittedResponse(envelope, committed) : null;
3855
- }
3856
- //#endregion
3857
- //#region src/core/signingEngine/session/material/mpcCapabilityHydration.ts
3858
- var MpcHydrationProof = class {
3859
- retainProof() {
3860
- return true;
3861
- }
3862
- constructor() {
3863
- this.retainProof();
3864
- }
3865
- };
3866
- var MpcUseLiveRuntimeHydrationPlanProof = class extends MpcHydrationProof {
3867
- constructor(fields) {
3868
- super();
3869
- this.kind = "use_live_runtime";
3870
- this.capability = fields.materialActivation.capability;
3871
- this.materialOwner = fields.materialActivation.materialOwner;
3872
- this.authority = fields.authority;
3873
- this.runtime = fields.runtime;
3874
- this.materialActivation = fields.materialActivation;
3875
- }
3876
- };
3877
- var MpcRehydrateMaterialActivationHydrationPlanProof = class extends MpcHydrationProof {
3878
- constructor(fields) {
3879
- super();
3880
- this.kind = "rehydrate_material_activation";
3881
- this.capability = fields.materialActivation.capability;
3882
- this.materialOwner = fields.materialActivation.materialOwner;
3883
- this.authority = fields.authority;
3884
- this.materialActivation = fields.materialActivation;
3885
- this.sealedMaterial = fields.sealedMaterial;
3886
- }
3887
- };
3888
- var MpcReauthorizePublicAnchorHydrationPlanProof = class extends MpcHydrationProof {
3889
- constructor(fields) {
3890
- super();
3891
- this.kind = "reauthorize_public_anchor";
3892
- this.capability = fields.publicReauthAnchor.capability;
3893
- this.materialOwner = fields.publicReauthAnchor.materialOwner;
3894
- this.authority = fields.publicReauthAnchor.authority;
3895
- this.retirement = fields.retirement;
3896
- this.publicReauthAnchor = fields.publicReauthAnchor;
3897
- }
3898
- };
3899
- var MpcBlockedCapabilityHydrationPlanProof = class extends MpcHydrationProof {
3900
- constructor(..._args) {
3901
- super(..._args);
3902
- this.kind = "blocked";
3903
- }
3904
- };
3905
- var MpcMissingCapabilityHydrationPlanProof = class extends MpcBlockedCapabilityHydrationPlanProof {
3906
- constructor(..._args2) {
3907
- super(..._args2);
3908
- this.capability = null;
3909
- this.reason = "missing_capability";
3910
- }
3911
- };
3912
- var MpcKnownCapabilityBlockedHydrationPlanProof = class extends MpcBlockedCapabilityHydrationPlanProof {
3913
- constructor(fields) {
3914
- super();
3915
- this.capability = fields.capability;
3916
- this.reason = fields.reason;
3917
- }
3918
- };
3919
- function buildUseLiveRuntimeHydrationPlan(fields) {
3920
- return new MpcUseLiveRuntimeHydrationPlanProof(fields);
3921
- }
3922
- function buildRehydrateMaterialActivationHydrationPlan(fields) {
3923
- return new MpcRehydrateMaterialActivationHydrationPlanProof(fields);
3924
- }
3925
- function buildReauthorizePublicAnchorHydrationPlan(fields) {
3926
- return new MpcReauthorizePublicAnchorHydrationPlanProof(fields);
3927
- }
3928
- function buildBlockedMpcCapabilityHydrationPlan(fields) {
3929
- if (fields.reason === "missing_capability") return new MpcMissingCapabilityHydrationPlanProof();
3930
- return new MpcKnownCapabilityBlockedHydrationPlanProof(fields);
3931
- }
3932
- //#endregion
3933
- //#region src/core/signingEngine/session/material/nearEd25519YaoMaterialActivation.ts
3934
- function requireParsedDomainId(result) {
3935
- if (!result.ok) throw new Error(result.error.message);
3936
- return result.value;
3937
- }
3938
- function nearEd25519YaoMaterialActivationFromMetadata(metadata) {
3939
- return metadata.materialActivation;
3940
- }
3941
- function nearEd25519YaoRuntimeRef(materialActivation) {
3942
- return requireParsedDomainId(parseMpcCapabilityRuntimeRef(`near-ed25519-yao:${materialActivation.activationId}`));
3943
- }
3944
- function blockedNearHydration(input, reason) {
3945
- const capability = input.sealed.kind === "available" ? input.sealed.materialActivation.capability : input.runtime.kind === "live" ? input.runtime.materialActivation.capability : input.publicLocator.kind === "available" ? input.publicLocator.materialActivation.capability : null;
3946
- return capability ? buildBlockedMpcCapabilityHydrationPlan({
3947
- capability,
3948
- reason
3949
- }) : buildBlockedMpcCapabilityHydrationPlan({
3950
- capability: null,
3951
- reason: "missing_capability"
3952
- });
3953
- }
3954
- function resolveNearEd25519YaoCapabilityHydrationV1(input) {
3955
- switch (input.publicLocator.kind) {
3956
- case "missing": return buildBlockedMpcCapabilityHydrationPlan({
3957
- capability: null,
3958
- reason: "missing_capability"
3959
- });
3960
- case "retired": return buildReauthorizePublicAnchorHydrationPlan({
3961
- retirement: input.publicLocator.retirement,
3962
- publicReauthAnchor: input.publicLocator.publicReauthAnchor
3963
- });
3964
- case "conflict": return blockedNearHydration(input, "exact_record_conflict");
3965
- case "corrupt": return blockedNearHydration(input, "corrupt");
3966
- case "unavailable": return buildBlockedMpcCapabilityHydrationPlan({
3967
- capability: input.publicLocator.capability,
3968
- reason: "persistence_unavailable"
3969
- });
3970
- case "available": break;
3971
- default: input.publicLocator;
3972
- }
3973
- const publicMaterialActivation = input.publicLocator.materialActivation;
3974
- if (String(publicMaterialActivation.materialOwner) !== input.publicLocator.walletId) return blockedNearHydration(input, "binding_mismatch");
3975
- switch (input.runtime.kind) {
3976
- case "live":
3977
- if (!mpcMaterialActivationRefsEqual(publicMaterialActivation, input.runtime.materialActivation)) return blockedNearHydration(input, "binding_mismatch");
3978
- return buildUseLiveRuntimeHydrationPlan({
3979
- authority: input.publicLocator.authority,
3980
- runtime: input.runtime.runtime,
3981
- materialActivation: publicMaterialActivation
3982
- });
3983
- case "absent": break;
3984
- default: input.runtime;
3985
- }
3986
- switch (input.sealed.kind) {
3987
- case "missing": return blockedNearHydration(input, "missing_material");
3988
- case "corrupt": return blockedNearHydration(input, "corrupt");
3989
- case "available": break;
3990
- default: input.sealed;
3991
- }
3992
- const sealed = input.sealed;
3993
- if (String(sealed.authority.walletId) !== input.publicLocator.walletId || String(sealed.authority.authorityDigest) !== String(input.publicLocator.authority.authorityDigest) || String(sealed.materialActivation.materialOwner) !== input.publicLocator.walletId || !mpcMaterialActivationRefsEqual(sealed.materialActivation, input.publicLocator.materialActivation)) return blockedNearHydration(input, "binding_mismatch");
3994
- switch (input.unlockSource.kind) {
3995
- case "unavailable": return blockedNearHydration(input, "missing_material");
3996
- case "available":
3997
- if (String(input.unlockSource.authority.walletId) !== String(sealed.authority.walletId) || String(input.unlockSource.authority.authorityDigest) !== String(sealed.authority.authorityDigest)) return blockedNearHydration(input, "binding_mismatch");
3998
- return buildRehydrateMaterialActivationHydrationPlan({
3999
- authority: sealed.authority,
4000
- materialActivation: sealed.materialActivation,
4001
- sealedMaterial: sealed.sealedMaterial
4002
- });
4003
- default: input.unlockSource;
4004
- }
4005
- throw new Error("Unsupported Near Ed25519 unlock-source observation");
4006
- }
4007
- //#endregion
4008
- export { parseProfileContinuityEcdsaWarmKey as A, respondWalletAddSignerEcdsa as C, startWalletAddAuthMethod as D, setupWalletRegistration as E, startWalletAddSigner as O, requestAddAuthMethodEmailOtpChallenge as S, revokeWalletAuthMethod as T, finalizeWalletAddAuthMethod as _, buildRehydrateMaterialActivationHydrationPlan as a, isEmailOtpWalletRegistrationFinalizeResponse as b, parseWalletUnlockAlreadyCommittedResponseV1 as c, activateWalletRegistration as d, completeWalletRegistrationNearProvisioning as f, fetchWalletEcdsaKeyFactsInventoryWithWebAuthn as g, fetchWalletEcdsaKeyFactsInventoryWithOperationCredential as h, buildBlockedMpcCapabilityHydrationPlan as i, activateRouterAbEcdsaPostRegistrationSession as k, computeWalletCustodyAdminChallengeDigest as l, createWalletAddSignerIntent as m, nearEd25519YaoRuntimeRef as n, buildUseLiveRuntimeHydrationPlan as o, createWalletAddAuthMethodIntent as p, resolveNearEd25519YaoCapabilityHydrationV1 as r, parseWalletSessionAlreadyCommittedResponseV1 as s, nearEd25519YaoMaterialActivationFromMetadata as t, activateWalletAddSignerEcdsa as u, finalizeWalletAddSigner as v, respondWalletRegistration as w, parseWalletRegistrationEcdsaDerivationRespond as x, fundImplicitNearAccountForTesting as y };