@seams/wallet 0.8.0 → 0.9.1

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 (1243) hide show
  1. package/README.md +140 -254
  2. package/THIRD_PARTY_NOTICES.md +7 -1
  3. package/dist/.build-inputs.sha256 +1 -1
  4. package/dist/esm/SeamsWeb/SeamsWeb.js +98 -1825
  5. package/dist/esm/SeamsWeb/assembly/createWalletIframeRouter.js +4 -15
  6. package/dist/esm/SeamsWeb/index.js +2 -2
  7. package/dist/esm/SeamsWeb/operations/devices/scanDevice.js +3 -361
  8. package/dist/esm/SeamsWeb/operations/near/delegateAction.js +18 -106
  9. package/dist/esm/SeamsWeb/operations/recovery/walletRecovery.js +3 -3
  10. package/dist/esm/SeamsWeb/operations/recovery/walletRecoveryCommit.js +8 -209
  11. package/dist/esm/SeamsWeb/operations/recovery/walletRecoveryDurablePayload.js +5 -5
  12. package/dist/esm/SeamsWeb/operations/recovery/walletRecoveryJournal.js +2 -64
  13. package/dist/esm/SeamsWeb/operations/tempo/executeEvmFamilyTransaction.js +1 -1
  14. package/dist/esm/SeamsWeb/operations/tempo/index.js +1 -13
  15. package/dist/esm/SeamsWeb/publicApi/auth.js +3 -19
  16. package/dist/esm/SeamsWeb/publicApi/createPublicApi.js +59 -94
  17. package/dist/esm/SeamsWeb/publicApi/currentWallet.js +1 -1
  18. package/dist/esm/SeamsWeb/publicApi/devices.js +33 -64
  19. package/dist/esm/SeamsWeb/publicApi/evm.js +28 -93
  20. package/dist/esm/SeamsWeb/publicApi/keyExport.js +26 -52
  21. package/dist/esm/SeamsWeb/publicApi/near.js +140 -435
  22. package/dist/esm/SeamsWeb/publicApi/placement.js +206 -0
  23. package/dist/esm/SeamsWeb/publicApi/session.js +13 -0
  24. package/dist/esm/SeamsWeb/publicApi/tempo.js +64 -221
  25. package/dist/esm/SeamsWeb/publicApi/{awaitNearReady.js → waitForNearAccount.js} +12 -12
  26. package/dist/esm/SeamsWeb/walletIframe/client/deviceCommands.js +50 -0
  27. package/dist/esm/SeamsWeb/walletIframe/client/emailOtpCommands.js +25 -0
  28. package/dist/esm/SeamsWeb/walletIframe/client/evmFamilyCommands.js +118 -0
  29. package/dist/esm/SeamsWeb/walletIframe/client/inboundMessages.js +223 -0
  30. package/dist/esm/SeamsWeb/walletIframe/client/nearCommands.js +153 -0
  31. package/dist/esm/SeamsWeb/walletIframe/client/overlay/overlay-styles.js +2 -2
  32. package/dist/esm/SeamsWeb/walletIframe/client/placementCommands.js +65 -0
  33. package/dist/esm/SeamsWeb/walletIframe/client/preferenceState.js +93 -0
  34. package/dist/esm/SeamsWeb/walletIframe/client/preferences.js +117 -0
  35. package/dist/esm/SeamsWeb/walletIframe/client/registrationCommands.js +92 -0
  36. package/dist/esm/SeamsWeb/walletIframe/client/router.js +241 -583
  37. package/dist/esm/SeamsWeb/walletIframe/client/sessionCommands.js +61 -0
  38. package/dist/esm/SeamsWeb/walletIframe/coordinator.js +175 -134
  39. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.js +13 -1
  40. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/mountAuthMenuSurface.js +1 -1
  41. package/dist/esm/SeamsWeb/walletIframe/shared/configuration.js +37 -0
  42. package/dist/esm/SeamsWeb/walletIframe/shared/exactSessionState.js +31 -11
  43. package/dist/esm/SeamsWeb/walletIframe/shared/facadeBoundary.js +96 -0
  44. package/dist/esm/SeamsWeb/walletIframe/shared/messages.js +6 -32
  45. package/dist/esm/advanced.js +3 -3
  46. package/dist/esm/build-paths.js +0 -4
  47. package/dist/esm/core/accountData/near/accountProjection.js +3 -3
  48. package/dist/esm/core/accountData/near/keyMaterial.js +2 -2
  49. package/dist/esm/core/config/chains.js +1 -28
  50. package/dist/esm/core/config/configBuilder.js +3 -14
  51. package/dist/esm/core/config/defaultConfigs.js +4 -6
  52. package/dist/esm/core/{signingEngine/workerManager/ecdsaPresignLifecycle.js → config/presignatures.js} +2 -2
  53. package/dist/esm/core/diagnostics/registration.js +8 -0
  54. package/dist/esm/core/indexedDB/accountKeyMaterial.js +1 -1
  55. package/dist/esm/core/indexedDB/linkedAuthoritySignerMaterial.js +4 -125
  56. package/dist/esm/core/indexedDB/normalization.js +7 -1
  57. package/dist/esm/core/indexedDB/pendingWalletRecoveryCommit.js +1 -1
  58. package/dist/esm/core/indexedDB/pendingWalletRegistrationCommit.js +3 -41
  59. package/dist/esm/core/indexedDB/seamsWalletDB/accountSignerRows.js +261 -0
  60. package/dist/esm/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestLookups.js +2 -201
  61. package/dist/esm/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestRecords.js +5 -736
  62. package/dist/esm/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestStore.js +6 -1084
  63. package/dist/esm/core/indexedDB/seamsWalletDB/ecdsaClientPresignatures.js +20 -138
  64. package/dist/esm/core/indexedDB/seamsWalletDB/manager.js +100 -4
  65. package/dist/esm/core/indexedDB/seamsWalletDB/nonceLeaseRows.js +156 -0
  66. package/dist/esm/core/indexedDB/seamsWalletDB/registrationSetup.js +4 -11
  67. package/dist/esm/core/indexedDB/seamsWalletDB/repositories.js +91 -547
  68. package/dist/esm/core/indexedDB/seamsWalletDB/signerOutboxRows.js +90 -0
  69. package/dist/esm/core/indexedDB/seamsWalletDB/walletCustodyEcdsaContinuity.js +7 -92
  70. package/dist/esm/core/indexedDB/seamsWalletDB/walletOwnershipGeneration.js +43 -0
  71. package/dist/esm/core/indexedDB/seamsWalletDB/walletSessionAuthorizationStore.js +103 -157
  72. package/dist/esm/core/indexedDB/unifiedIndexedDBManager.js +2 -1
  73. package/dist/esm/core/indexedDB/walletCustodyEd25519MaterialRecord.js +1 -1
  74. package/dist/esm/core/rpcClients/evm/nonceBackend.js +1 -176
  75. package/dist/esm/core/rpcClients/near/accountExists.js +34 -0
  76. package/dist/esm/core/rpcClients/relayer/ecdsaPrepareSession.js +42 -0
  77. package/dist/esm/core/rpcClients/relayer/relayerHttp.js +31 -1
  78. package/dist/esm/core/rpcClients/relayer/routerAbNormalSigning.js +47 -11
  79. package/dist/esm/core/rpcClients/relayer/walletRecoveryFinalize.js +2 -48
  80. package/dist/esm/core/rpcClients/relayer/walletRecoveryPrepare.js +9 -9
  81. package/dist/esm/core/rpcClients/relayer/walletRecoveryRotate.js +1 -223
  82. package/dist/esm/core/rpcClients/relayer/walletRegistration.js +36 -2197
  83. package/dist/esm/core/rpcClients/relayer/walletSessionAuthorizationStatus.js +145 -14
  84. package/dist/esm/core/signingEngine/chains/evm/evmAdapter.js +1 -1
  85. package/dist/esm/core/signingEngine/chains/near/display.js +1 -27
  86. package/dist/esm/core/signingEngine/chains/near/nearSignerWasm.js +2 -2
  87. package/dist/esm/core/signingEngine/flows/registration/accountLifecycle.js +6 -39
  88. package/dist/esm/core/signingEngine/flows/shared/signingConfirmation.js +2 -2
  89. package/dist/esm/core/signingEngine/flows/shared/signingStateMachine.js +1 -11
  90. package/dist/esm/core/signingEngine/flows/signEvmFamily/authPlanning.js +2 -2
  91. package/dist/esm/core/signingEngine/flows/signEvmFamily/ecdsaSelection.js +3 -3
  92. package/dist/esm/core/signingEngine/flows/signEvmFamily/emailOtpSigningSession.js +3 -136
  93. package/dist/esm/core/signingEngine/flows/signEvmFamily/freshWalletSessionRetry.js +1 -1
  94. package/dist/esm/core/signingEngine/flows/signEvmFamily/operationIds.js +1 -1
  95. package/dist/esm/core/signingEngine/flows/signEvmFamily/preparedSigning.js +2 -3
  96. package/dist/esm/core/signingEngine/flows/signEvmFamily/readySecp256k1Material.js +40 -5
  97. package/dist/esm/core/signingEngine/flows/signEvmFamily/signEvmFamily.js +4 -4
  98. package/dist/esm/core/signingEngine/flows/signEvmFamily/signers/ecdsaDerivationClientSigningMaterialSource.js +1 -1
  99. package/dist/esm/core/signingEngine/flows/signEvmFamily/signers/secp256k1.js +27 -53
  100. package/dist/esm/core/signingEngine/flows/signEvmFamily/signingFlow.js +5 -5
  101. package/dist/esm/core/signingEngine/flows/signEvmFamily/signingFlowRuntime.js +40 -33
  102. package/dist/esm/core/signingEngine/flows/signEvmFamily/thresholdAdmission.js +8 -2
  103. package/dist/esm/core/signingEngine/flows/signNear/implicitAccountFunding.js +1 -1
  104. package/dist/esm/core/signingEngine/flows/signNear/shared/ed25519YaoNormalSigning.js +177 -68
  105. package/dist/esm/core/signingEngine/flows/signNear/shared/implicitAccountFundingPort.js +1 -8
  106. package/dist/esm/core/signingEngine/flows/signNear/shared/operationStepUpPreparation.js +1 -38
  107. package/dist/esm/core/signingEngine/flows/signNear/shared/signatureOnlySigning.js +53 -8
  108. package/dist/esm/core/signingEngine/flows/signNear/signDelegate.js +5 -5
  109. package/dist/esm/core/signingEngine/flows/signNear/signNear.js +30 -44
  110. package/dist/esm/core/signingEngine/flows/signNear/signNep413.js +21 -12
  111. package/dist/esm/core/signingEngine/flows/signNear/signTransactions.js +59 -11
  112. package/dist/esm/core/signingEngine/interfaces/ecdsaChainTarget.js +1 -1
  113. package/dist/esm/core/signingEngine/nonce/nonceLaneKeys.js +1 -35
  114. package/dist/esm/core/signingEngine/nonce/nonceTypes.js +2 -26
  115. package/dist/esm/core/signingEngine/routerAb/ecdsaDerivation/httpRequest.js +4 -3
  116. package/dist/esm/core/signingEngine/routerAb/ecdsaDerivation/poolFillRoutes.js +5 -1
  117. package/dist/esm/core/signingEngine/routerAb/ecdsaDerivation/presignaturePool.js +112 -162
  118. package/dist/esm/core/signingEngine/routerAb/ecdsaDerivation/presignaturePoolPolicy.js +31 -0
  119. package/dist/esm/core/signingEngine/routerAb/ecdsaDerivation/signingMaterialRef.js +1 -1
  120. package/dist/esm/core/signingEngine/session/availability/availableSigningLanes.js +3 -913
  121. package/dist/esm/core/signingEngine/session/emailOtp/challengeDelivery.js +1 -45
  122. package/dist/esm/core/signingEngine/session/emailOtp/ecdsaSigningSessionAuthority.js +1 -81
  123. package/dist/esm/core/signingEngine/session/identity/clientSessionPersistenceState.js +1 -43
  124. package/dist/esm/core/signingEngine/session/identity/emailOtpEcdsaDerivationIdentity.js +1 -9
  125. package/dist/esm/core/signingEngine/session/identity/evmFamilyEcdsaIdentity.js +3 -125
  126. package/dist/esm/core/signingEngine/session/identity/exactSigningLaneIdentity.js +3 -19
  127. package/dist/esm/core/signingEngine/session/identity/laneIdentity.js +2 -106
  128. package/dist/esm/core/signingEngine/session/keyMaterialBrands.js +1 -1
  129. package/dist/esm/core/signingEngine/session/lifecycle/walletSessionFailure.js +1 -1
  130. package/dist/esm/core/signingEngine/session/material/activeEcdsaCapabilityRuntime.js +1 -114
  131. package/dist/esm/core/signingEngine/session/material/activeWalletAuthorityEcdsaRuntime.js +2 -2
  132. package/dist/esm/core/signingEngine/session/material/ecdsaCapabilityManifest.js +2 -187
  133. package/dist/esm/core/signingEngine/session/material/ecdsaRoleLocalMaterialResolver.js +2 -18
  134. package/dist/esm/core/signingEngine/session/material/ecdsaSigningCapability.js +2 -130
  135. package/dist/esm/core/signingEngine/session/material/linkedEcdsaHolderRuntime.js +1 -25
  136. package/dist/esm/core/signingEngine/session/material/nearEd25519YaoMaterialActivation.js +1 -73
  137. package/dist/esm/core/signingEngine/session/material/walletSigningStateFailure.js +1 -69
  138. package/dist/esm/core/signingEngine/session/operationState/preparedOperation.js +1 -5
  139. package/dist/esm/core/signingEngine/session/operationState/transactionState.js +0 -1
  140. package/dist/esm/core/signingEngine/session/passkey/prfCache.js +1 -5
  141. package/dist/esm/core/signingEngine/session/persistence/durableSealedSessionCommands.js +1 -9
  142. package/dist/esm/core/signingEngine/session/persistence/ecdsaRoleLocalRecords.js +3 -202
  143. package/dist/esm/core/signingEngine/session/persistence/sealedSessionRecords.js +4 -83
  144. package/dist/esm/core/signingEngine/session/persistence/sealedSessionStore.js +2 -2
  145. package/dist/esm/core/signingEngine/session/planning/planner.js +2 -13
  146. package/dist/esm/core/signingEngine/session/sealedRecovery/materialActivationKey.js +1 -8
  147. package/dist/esm/core/signingEngine/session/warmCapabilities/routerAbWalletSessionCredential.js +2 -1
  148. package/dist/esm/core/signingEngine/session/warmCapabilities/sealedRefreshParity.js +2 -41
  149. package/dist/esm/core/signingEngine/stepUpConfirmation/intentDigestPreparation.js +1 -14
  150. package/dist/esm/core/signingEngine/stepUpConfirmation/types.js +1 -7
  151. package/dist/esm/core/signingEngine/threshold/commitQueueShared.js +1 -127
  152. package/dist/esm/core/signingEngine/threshold/crypto/ecdsaDerivationClientWasm.js +3 -297
  153. package/dist/esm/core/signingEngine/threshold/ecdsa/operationStepUp.js +10 -24
  154. package/dist/esm/core/signingEngine/threshold/ed25519/walletSession.js +7 -209
  155. package/dist/esm/core/signingEngine/threshold/ed25519/yaoPublicCapabilityReferences.js +5 -208
  156. package/dist/esm/core/signingEngine/threshold/sessionPolicy.js +3 -9
  157. package/dist/esm/core/signingEngine/uiConfirm/nearFundingNotice.js +1 -17
  158. package/dist/esm/core/signingEngine/uiConfirm/ui/confirm-surface-resize.js +2 -173
  159. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ConfirmationContent.js +3 -3
  160. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ReviewDisclosure.js +2 -2
  161. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionReceipt.js +1 -1
  162. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionReview.js +5 -4
  163. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/mountConfirmationSurface.js +2 -2
  164. package/dist/esm/core/signingEngine/uiConfirm/ui/surface-resize-events.js +1 -6
  165. package/dist/esm/core/signingEngine/uiConfirm/ui/transaction-display/abi/abiDecode.js +1 -1
  166. package/dist/esm/core/signingEngine/webauthnAuth/credentials/credentialExtensions.js +1 -19
  167. package/dist/esm/core/signingEngine/webauthnAuth/credentials/helpers.js +2 -170
  168. package/dist/esm/core/signingEngine/workerManager/ecdsaPresignPoolIdentity.js +27 -5
  169. package/dist/esm/core/signingEngine/workerManager/validation.js +1 -104
  170. package/dist/esm/core/signingEngine/workerManager/workerTypes.js +1 -33
  171. package/dist/esm/core/types/rpc.js +1 -4
  172. package/dist/esm/core/types/sdkSentEvents.js +1 -24
  173. package/dist/esm/core/walletRuntimePaths/base.js +1 -28
  174. package/dist/esm/externalEvm/controller.js +7 -7
  175. package/dist/esm/index.js +8 -7
  176. package/dist/esm/react/components/AccountMenuButton/AuthenticationMethodsModal.js +9 -9
  177. package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal.css +1 -2
  178. package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal.js +9 -185
  179. package/dist/esm/react/components/AccountMenuButton/WalletRegionSection.js +303 -0
  180. package/dist/esm/react/components/AccountMenuButton/WalletSettingsLayout.js +31 -5
  181. package/dist/esm/react/components/AccountMenuButton/index.js +21 -13
  182. package/dist/esm/react/components/AccountMenuButton/types.js +2 -1
  183. package/dist/esm/react/components/HostedSeamsAuthMenu/shell.js +5 -17
  184. package/dist/esm/react/components/QRCodeScanner.js +5 -5
  185. package/dist/esm/react/components/ShowQRCode.js +13 -13
  186. package/dist/esm/react/context/SeamsWebProvider.js +1 -2
  187. package/dist/esm/react/context/index.js +8 -10
  188. package/dist/esm/react/context/seamsManagerSingleton.js +1 -1
  189. package/dist/esm/react/context/useLoginStateRefresher.js +10 -13
  190. package/dist/esm/react/context/useNearProvisioningStateRefresh.js +3 -3
  191. package/dist/esm/react/context/useSeamsContextValue.js +33 -81
  192. package/dist/esm/react/context/useSeamsWithSdkFlow.js +22 -51
  193. package/dist/esm/react/context/useWalletIframeLifecycle.js +20 -110
  194. package/dist/esm/react/hooks/useAccountInput.js +10 -13
  195. package/dist/esm/react/hooks/useDeviceLinking.js +1 -1
  196. package/dist/esm/react/hooks/useNearClient.js +1 -1
  197. package/dist/esm/react/hooks/useQRCamera.js +2 -8
  198. package/dist/esm/react/hooks/useWallet.js +5 -6
  199. package/dist/esm/react/hooks/useWalletAuth.js +3 -4
  200. package/dist/esm/react/hooks/useWalletDevices.js +2 -2
  201. package/dist/esm/react/index.js +4 -4
  202. package/dist/esm/react/transactionReview/TransactionReviewHost.js +1 -1
  203. package/dist/esm/react/transactionReview/boundCalls.js +5 -39
  204. package/dist/esm/react/transactionReview/controller.js +3 -4
  205. package/dist/esm/react/transactionReview/snapshot.js +1 -1
  206. package/dist/esm/react/utils/walletIframe.js +11 -52
  207. package/dist/esm/sdk/{ConfirmationDrawer-DrsREojk.js → ConfirmationDrawer-DY0_yeUV.js} +1 -1
  208. package/dist/esm/sdk/NonceCoordinator-CFFq8-Q9.js +1 -0
  209. package/dist/esm/sdk/accountLifecycle-CAMVowDl.js +1 -0
  210. package/dist/esm/sdk/activeWalletSession-DiZcKjB_.js +1 -0
  211. package/dist/esm/sdk/adapters-DdDOQzl4.js +2 -0
  212. package/dist/esm/sdk/appearance-ZGVLwA4N.js +1 -0
  213. package/dist/esm/sdk/authenticatorOptions-DMLnDWT2.js +1 -0
  214. package/dist/esm/sdk/authorizationAdmission-Ckx6q6tp.js +1 -0
  215. package/dist/esm/sdk/bytes-BBYkulRB.js +1 -0
  216. package/dist/esm/sdk/canonicalPrimitives-CKPGgpxg.js +1 -0
  217. package/dist/esm/sdk/canonicalSignerErrorCode-DEHsPxNm.js +1 -0
  218. package/dist/esm/sdk/{capabilityKinds-XaXXiD2B.js → capabilityKinds-CKQ4Uqnv.js} +1 -1
  219. package/dist/esm/sdk/chains-CiYQT1K4.js +1 -0
  220. package/dist/esm/sdk/challengeDelivery-DxXAkOfS.js +1 -0
  221. package/dist/esm/sdk/clientSessionPersistenceState-CImFWDj6.js +1 -0
  222. package/dist/esm/sdk/commitQueue-iBNUt9Bz.js +1 -0
  223. package/dist/esm/sdk/configBuilder-ZiZwFKt4.js +1 -0
  224. package/dist/esm/sdk/configHelpers-D8Ivi6p8.js +1 -0
  225. package/dist/esm/sdk/digestEncoding-Dzc1rzWV.js +1 -0
  226. package/dist/esm/sdk/display-ClqZq-Xt.js +1 -0
  227. package/dist/esm/sdk/ecdsaCapabilityManifest-BlzJAQF8.js +1 -0
  228. package/dist/{public/sdk/ecdsaChainTarget-CRcRR78w.js → esm/sdk/ecdsaChainTarget-C8ZtMZ8l.js} +1 -1
  229. package/dist/esm/sdk/ecdsaDerivationClientWasm-CVeNEou2.js +1 -0
  230. package/dist/esm/sdk/ecdsaDerivationExport-BZFHSMCv.js +1 -0
  231. package/dist/esm/sdk/{ecdsaWalletRecords-Cm1DdexN.js → ecdsaWalletRecords-D4WeYc7H.js} +1 -1
  232. package/dist/esm/sdk/emailOtpEcdsaDerivationIdentity-B8HzTh4T.js +1 -0
  233. package/dist/esm/sdk/enrichDisplayModelWithAbi-69bNckvi.js +1 -0
  234. package/dist/esm/sdk/{evmCryptoWasm-CwEXiLrC.js → evmCryptoWasm-BXsIyRon.js} +1 -1
  235. package/dist/esm/sdk/export-viewer-host-CsFeiIhd.js +1 -0
  236. package/dist/esm/sdk/exportKeypairOperation-DGQIYML3.js +1 -0
  237. package/dist/esm/sdk/helpers-Ddy72ULN.js +1 -0
  238. package/dist/esm/sdk/host-c1__wJwz.js +1 -0
  239. package/dist/esm/sdk/intentDigest-CE-tLw87.js +1 -0
  240. package/dist/esm/sdk/jsxRuntime.module-BcZNe_OA.js +2 -0
  241. package/dist/esm/sdk/lanes-DnBwWv4l.js +1 -0
  242. package/dist/esm/sdk/localOnly-ClCo6602.js +1 -0
  243. package/dist/esm/sdk/messages-vxz27Way.js +1 -0
  244. package/dist/esm/sdk/mountExportPrivateKeySurface-CBZ0wRYj.js +1 -0
  245. package/dist/{public/sdk/mountRecoveryCodeBackupSurface-BBCTaQsu.js → esm/sdk/mountRecoveryCodeBackupSurface-B1qhFF6G.js} +2 -2
  246. package/dist/esm/sdk/nearEd25519YaoMaterialActivation-fWQI3rYj.js +1 -0
  247. package/dist/esm/sdk/nearEd25519YaoSigningPreparation-B0d1AG3u.js +1 -0
  248. package/dist/{public/sdk/nonceLaneKeys-BBYi4g51.js → esm/sdk/nonceLaneKeys-Fkvk2UPy.js} +1 -1
  249. package/dist/esm/sdk/normalization-CpLZcL2f.js +1 -0
  250. package/dist/esm/sdk/normalization-DCvuCvh0.js +1 -0
  251. package/dist/esm/sdk/normalize-kUDm5zfS.js +1 -0
  252. package/dist/esm/sdk/{operationFingerprint-DtQb0pdp.js → operationFingerprint-CTR9G1NT.js} +1 -1
  253. package/dist/esm/sdk/passkey-custody-BQj44jEM.js +1 -0
  254. package/dist/esm/sdk/pendingWalletRecoveryCodeBackup-yJN8VAHn.js +1 -0
  255. package/dist/esm/sdk/presignaturePool-DwlTReFO.js +1 -0
  256. package/dist/esm/sdk/presignatures-DB2IPD-A.js +1 -0
  257. package/dist/esm/sdk/{prfCache-Mbo7_USg.js → prfCache-BMpqZZ-v.js} +1 -1
  258. package/dist/esm/sdk/primitives-CAcl7ON7.js +1 -0
  259. package/dist/esm/sdk/promptText-D2f5Rg0h.js +1 -0
  260. package/dist/esm/sdk/recovery-entrypoint-Bl5GgbW9.js +1 -0
  261. package/dist/esm/sdk/registration-C4sALQZO.js +1 -0
  262. package/dist/esm/sdk/registration-CEqVAgNJ.js +1 -0
  263. package/dist/esm/sdk/{registrationAccounts-DIeEVy6W.js → registrationAccounts-D4RVetMz.js} +1 -1
  264. package/dist/esm/sdk/registrationAuthMethodInput-6ccY2Vuh.js +1 -0
  265. package/dist/esm/sdk/registrationIds-CdPqm-Ya.js +1 -0
  266. package/dist/esm/sdk/registrationIntent-DOkZcKSP.js +1 -0
  267. package/dist/esm/sdk/registrationSignerPlan-B9GCvpTV.js +1 -0
  268. package/dist/esm/sdk/requireStepUpAuth-DCVqmeee.js +1 -0
  269. package/dist/esm/sdk/routerAbNormalSigning-BG75eyI2.js +1 -0
  270. package/dist/esm/sdk/router_ab_ed25519_yao_client_bg.wasm +0 -0
  271. package/dist/esm/sdk/runtime-auth-BKFyLISf.js +1 -0
  272. package/dist/esm/sdk/runtime-device-link-ENxdEXQW.js +1 -0
  273. package/dist/esm/sdk/runtime-ecdsa-tempo-DhGEb9U7.js +1 -0
  274. package/dist/esm/sdk/runtime-email-otp-dgsP7XZi.js +1 -0
  275. package/dist/esm/sdk/runtime-export-D2RCm5Gk.js +1 -0
  276. package/dist/esm/sdk/runtime-near-Bf-9MFBQ.js +1 -0
  277. package/dist/esm/sdk/runtime-preferences-LQ8SPE7o.js +1 -0
  278. package/dist/esm/sdk/runtime-recovery-BuEzJzuZ.js +1 -0
  279. package/dist/esm/sdk/runtime-recovery-codes-BZMiAR_5.js +1 -0
  280. package/dist/esm/sdk/sdkSentEvents-D3q1h-Uo.js +1 -0
  281. package/dist/esm/sdk/secp256k1-DSLttQND.js +1 -0
  282. package/dist/esm/sdk/{secureRandomId-CTdlJ5Mx.js → secureRandomId-BIekT8bE.js} +1 -1
  283. package/dist/esm/sdk/sessionPolicy-J-RrlPZQ.js +1 -0
  284. package/dist/esm/sdk/shared-8ffIBYw2.js +6 -0
  285. package/dist/esm/sdk/signEvmFamily-KUNWKVeh.js +1 -0
  286. package/dist/esm/sdk/{signEvmFamilyWithUiConfirmForTempo-DgTbh6jX.js → signEvmFamilyWithUiConfirmForTempo-Dc57bJ3V.js} +1 -1
  287. package/dist/esm/sdk/{signEvmWithUiConfirm-ChreN7aZ.js → signEvmWithUiConfirm-CqxL7UbT.js} +1 -1
  288. package/dist/esm/sdk/signNear-BhTkDm2-.js +1 -0
  289. package/dist/esm/sdk/{signatureUses-CQkkUcwT.js → signatureUses-CjJ233KX.js} +1 -1
  290. package/dist/esm/sdk/signerDomain-vQmlnsbF.js +1 -0
  291. package/dist/esm/sdk/signingFlow-vrXxrhlG.js +2 -0
  292. package/dist/esm/sdk/signingQueue-BrGJXBqe.js +1 -0
  293. package/dist/esm/sdk/{signingSessionSeal-Mr2Xp44o.js → signingSessionSeal-CDLUmAFY.js} +1 -1
  294. package/dist/esm/sdk/singletons-8UH3gOnZ.js +1 -0
  295. package/dist/esm/sdk/theme-_AUTWLS_.js +1 -0
  296. package/dist/esm/sdk/thresholdEcdsa-CO7xo1So.js +1 -0
  297. package/dist/esm/sdk/trace-BvbCxdXF.js +1 -0
  298. package/dist/esm/sdk/transaction-activity-D40ih2j-.js +1 -0
  299. package/dist/esm/sdk/transactionReviewAdmission-C-a3ctCJ.js +1 -0
  300. package/dist/esm/sdk/transactionState-DVinJk4K.js +1 -0
  301. package/dist/esm/sdk/tx-confirm-ui.js +7 -11
  302. package/dist/esm/sdk/{promptText-s8TQ6ckX.js → types-BNUuaUtl.js} +1 -1
  303. package/dist/esm/sdk/{types-M7vxrYtJ.js → types-D3GM-uHR.js} +1 -1
  304. package/dist/esm/sdk/wallet-iframe-host-ecdsa.js +1 -1
  305. package/dist/esm/sdk/wallet-iframe-host-full.js +1 -1
  306. package/dist/esm/sdk/wallet-iframe-host-near.js +1 -1
  307. package/dist/esm/sdk/wallet-iframe-host-runtime.js +1 -1
  308. package/dist/esm/sdk/wallet-recovery-C1kesLCF.js +1 -0
  309. package/dist/esm/sdk/wallet-ui.css +1 -1
  310. package/dist/esm/sdk/walletAuthMethodRecord-CXedSgpV.js +1 -0
  311. package/dist/esm/sdk/walletAuthority-B5hXHWpK.js +1 -0
  312. package/dist/esm/sdk/walletCustodyEcdsaContinuity-abNZ_dvX.js +1 -0
  313. package/dist/esm/sdk/{walletIframeIdentity-C0b0XMQF.js → walletIframeIdentity-DJ0KOBHg.js} +1 -1
  314. package/dist/esm/sdk/walletOwnershipGeneration-DoXVMDWe.js +1 -0
  315. package/dist/esm/sdk/walletRecoveryCommit-Cc9AqHr0.js +1 -0
  316. package/dist/esm/sdk/walletRecoveryRotate-DWTAFYiv.js +1 -0
  317. package/dist/esm/sdk/walletSessionAuthorizationProjection-DWBksIJR.js +1 -0
  318. package/dist/esm/sdk/walletSessionAuthorizationStatus-o1VgsLhA.js +1 -0
  319. package/dist/esm/sdk/walletSessionAuthorizationStore-gEYPmu-G.js +1 -0
  320. package/dist/esm/sdk/walletSessionFailure-Bu4VPKTz.js +1 -0
  321. package/dist/esm/sdk/warmSessionHydration-DgjuUacN.js +1 -0
  322. package/dist/esm/sdk/{webauthnP256-qu06GNFm.js → webauthnP256-BEz4DEAs.js} +1 -1
  323. package/dist/esm/sdk/{webauthnPromptCoordinator-DO-qfECu.js → webauthnPromptCoordinator-BEudHQBr.js} +1 -1
  324. package/dist/esm/shared-ts/src/authorization/capabilityKinds.js +1 -7
  325. package/dist/esm/shared-ts/src/authorization/delegatedAuthority.js +2 -20
  326. package/dist/esm/shared-ts/src/authorization/index.js +1 -2
  327. package/dist/esm/shared-ts/src/authorization/operationFingerprint.js +1 -20
  328. package/dist/esm/shared-ts/src/authorization/walletAuthority.js +4 -51
  329. package/dist/esm/shared-ts/src/authorization/walletSessionIssuance.js +1 -112
  330. package/dist/esm/shared-ts/src/device-linking/activeWalletSession.js +13 -3
  331. package/dist/esm/shared-ts/src/device-linking/authorityActivation.js +6 -116
  332. package/dist/esm/shared-ts/src/device-linking/committedSignerPackages.js +3 -270
  333. package/dist/esm/shared-ts/src/device-linking/delegatedActivationPlan.js +2 -2
  334. package/dist/esm/shared-ts/src/device-linking/deviceManagement.js +1 -12
  335. package/dist/esm/shared-ts/src/device-linking/digests.js +1 -109
  336. package/dist/esm/shared-ts/src/device-linking/index.js +0 -2
  337. package/dist/esm/shared-ts/src/device-linking/parsers.js +7 -921
  338. package/dist/esm/shared-ts/src/device-linking/requestProof.js +1 -19
  339. package/dist/esm/shared-ts/src/device-linking/sourceContribution.js +5 -358
  340. package/dist/esm/shared-ts/src/device-linking/walletSessionCredentialDelivery.js +1 -172
  341. package/dist/esm/shared-ts/src/device-linking/wireFields.js +4 -5
  342. package/dist/esm/shared-ts/src/near/actions.js +1 -13
  343. package/dist/esm/shared-ts/src/near/nearClient.js +1 -1
  344. package/dist/esm/shared-ts/src/passkey-custody/custodyEnvelope.js +3 -59
  345. package/dist/esm/shared-ts/src/passkey-custody/custodySecretBinding.js +4 -8
  346. package/dist/esm/shared-ts/src/passkey-custody/index.js +0 -1
  347. package/dist/esm/shared-ts/src/signing-lanes/index.js +0 -1
  348. package/dist/esm/shared-ts/src/signing-lanes/ownerContinuity.js +0 -59
  349. package/dist/esm/shared-ts/src/threshold/ed25519OperationFingerprint.js +1 -1
  350. package/dist/esm/shared-ts/src/threshold/keyMaterialBrands.js +1 -4
  351. package/dist/esm/shared-ts/src/threshold/participants.js +1 -2
  352. package/dist/esm/shared-ts/src/threshold/signingRootScope.js +1 -4
  353. package/dist/esm/shared-ts/src/utils/authenticatorOptions.js +1 -12
  354. package/dist/esm/shared-ts/src/utils/canonicalPrimitives.js +2 -5
  355. package/dist/esm/shared-ts/src/utils/domainIds.js +1 -7
  356. package/dist/esm/shared-ts/src/utils/ecdsaCapabilityActivation.js +1 -16
  357. package/dist/esm/shared-ts/src/utils/ecdsaServerTiming.js +6 -1
  358. package/dist/esm/shared-ts/src/utils/emailOtpDomain.js +1 -23
  359. package/dist/esm/shared-ts/src/utils/emailOtpRecoveryKey.js +1 -42
  360. package/dist/esm/shared-ts/src/utils/errors.js +1 -43
  361. package/dist/esm/shared-ts/src/utils/index.js +18 -22
  362. package/dist/esm/shared-ts/src/utils/near.js +2 -74
  363. package/dist/esm/shared-ts/src/utils/normalize.js +1 -22
  364. package/dist/esm/shared-ts/src/utils/registrationAuthMethodInput.js +1 -74
  365. package/dist/esm/shared-ts/src/utils/registrationEstablishedSession.js +6 -275
  366. package/dist/esm/shared-ts/src/utils/registrationIds.js +1 -203
  367. package/dist/esm/shared-ts/src/utils/registrationIntent.js +1 -389
  368. package/dist/esm/shared-ts/src/utils/registrationSignerPlan.js +2 -434
  369. package/dist/esm/shared-ts/src/utils/routerAbEcdsaDerivation.js +6 -414
  370. package/dist/esm/shared-ts/src/utils/routerAbEd25519Yao.js +1 -334
  371. package/dist/esm/shared-ts/src/utils/routerAbEd25519YaoDigests.js +2 -40
  372. package/dist/esm/shared-ts/src/utils/routerAbNormalSigningIdentity.js +1 -1
  373. package/dist/esm/shared-ts/src/utils/signingSessionSeal.js +1 -6
  374. package/dist/esm/shared-ts/src/utils/thresholdEcdsaKeyHandle.js +1 -6
  375. package/dist/esm/shared-ts/src/utils/validation.js +2 -17
  376. package/dist/esm/shared-ts/src/utils/walletAuthAuthority.js +1 -28
  377. package/dist/esm/shared-ts/src/utils/walletAuthMethodRecord.js +1 -11
  378. package/dist/esm/shared-ts/src/utils/walletCapabilityBindings.js +1 -7
  379. package/dist/esm/shared-ts/src/wallet-recovery/index.js +3 -5
  380. package/dist/esm/shared-ts/src/wallet-recovery/recoveryCodeIssuance.js +1 -35
  381. package/dist/esm/shared-ts/src/wallet-recovery/recoveryCodeLocator.js +0 -32
  382. package/dist/esm/shared-ts/src/wallet-recovery/recoveryCodeReservation.js +1 -15
  383. package/dist/esm/shared-ts/src/wallet-recovery/recoveryKeyId.js +0 -11
  384. package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryCommittedProjection.js +1 -1
  385. package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryEcdsaPossession.js +2 -42
  386. package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryEnvelopeSet.js +3 -53
  387. package/dist/esm/shared-ts/src/wallet-recovery/walletRecoveryRotation.js +2 -63
  388. package/dist/esm/threshold.js +1 -1
  389. package/dist/esm/utils/intentDigest.js +1 -4
  390. package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker_bg.wasm +0 -0
  391. package/dist/esm/wasm/router_ab_ecdsa_client/pkg/router_ab_ecdsa_client_bg.wasm +0 -0
  392. package/dist/esm/wasm/router_ab_ed25519_yao_client/pkg/router_ab_ed25519_yao_client_bg.wasm +0 -0
  393. package/dist/public/headers.manifest.json +1 -1
  394. package/dist/public/sdk/{ConfirmationDrawer-DrsREojk.js → ConfirmationDrawer-DY0_yeUV.js} +1 -1
  395. package/dist/public/sdk/NonceCoordinator-CFFq8-Q9.js +1 -0
  396. package/dist/public/sdk/accountLifecycle-CAMVowDl.js +1 -0
  397. package/dist/public/sdk/activeWalletSession-DiZcKjB_.js +1 -0
  398. package/dist/public/sdk/adapters-DdDOQzl4.js +2 -0
  399. package/dist/public/sdk/appearance-ZGVLwA4N.js +1 -0
  400. package/dist/public/sdk/authenticatorOptions-DMLnDWT2.js +1 -0
  401. package/dist/public/sdk/authorizationAdmission-Ckx6q6tp.js +1 -0
  402. package/dist/public/sdk/bytes-BBYkulRB.js +1 -0
  403. package/dist/public/sdk/canonicalPrimitives-CKPGgpxg.js +1 -0
  404. package/dist/public/sdk/canonicalSignerErrorCode-DEHsPxNm.js +1 -0
  405. package/dist/public/sdk/{capabilityKinds-XaXXiD2B.js → capabilityKinds-CKQ4Uqnv.js} +1 -1
  406. package/dist/public/sdk/chains-CiYQT1K4.js +1 -0
  407. package/dist/public/sdk/challengeDelivery-DxXAkOfS.js +1 -0
  408. package/dist/public/sdk/clientSessionPersistenceState-CImFWDj6.js +1 -0
  409. package/dist/public/sdk/commitQueue-iBNUt9Bz.js +1 -0
  410. package/dist/public/sdk/configBuilder-ZiZwFKt4.js +1 -0
  411. package/dist/public/sdk/configHelpers-D8Ivi6p8.js +1 -0
  412. package/dist/public/sdk/digestEncoding-Dzc1rzWV.js +1 -0
  413. package/dist/public/sdk/display-ClqZq-Xt.js +1 -0
  414. package/dist/public/sdk/ecdsaCapabilityManifest-BlzJAQF8.js +1 -0
  415. package/dist/{esm/sdk/ecdsaChainTarget-CRcRR78w.js → public/sdk/ecdsaChainTarget-C8ZtMZ8l.js} +1 -1
  416. package/dist/public/sdk/ecdsaDerivationClientWasm-CVeNEou2.js +1 -0
  417. package/dist/public/sdk/ecdsaDerivationExport-BZFHSMCv.js +1 -0
  418. package/dist/public/sdk/{ecdsaWalletRecords-Cm1DdexN.js → ecdsaWalletRecords-D4WeYc7H.js} +1 -1
  419. package/dist/public/sdk/emailOtpEcdsaDerivationIdentity-B8HzTh4T.js +1 -0
  420. package/dist/public/sdk/enrichDisplayModelWithAbi-69bNckvi.js +1 -0
  421. package/dist/public/sdk/{evmCryptoWasm-CwEXiLrC.js → evmCryptoWasm-BXsIyRon.js} +1 -1
  422. package/dist/public/sdk/export-viewer-host-CsFeiIhd.js +1 -0
  423. package/dist/public/sdk/exportKeypairOperation-DGQIYML3.js +1 -0
  424. package/dist/public/sdk/helpers-Ddy72ULN.js +1 -0
  425. package/dist/public/sdk/host-c1__wJwz.js +1 -0
  426. package/dist/public/sdk/intentDigest-CE-tLw87.js +1 -0
  427. package/dist/public/sdk/jsxRuntime.module-BcZNe_OA.js +2 -0
  428. package/dist/public/sdk/lanes-DnBwWv4l.js +1 -0
  429. package/dist/public/sdk/localOnly-ClCo6602.js +1 -0
  430. package/dist/public/sdk/messages-vxz27Way.js +1 -0
  431. package/dist/public/sdk/mountExportPrivateKeySurface-CBZ0wRYj.js +1 -0
  432. package/dist/{esm/sdk/mountRecoveryCodeBackupSurface-BBCTaQsu.js → public/sdk/mountRecoveryCodeBackupSurface-B1qhFF6G.js} +2 -2
  433. package/dist/public/sdk/nearEd25519YaoMaterialActivation-fWQI3rYj.js +1 -0
  434. package/dist/public/sdk/nearEd25519YaoSigningPreparation-B0d1AG3u.js +1 -0
  435. package/dist/{esm/sdk/nonceLaneKeys-BBYi4g51.js → public/sdk/nonceLaneKeys-Fkvk2UPy.js} +1 -1
  436. package/dist/public/sdk/normalization-CpLZcL2f.js +1 -0
  437. package/dist/public/sdk/normalization-DCvuCvh0.js +1 -0
  438. package/dist/public/sdk/normalize-kUDm5zfS.js +1 -0
  439. package/dist/public/sdk/{operationFingerprint-DtQb0pdp.js → operationFingerprint-CTR9G1NT.js} +1 -1
  440. package/dist/public/sdk/passkey-custody-BQj44jEM.js +1 -0
  441. package/dist/public/sdk/pendingWalletRecoveryCodeBackup-yJN8VAHn.js +1 -0
  442. package/dist/public/sdk/presignaturePool-DwlTReFO.js +1 -0
  443. package/dist/public/sdk/presignatures-DB2IPD-A.js +1 -0
  444. package/dist/public/sdk/{prfCache-Mbo7_USg.js → prfCache-BMpqZZ-v.js} +1 -1
  445. package/dist/public/sdk/primitives-CAcl7ON7.js +1 -0
  446. package/dist/public/sdk/promptText-D2f5Rg0h.js +1 -0
  447. package/dist/public/sdk/recovery-entrypoint-Bl5GgbW9.js +1 -0
  448. package/dist/public/sdk/registration-C4sALQZO.js +1 -0
  449. package/dist/public/sdk/registration-CEqVAgNJ.js +1 -0
  450. package/dist/public/sdk/{registrationAccounts-DIeEVy6W.js → registrationAccounts-D4RVetMz.js} +1 -1
  451. package/dist/public/sdk/registrationAuthMethodInput-6ccY2Vuh.js +1 -0
  452. package/dist/public/sdk/registrationIds-CdPqm-Ya.js +1 -0
  453. package/dist/public/sdk/registrationIntent-DOkZcKSP.js +1 -0
  454. package/dist/public/sdk/registrationSignerPlan-B9GCvpTV.js +1 -0
  455. package/dist/public/sdk/requireStepUpAuth-DCVqmeee.js +1 -0
  456. package/dist/public/sdk/routerAbNormalSigning-BG75eyI2.js +1 -0
  457. package/dist/public/sdk/router_ab_ed25519_yao_client_bg.wasm +0 -0
  458. package/dist/public/sdk/runtime-auth-BKFyLISf.js +1 -0
  459. package/dist/public/sdk/runtime-device-link-ENxdEXQW.js +1 -0
  460. package/dist/public/sdk/runtime-ecdsa-tempo-DhGEb9U7.js +1 -0
  461. package/dist/public/sdk/runtime-email-otp-dgsP7XZi.js +1 -0
  462. package/dist/public/sdk/runtime-export-D2RCm5Gk.js +1 -0
  463. package/dist/public/sdk/runtime-near-Bf-9MFBQ.js +1 -0
  464. package/dist/public/sdk/runtime-preferences-LQ8SPE7o.js +1 -0
  465. package/dist/public/sdk/runtime-recovery-BuEzJzuZ.js +1 -0
  466. package/dist/public/sdk/runtime-recovery-codes-BZMiAR_5.js +1 -0
  467. package/dist/public/sdk/sdkSentEvents-D3q1h-Uo.js +1 -0
  468. package/dist/public/sdk/secp256k1-DSLttQND.js +1 -0
  469. package/dist/public/sdk/{secureRandomId-CTdlJ5Mx.js → secureRandomId-BIekT8bE.js} +1 -1
  470. package/dist/public/sdk/sessionPolicy-J-RrlPZQ.js +1 -0
  471. package/dist/public/sdk/shared-8ffIBYw2.js +6 -0
  472. package/dist/public/sdk/signEvmFamily-KUNWKVeh.js +1 -0
  473. package/dist/public/sdk/{signEvmFamilyWithUiConfirmForTempo-DgTbh6jX.js → signEvmFamilyWithUiConfirmForTempo-Dc57bJ3V.js} +1 -1
  474. package/dist/public/sdk/{signEvmWithUiConfirm-ChreN7aZ.js → signEvmWithUiConfirm-CqxL7UbT.js} +1 -1
  475. package/dist/public/sdk/signNear-BhTkDm2-.js +1 -0
  476. package/dist/public/sdk/{signatureUses-CQkkUcwT.js → signatureUses-CjJ233KX.js} +1 -1
  477. package/dist/public/sdk/signerDomain-vQmlnsbF.js +1 -0
  478. package/dist/public/sdk/signingFlow-vrXxrhlG.js +2 -0
  479. package/dist/public/sdk/signingQueue-BrGJXBqe.js +1 -0
  480. package/dist/public/sdk/{signingSessionSeal-Mr2Xp44o.js → signingSessionSeal-CDLUmAFY.js} +1 -1
  481. package/dist/public/sdk/singletons-8UH3gOnZ.js +1 -0
  482. package/dist/public/sdk/theme-_AUTWLS_.js +1 -0
  483. package/dist/public/sdk/thresholdEcdsa-CO7xo1So.js +1 -0
  484. package/dist/public/sdk/trace-BvbCxdXF.js +1 -0
  485. package/dist/public/sdk/transaction-activity-D40ih2j-.js +1 -0
  486. package/dist/public/sdk/transactionReviewAdmission-C-a3ctCJ.js +1 -0
  487. package/dist/public/sdk/transactionState-DVinJk4K.js +1 -0
  488. package/dist/public/sdk/tx-confirm-ui.js +7 -11
  489. package/dist/public/sdk/{promptText-s8TQ6ckX.js → types-BNUuaUtl.js} +1 -1
  490. package/dist/public/sdk/{types-M7vxrYtJ.js → types-D3GM-uHR.js} +1 -1
  491. package/dist/public/sdk/wallet-iframe-host-ecdsa.js +1 -1
  492. package/dist/public/sdk/wallet-iframe-host-full.js +1 -1
  493. package/dist/public/sdk/wallet-iframe-host-near.js +1 -1
  494. package/dist/public/sdk/wallet-iframe-host-runtime.js +1 -1
  495. package/dist/public/sdk/wallet-recovery-C1kesLCF.js +1 -0
  496. package/dist/public/sdk/wallet-ui.css +1 -1
  497. package/dist/public/sdk/walletAuthMethodRecord-CXedSgpV.js +1 -0
  498. package/dist/public/sdk/walletAuthority-B5hXHWpK.js +1 -0
  499. package/dist/public/sdk/walletCustodyEcdsaContinuity-abNZ_dvX.js +1 -0
  500. package/dist/public/sdk/{walletIframeIdentity-C0b0XMQF.js → walletIframeIdentity-DJ0KOBHg.js} +1 -1
  501. package/dist/public/sdk/walletOwnershipGeneration-DoXVMDWe.js +1 -0
  502. package/dist/public/sdk/walletRecoveryCommit-Cc9AqHr0.js +1 -0
  503. package/dist/public/sdk/walletRecoveryRotate-DWTAFYiv.js +1 -0
  504. package/dist/public/sdk/walletSessionAuthorizationProjection-DWBksIJR.js +1 -0
  505. package/dist/public/sdk/walletSessionAuthorizationStatus-o1VgsLhA.js +1 -0
  506. package/dist/public/sdk/walletSessionAuthorizationStore-gEYPmu-G.js +1 -0
  507. package/dist/public/sdk/walletSessionFailure-Bu4VPKTz.js +1 -0
  508. package/dist/public/sdk/warmSessionHydration-DgjuUacN.js +1 -0
  509. package/dist/public/sdk/{webauthnP256-qu06GNFm.js → webauthnP256-BEz4DEAs.js} +1 -1
  510. package/dist/public/sdk/{webauthnPromptCoordinator-DO-qfECu.js → webauthnPromptCoordinator-BEudHQBr.js} +1 -1
  511. package/dist/public/sdk/workers/device-linking-key.worker.js +18 -0
  512. package/dist/public/sdk/workers/ecdsa-derivation-client.worker.js +1490 -1268
  513. package/dist/public/sdk/workers/ecdsa-online-client.worker.js +96 -0
  514. package/dist/public/sdk/workers/ecdsa-presign-client.worker.js +101 -1
  515. package/dist/public/sdk/workers/email-otp.worker.js +267 -237
  516. package/dist/public/sdk/workers/evm-crypto.worker.js +12 -8
  517. package/dist/public/sdk/workers/passkey-mpc-export.worker.js +30 -1
  518. package/dist/public/sdk/workers/router_ab_ecdsa_client_bg.wasm +0 -0
  519. package/dist/public/sdk/workers/router_ab_ed25519_yao_client_bg.wasm +0 -0
  520. package/dist/public/sdk/workers/shamir3pass.worker.js +10 -8
  521. package/dist/public/sdk/workers/tempo-signer.worker.js +12 -8
  522. package/dist/public/sdk/workers/wallet-custody-ceremony.worker.js +3 -1
  523. package/dist/public/sdk/workers/wallet_custody_ceremony_bg.wasm +0 -0
  524. package/dist/public/sdk/workers/wasm_signer_worker_bg.wasm +0 -0
  525. package/dist/public/wallet-assets.manifest.json +391 -295
  526. package/dist/public/wallet-service/index.html +4 -4
  527. package/dist/types/shared-ts/src/device-linking/activeWalletSession.d.ts +2 -1
  528. package/dist/types/shared-ts/src/device-linking/contracts.d.ts +10 -0
  529. package/dist/types/shared-ts/src/threshold/ed25519OperationFingerprint.d.ts +2 -1
  530. package/dist/types/shared-ts/src/utils/emailOtpDomain.d.ts +3 -1
  531. package/dist/types/shared-ts/src/utils/routerAbPublicKeyset.d.ts +0 -9
  532. package/dist/types/shared-ts/src/utils/walletManagementProtocol.d.ts +1 -1
  533. package/dist/types/wallet/build-paths.d.ts +0 -4
  534. package/dist/types/wallet/src/SeamsWeb/SeamsWeb.d.ts +26 -146
  535. package/dist/types/wallet/src/SeamsWeb/assembly/browserSigningSurfaceAssembly.d.ts +7 -6
  536. package/dist/types/wallet/src/SeamsWeb/assembly/browserSigningSurfacePorts.d.ts +2 -4
  537. package/dist/types/wallet/src/SeamsWeb/assembly/createWalletIframeRouter.d.ts +2 -2
  538. package/dist/types/wallet/src/SeamsWeb/assembly/initializeBrowserSigningRuntime.d.ts +0 -2
  539. package/dist/types/wallet/src/SeamsWeb/index.d.ts +1 -1
  540. package/dist/types/wallet/src/SeamsWeb/operations/auth/login.d.ts +2 -8
  541. package/dist/types/wallet/src/SeamsWeb/operations/auth/unlockCompletion.d.ts +26 -0
  542. package/dist/types/wallet/src/SeamsWeb/operations/auth/unlockPendingRegistration.d.ts +14 -0
  543. package/dist/types/wallet/src/SeamsWeb/operations/auth/unlockSessionPolicy.d.ts +16 -0
  544. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/emailOtp/challenge.d.ts +2 -2
  545. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/emailOtp/googleEmailOtpWalletAuthFlow.d.ts +3 -2
  546. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/revokeAuthMethod.d.ts +17 -1
  547. package/dist/types/wallet/src/SeamsWeb/operations/devices/linkDevice.d.ts +0 -7
  548. package/dist/types/wallet/src/SeamsWeb/operations/devices/walletHostComposition.d.ts +2 -0
  549. package/dist/types/wallet/src/SeamsWeb/operations/near/actions.d.ts +4 -21
  550. package/dist/types/wallet/src/SeamsWeb/operations/near/delegateAction.d.ts +4 -14
  551. package/dist/types/wallet/src/SeamsWeb/operations/near/signDelegateAction.d.ts +14 -0
  552. package/dist/types/wallet/src/SeamsWeb/operations/near/signNEP413.d.ts +2 -2
  553. package/dist/types/wallet/src/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecovery.d.ts +11 -11
  554. package/dist/types/wallet/src/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecoveryValidation.d.ts +18 -4
  555. package/dist/types/wallet/src/SeamsWeb/operations/registration/pendingRegistrationRecovery.d.ts +4 -20
  556. package/dist/types/wallet/src/SeamsWeb/operations/registration/registration.d.ts +10 -4
  557. package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationEd25519Yao.d.ts +1 -1
  558. package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationSignerSet.d.ts +1 -0
  559. package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationTerminalCommit.d.ts +0 -4
  560. package/dist/types/wallet/src/SeamsWeb/operations/registration/registrationTiming.d.ts +2 -3
  561. package/dist/types/wallet/src/SeamsWeb/operations/tempo/index.d.ts +0 -3
  562. package/dist/types/wallet/src/SeamsWeb/publicApi/auth.d.ts +4 -13
  563. package/dist/types/wallet/src/SeamsWeb/publicApi/createPublicApi.d.ts +22 -43
  564. package/dist/types/wallet/src/SeamsWeb/publicApi/devices.d.ts +3 -21
  565. package/dist/types/wallet/src/SeamsWeb/publicApi/evm.d.ts +10 -16
  566. package/dist/types/wallet/src/SeamsWeb/publicApi/evmFamilyCommands.d.ts +6 -0
  567. package/dist/types/wallet/src/SeamsWeb/publicApi/index.d.ts +2 -2
  568. package/dist/types/wallet/src/SeamsWeb/publicApi/keyExport.d.ts +8 -16
  569. package/dist/types/wallet/src/SeamsWeb/publicApi/near.d.ts +10 -10
  570. package/dist/types/wallet/src/SeamsWeb/publicApi/nearCommands.d.ts +17 -0
  571. package/dist/types/wallet/src/SeamsWeb/publicApi/placement.d.ts +90 -0
  572. package/dist/types/wallet/src/SeamsWeb/publicApi/placement.typecheck.d.ts +2 -0
  573. package/dist/types/wallet/src/SeamsWeb/publicApi/session.d.ts +3 -0
  574. package/dist/types/wallet/src/SeamsWeb/publicApi/tempo.d.ts +11 -11
  575. package/dist/types/wallet/src/SeamsWeb/publicApi/types.d.ts +106 -243
  576. package/dist/types/wallet/src/SeamsWeb/publicApi/{awaitNearReady.d.ts → waitForNearAccount.d.ts} +7 -7
  577. package/dist/types/wallet/src/SeamsWeb/signingSurface/BrowserSigningSurface.d.ts +33 -78
  578. package/dist/types/wallet/src/SeamsWeb/signingSurface/ports.d.ts +8 -31
  579. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/deviceCommands.d.ts +4 -0
  580. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/emailOtpCommands.d.ts +4 -0
  581. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/evmFamilyCommands.d.ts +6 -0
  582. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/inboundMessages.d.ts +62 -0
  583. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/nearCommands.d.ts +6 -0
  584. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/placementCommands.d.ts +31 -0
  585. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/preferenceState.d.ts +35 -0
  586. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/preferences.d.ts +10 -0
  587. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/registrationCommands.d.ts +6 -0
  588. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/router.d.ts +36 -121
  589. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/sessionCommands.d.ts +6 -0
  590. package/dist/types/wallet/src/SeamsWeb/walletIframe/coordinator.d.ts +29 -35
  591. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/WalletHostRuntime.d.ts +98 -0
  592. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/auth-menu/controller.d.ts +2 -2
  593. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/context.d.ts +11 -9
  594. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createDeviceDomain.d.ts +20 -0
  595. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createEmailOtpCommands.d.ts +11 -0
  596. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createEvmFamilyCommands.d.ts +8 -0
  597. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createNearCommands.d.ts +4 -0
  598. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createPlacementCommands.d.ts +11 -0
  599. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createRegistrationCommands.d.ts +4 -0
  600. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createSessionCommands.d.ts +16 -0
  601. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/handlers/placement.d.ts +3 -0
  602. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/handlers/walletIframeHandler.types.d.ts +7 -3
  603. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/hostedWalletSeamsSession.d.ts +2 -0
  604. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/reconcileWalletPlacement.d.ts +10 -0
  605. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/requestRouter.d.ts +4 -4
  606. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/requestWalletMove.d.ts +11 -0
  607. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/runtimeContext.d.ts +5 -3
  608. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/runtimeLoader.d.ts +0 -1
  609. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/sessionObserver.d.ts +39 -0
  610. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/walletMoveLocator.d.ts +5 -0
  611. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/walletMutationGuard.d.ts +3 -0
  612. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/configuration.d.ts +30 -0
  613. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/emailOtpLifecycle.d.ts +43 -0
  614. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/exactSessionState.d.ts +15 -0
  615. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/facadeBoundary.d.ts +14 -0
  616. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/messages.d.ts +35 -100
  617. package/dist/types/wallet/src/core/config/chains.d.ts +1 -3
  618. package/dist/types/wallet/src/core/config/configBuilder.d.ts +16 -6
  619. package/dist/types/wallet/src/core/config/defaultConfigs.d.ts +3 -4
  620. package/dist/types/wallet/src/core/config/defineConfig.d.ts +3 -6
  621. package/dist/types/wallet/src/core/config/presignatures.d.ts +3 -0
  622. package/dist/types/wallet/src/core/diagnostics/registration.d.ts +2 -0
  623. package/dist/types/wallet/src/core/indexedDB/normalization.d.ts +5 -0
  624. package/dist/types/wallet/src/core/indexedDB/passkeyClientDB.types.d.ts +2 -2
  625. package/dist/types/wallet/src/core/indexedDB/pendingWalletRegistrationCommit.d.ts +0 -10
  626. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/accountSignerRows.d.ts +44 -0
  627. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/ecdsaCapabilityManifestStore.d.ts +0 -2
  628. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/ecdsaClientPresignatures.d.ts +0 -5
  629. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/manager.d.ts +11 -0
  630. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/nonceLeaseRows.d.ts +23 -0
  631. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/repositories.d.ts +1 -0
  632. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/signerOutboxRows.d.ts +15 -0
  633. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/walletOwnershipGeneration.d.ts +6 -0
  634. package/dist/types/wallet/src/core/indexedDB/unifiedIndexedDBManager.d.ts +1 -1
  635. package/dist/types/wallet/src/core/rpcClients/near/accountExists.d.ts +3 -0
  636. package/dist/types/wallet/src/core/rpcClients/near/rpcCalls.d.ts +1 -14
  637. package/dist/types/wallet/src/core/rpcClients/relayer/ecdsaPrepareSession.d.ts +13 -0
  638. package/dist/types/wallet/src/core/rpcClients/relayer/ownerWalletExecutionLanePreflight.d.ts +3 -3
  639. package/dist/types/wallet/src/core/rpcClients/relayer/relayerHttp.d.ts +17 -0
  640. package/dist/types/wallet/src/core/rpcClients/relayer/routerAbNormalSigning.d.ts +19 -3
  641. package/dist/types/wallet/src/core/rpcClients/relayer/walletRegistration.d.ts +29 -40
  642. package/dist/types/wallet/src/core/rpcClients/relayer/walletSessionAuthorizationStatus.d.ts +34 -0
  643. package/dist/types/wallet/src/core/signingEngine/assembly/ports/shared.d.ts +1 -1
  644. package/dist/types/wallet/src/core/signingEngine/assembly/ports/warmSigning.d.ts +2 -1
  645. package/dist/types/wallet/src/core/signingEngine/assembly/warmup.d.ts +2 -14
  646. package/dist/types/wallet/src/core/signingEngine/chains/near/nearSignerWasm.d.ts +2 -6
  647. package/dist/types/wallet/src/core/signingEngine/flows/recovery/public.d.ts +1 -1
  648. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/emailOtpPublic.d.ts +1 -32
  649. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/emailOtpSigningSession.d.ts +3 -82
  650. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/readySecp256k1Material.d.ts +62 -1
  651. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/requireEvmFamilyStepUpAuth.d.ts +1 -1
  652. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/signers/secp256k1.d.ts +4 -55
  653. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/signingFlow.d.ts +1 -1
  654. package/dist/types/wallet/src/core/signingEngine/flows/signEvmFamily/thresholdAdmission.d.ts +3 -2
  655. package/dist/types/wallet/src/core/signingEngine/flows/signNear/shared/ed25519YaoNormalSigning.d.ts +45 -1
  656. package/dist/types/wallet/src/core/signingEngine/flows/signNear/shared/signatureOnlySigning.d.ts +16 -2
  657. package/dist/types/wallet/src/core/signingEngine/flows/signNear/signNear.d.ts +1 -2
  658. package/dist/types/wallet/src/core/signingEngine/flows/signNear/signNep413.d.ts +1 -1
  659. package/dist/types/wallet/src/core/signingEngine/interfaces/ecdsaChainTarget.d.ts +1 -1
  660. package/dist/types/wallet/src/core/signingEngine/interfaces/near.d.ts +3 -0
  661. package/dist/types/wallet/src/core/signingEngine/nonce/nearTransactionReadiness.d.ts +3 -0
  662. package/dist/types/wallet/src/core/signingEngine/routerAb/ecdsaDerivation/presignaturePool.d.ts +9 -5
  663. package/dist/types/wallet/src/core/signingEngine/routerAb/ecdsaDerivation/presignaturePoolPolicy.d.ts +5 -0
  664. package/dist/types/wallet/src/core/signingEngine/session/SigningSessionCoordinator.d.ts +1 -7
  665. package/dist/types/wallet/src/core/signingEngine/session/availability/persistedAvailableSigningLanes.d.ts +1 -1
  666. package/dist/types/wallet/src/core/signingEngine/session/availability/readiness.d.ts +0 -17
  667. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/EmailOtpWalletSessionCoordinator.d.ts +2 -2
  668. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/ecdsaSigningSessionAuthority.d.ts +2 -33
  669. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/exportRecovery.d.ts +2 -2
  670. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/exportRecoveryRuntime.d.ts +14 -3
  671. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/publicTypes.d.ts +1 -2
  672. package/dist/types/wallet/src/core/signingEngine/session/emailOtp/workerEnrollment.d.ts +0 -12
  673. package/dist/types/wallet/src/core/signingEngine/session/lanes/walletExecutionLaneHydration.d.ts +11 -25
  674. package/dist/types/wallet/src/core/signingEngine/session/lifecycle/walletSessionStatus.d.ts +0 -8
  675. package/dist/types/wallet/src/core/signingEngine/session/material/ecdsaSigningCapability.d.ts +2 -2
  676. package/dist/types/wallet/src/core/signingEngine/session/operationState/preparedOperation.d.ts +0 -8
  677. package/dist/types/wallet/src/core/signingEngine/session/operationState/trace.d.ts +1 -1
  678. package/dist/types/wallet/src/core/signingEngine/session/operationState/transactionState.d.ts +0 -1
  679. package/dist/types/wallet/src/core/signingEngine/session/passkey/ed25519YaoRecoveryCapability.d.ts +2 -0
  680. package/dist/types/wallet/src/core/signingEngine/session/public.d.ts +1 -1
  681. package/dist/types/wallet/src/core/signingEngine/session/routerAbSigningWalletSession.d.ts +2 -0
  682. package/dist/types/wallet/src/core/signingEngine/session/userPreferences.d.ts +8 -11
  683. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/capabilityReader.d.ts +2 -1
  684. package/dist/types/wallet/src/core/signingEngine/session/warmCapabilities/capabilityReaderCore.d.ts +2 -1
  685. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/confirmOperation.d.ts +3 -1
  686. package/dist/types/wallet/src/core/signingEngine/stepUpConfirmation/otpPrompt/authLane.d.ts +6 -12
  687. package/dist/types/wallet/src/core/signingEngine/threshold/ecdsa/operationStepUp.d.ts +6 -5
  688. package/dist/types/wallet/src/core/signingEngine/threshold/ed25519/yaoClient.d.ts +6 -17
  689. package/dist/types/wallet/src/core/signingEngine/uiConfirm/handlers/flows/signing.d.ts +2 -0
  690. package/dist/types/wallet/src/core/signingEngine/uiConfirm/handlers/handlePromptFromWorker.d.ts +2 -0
  691. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/preact/ReviewDisclosure.d.ts +1 -0
  692. package/dist/types/wallet/src/core/signingEngine/uiConfirm/uiConfirm.types.d.ts +3 -0
  693. package/dist/types/wallet/src/core/signingEngine/walletCustody/ceremonyDriver.d.ts +0 -1
  694. package/dist/types/wallet/src/core/signingEngine/walletCustody/walletRegistrationEd25519.d.ts +17 -0
  695. package/dist/types/wallet/src/core/signingEngine/workerManager/SignerWorkerManager.d.ts +0 -1
  696. package/dist/types/wallet/src/core/signingEngine/workerManager/ecdsaPresignLifecycle.d.ts +0 -2
  697. package/dist/types/wallet/src/core/signingEngine/workerManager/ecdsaPresignPoolIdentity.d.ts +9 -0
  698. package/dist/types/wallet/src/core/signingEngine/workerManager/workerTransport.d.ts +0 -5
  699. package/dist/types/wallet/src/core/signingEngine/workerManager/workerTypes.d.ts +15 -27
  700. package/dist/types/wallet/src/core/signingEngine/workerManager/workers/email-otp/enrollment.d.ts +1 -17
  701. package/dist/types/wallet/src/core/types/rpc.d.ts +0 -1
  702. package/dist/types/wallet/src/core/types/sdkPublicResults.d.ts +1 -0
  703. package/dist/types/wallet/src/core/types/sdkSentEvents.d.ts +2 -0
  704. package/dist/types/wallet/src/core/types/seams.d.ts +12 -9
  705. package/dist/types/wallet/src/core/types/signer-worker.d.ts +2 -1
  706. package/dist/types/wallet/src/externalEvm/controller.d.ts +5 -1
  707. package/dist/types/wallet/src/index.d.ts +5 -2
  708. package/dist/types/wallet/src/react/components/AccountMenuButton/WalletRegionSection.d.ts +54 -0
  709. package/dist/types/wallet/src/react/components/AccountMenuButton/WalletSettingsLayout.d.ts +7 -2
  710. package/dist/types/wallet/src/react/components/AccountMenuButton/index.d.ts +1 -1
  711. package/dist/types/wallet/src/react/components/AccountMenuButton/types.d.ts +1 -0
  712. package/dist/types/wallet/src/react/components/HostedSeamsAuthMenu/public.d.ts +1 -1
  713. package/dist/types/wallet/src/react/components/HostedSeamsAuthMenu/types.d.ts +2 -5
  714. package/dist/types/wallet/src/react/context/SeamsWebProvider.d.ts +0 -5
  715. package/dist/types/wallet/src/react/context/useLoginStateRefresher.d.ts +1 -1
  716. package/dist/types/wallet/src/react/context/useNearProvisioningStateRefresh.d.ts +1 -1
  717. package/dist/types/wallet/src/react/context/useSeamsContextValue.d.ts +2 -2
  718. package/dist/types/wallet/src/react/context/useWalletIframeLifecycle.d.ts +4 -2
  719. package/dist/types/wallet/src/react/hooks/useQRCamera.d.ts +1 -7
  720. package/dist/types/wallet/src/react/hooks/useWallet.d.ts +5 -6
  721. package/dist/types/wallet/src/react/hooks/useWalletAuth.d.ts +1 -1
  722. package/dist/types/wallet/src/react/hooks/useWalletDevices.d.ts +1 -1
  723. package/dist/types/wallet/src/react/index.d.ts +2 -2
  724. package/dist/types/wallet/src/react/transactionReview/boundCalls.d.ts +0 -26
  725. package/dist/types/wallet/src/react/types.d.ts +12 -20
  726. package/dist/types/wallet/src/react/utils/walletIframe.d.ts +2 -6
  727. package/dist/workers/device-linking-key.worker.js +18 -0
  728. package/dist/workers/ecdsa-derivation-client.worker.js +1490 -1268
  729. package/dist/workers/ecdsa-online-client.worker.js +96 -0
  730. package/dist/workers/ecdsa-presign-client.worker.js +101 -1
  731. package/dist/workers/email-otp.worker.js +267 -237
  732. package/dist/workers/evm-crypto.worker.js +12 -8
  733. package/dist/workers/passkey-mpc-export.worker.js +30 -1
  734. package/dist/workers/router_ab_ecdsa_client_bg.wasm +0 -0
  735. package/dist/workers/router_ab_ed25519_yao_client_bg.wasm +0 -0
  736. package/dist/workers/shamir3pass.worker.js +10 -8
  737. package/dist/workers/tempo-signer.worker.js +12 -8
  738. package/dist/workers/wallet-custody-ceremony.worker.js +3 -1
  739. package/dist/workers/wallet_custody_ceremony_bg.wasm +0 -0
  740. package/dist/workers/wasm_signer_worker_bg.wasm +0 -0
  741. package/package.json +1 -1
  742. package/dist/esm/SeamsWeb/assembly/browserSigningSurfaceAssembly.js +0 -817
  743. package/dist/esm/SeamsWeb/assembly/browserWorkerWarmupPolicy.js +0 -31
  744. package/dist/esm/SeamsWeb/assembly/configureBrowserIndexedDB.js +0 -10
  745. package/dist/esm/SeamsWeb/assembly/createBrowserRecoveryPublicDeps.js +0 -95
  746. package/dist/esm/SeamsWeb/assembly/createBrowserSigningRuntime.js +0 -34
  747. package/dist/esm/SeamsWeb/assembly/createBrowserSigningStores.js +0 -39
  748. package/dist/esm/SeamsWeb/assembly/createBrowserStepUpRuntime.js +0 -34
  749. package/dist/esm/SeamsWeb/assembly/createBrowserWarmSessionPublicDeps.js +0 -29
  750. package/dist/esm/SeamsWeb/assembly/initializeBrowserSigningRuntime.js +0 -19
  751. package/dist/esm/SeamsWeb/assembly/runtimeConfig.js +0 -12
  752. package/dist/esm/SeamsWeb/operations/auth/login.js +0 -4383
  753. package/dist/esm/SeamsWeb/operations/auth/scheduleEcdsaSessionPresignaturePrefill.js +0 -41
  754. package/dist/esm/SeamsWeb/operations/auth/scheduleLinkedDevicePresignaturePrefill.js +0 -64
  755. package/dist/esm/SeamsWeb/operations/auth/walletAuth.js +0 -142
  756. package/dist/esm/SeamsWeb/operations/auth/walletUnlockEcdsaSubject.js +0 -33
  757. package/dist/esm/SeamsWeb/operations/auth/walletUnlockSubject.js +0 -288
  758. package/dist/esm/SeamsWeb/operations/authMethods/addAuthMethodSourceClaim.js +0 -72
  759. package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/addEmailOtp.js +0 -191
  760. package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/challenge.js +0 -247
  761. package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/googleEmailOtpWalletAuthFlow.js +0 -568
  762. package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/localEmailOtpProjection.js +0 -69
  763. package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/registrationAuthority.js +0 -62
  764. package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/registrationOffer.js +0 -69
  765. package/dist/esm/SeamsWeb/operations/authMethods/emailOtp/walletActivation.js +0 -95
  766. package/dist/esm/SeamsWeb/operations/authMethods/passkey/addPasskey.js +0 -260
  767. package/dist/esm/SeamsWeb/operations/authMethods/passkey/ecdsaBootstrap.js +0 -17
  768. package/dist/esm/SeamsWeb/operations/authMethods/passkey/exactPasskeyAuthority.js +0 -34
  769. package/dist/esm/SeamsWeb/operations/authMethods/passkey/localUnlock.js +0 -16
  770. package/dist/esm/SeamsWeb/operations/authMethods/passkey/loginAssertion.js +0 -25
  771. package/dist/esm/SeamsWeb/operations/authMethods/passkey/registrationAuthority.js +0 -84
  772. package/dist/esm/SeamsWeb/operations/authMethods/revokeAuthMethod.js +0 -205
  773. package/dist/esm/SeamsWeb/operations/authMethods/sourcePasskeyProof.js +0 -12
  774. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingAuthorityInstallation.js +0 -444
  775. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingComposition.js +0 -106
  776. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingEd25519ExportRoot.js +0 -194
  777. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingHttpTransport.js +0 -524
  778. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingOwnerTransport.js +0 -135
  779. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingResume.js +0 -212
  780. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingTargetCredential.js +0 -63
  781. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingTargetEd25519ExportRoot.js +0 -61
  782. package/dist/esm/SeamsWeb/operations/devices/deviceLinkingWorkerChannels.js +0 -337
  783. package/dist/esm/SeamsWeb/operations/devices/linkDevice.js +0 -75
  784. package/dist/esm/SeamsWeb/operations/devices/linkDeviceFlow.js +0 -1383
  785. package/dist/esm/SeamsWeb/operations/devices/linkDeviceFlowSupport.js +0 -143
  786. package/dist/esm/SeamsWeb/operations/devices/linkDeviceTargetActivation.js +0 -119
  787. package/dist/esm/SeamsWeb/operations/devices/walletHostComposition.js +0 -130
  788. package/dist/esm/SeamsWeb/operations/devices/walletHostOwnerAuthority.js +0 -191
  789. package/dist/esm/SeamsWeb/operations/evm/index.js +0 -35
  790. package/dist/esm/SeamsWeb/operations/near/actions.js +0 -484
  791. package/dist/esm/SeamsWeb/operations/near/commandSubject.js +0 -14
  792. package/dist/esm/SeamsWeb/operations/near/index.js +0 -37
  793. package/dist/esm/SeamsWeb/operations/near/signNEP413.js +0 -116
  794. package/dist/esm/SeamsWeb/operations/recovery/accountSync.js +0 -21
  795. package/dist/esm/SeamsWeb/operations/recovery/recoveryWalletBinding.js +0 -43
  796. package/dist/esm/SeamsWeb/operations/recovery/syncAccount.js +0 -912
  797. package/dist/esm/SeamsWeb/operations/recovery/walletRecoveryCodeBackup.js +0 -100
  798. package/dist/esm/SeamsWeb/operations/recovery/walletRecoveryRotation.js +0 -213
  799. package/dist/esm/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecovery.js +0 -184
  800. package/dist/esm/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecoveryUnlock.js +0 -247
  801. package/dist/esm/SeamsWeb/operations/registration/pendingEcdsaRegistrationRecoveryValidation.js +0 -134
  802. package/dist/esm/SeamsWeb/operations/registration/pendingRegistrationRecovery.js +0 -354
  803. package/dist/esm/SeamsWeb/operations/registration/registration.js +0 -3818
  804. package/dist/esm/SeamsWeb/operations/registration/registrationEd25519Yao.js +0 -166
  805. package/dist/esm/SeamsWeb/operations/registration/registrationSignerSet.js +0 -60
  806. package/dist/esm/SeamsWeb/operations/registration/registrationStrictEcdsa.js +0 -343
  807. package/dist/esm/SeamsWeb/operations/registration/registrationTerminalCommit.js +0 -296
  808. package/dist/esm/SeamsWeb/operations/registration/registrationTiming.js +0 -682
  809. package/dist/esm/SeamsWeb/operations/session/thresholdEcdsaProvisioning.js +0 -36
  810. package/dist/esm/SeamsWeb/operations/session/thresholdWarmSessionBootstrap.js +0 -20
  811. package/dist/esm/SeamsWeb/publicApi/preferences.js +0 -61
  812. package/dist/esm/SeamsWeb/publicApi/recovery.js +0 -19
  813. package/dist/esm/SeamsWeb/publicApi/types.js +0 -10
  814. package/dist/esm/SeamsWeb/signingSurface/BrowserSigningSurface.js +0 -3917
  815. package/dist/esm/SeamsWeb/walletIframe/host/restoredSessionPresignaturePrefill.js +0 -29
  816. package/dist/esm/core/browser/walletIframe/events.js +0 -6
  817. package/dist/esm/core/browser/walletIframe/host-mode.js +0 -9
  818. package/dist/esm/core/config/managedRuntimeScope.js +0 -16
  819. package/dist/esm/core/indexedDB/seamsWalletDB/pendingWalletRecoveryCodeBackup.js +0 -144
  820. package/dist/esm/core/platform/browser/createBrowserPlatformRuntime.js +0 -535
  821. package/dist/esm/core/platform/secretSources.js +0 -111
  822. package/dist/esm/core/platform/signerCoreCommandAdapters.js +0 -122
  823. package/dist/esm/core/rpcClients/near/rpcCalls.js +0 -376
  824. package/dist/esm/core/rpcClients/relayer/ownerWalletExecutionLanePreflight.js +0 -67
  825. package/dist/esm/core/rpcClients/relayer/passkeyCustodyEnvelope.js +0 -218
  826. package/dist/esm/core/rpcClients/relayer/sealedRefreshCapabilities.js +0 -148
  827. package/dist/esm/core/rpcClients/relayer/thresholdEcdsa.js +0 -235
  828. package/dist/esm/core/rpcClients/relayer/walletRecoveryGoogleEmailOtp.js +0 -161
  829. package/dist/esm/core/rpcClients/relayer/walletRegistrationTerminalResponse.js +0 -718
  830. package/dist/esm/core/signingEngine/assembly/createManagers.js +0 -80
  831. package/dist/esm/core/signingEngine/assembly/createPorts.js +0 -54
  832. package/dist/esm/core/signingEngine/assembly/ports/emailOtp.js +0 -30
  833. package/dist/esm/core/signingEngine/assembly/ports/evmFamily.js +0 -73
  834. package/dist/esm/core/signingEngine/assembly/ports/near.js +0 -21
  835. package/dist/esm/core/signingEngine/assembly/ports/recovery.js +0 -75
  836. package/dist/esm/core/signingEngine/assembly/ports/registration.js +0 -22
  837. package/dist/esm/core/signingEngine/assembly/ports/session.js +0 -25
  838. package/dist/esm/core/signingEngine/assembly/ports/shared.js +0 -39
  839. package/dist/esm/core/signingEngine/assembly/ports/stepUpRuntime.js +0 -67
  840. package/dist/esm/core/signingEngine/assembly/ports/warmSigning.js +0 -92
  841. package/dist/esm/core/signingEngine/assembly/warmup.js +0 -64
  842. package/dist/esm/core/signingEngine/flows/recovery/ecdsaDerivationExport.js +0 -427
  843. package/dist/esm/core/signingEngine/flows/recovery/ecdsaExportFlow.js +0 -660
  844. package/dist/esm/core/signingEngine/flows/recovery/ecdsaExportMaterial.js +0 -249
  845. package/dist/esm/core/signingEngine/flows/recovery/ed25519YaoExportFlow.js +0 -353
  846. package/dist/esm/core/signingEngine/flows/recovery/exportKeypairOperation.js +0 -213
  847. package/dist/esm/core/signingEngine/flows/recovery/exportLaneSelection.js +0 -283
  848. package/dist/esm/core/signingEngine/flows/recovery/keyExportConfirmation.js +0 -325
  849. package/dist/esm/core/signingEngine/flows/recovery/keyExportFlow.js +0 -81
  850. package/dist/esm/core/signingEngine/flows/recovery/passkeyEd25519YaoRecovery.js +0 -192
  851. package/dist/esm/core/signingEngine/flows/recovery/public.js +0 -26
  852. package/dist/esm/core/signingEngine/flows/recovery/stepUpAuthorization.js +0 -139
  853. package/dist/esm/core/signingEngine/flows/registration/nearProvisioningRegistry.js +0 -79
  854. package/dist/esm/core/signingEngine/flows/registration/public.js +0 -85
  855. package/dist/esm/core/signingEngine/flows/registration/services/ecdsaRegistrationSessions.js +0 -77
  856. package/dist/esm/core/signingEngine/flows/registration/services/passkeyEd25519YaoAddSigner.js +0 -82
  857. package/dist/esm/core/signingEngine/flows/registration/session.js +0 -24
  858. package/dist/esm/core/signingEngine/flows/signEvmFamily/emailOtpPublic.js +0 -123
  859. package/dist/esm/core/signingEngine/nonce/NonceCoordinator.js +0 -1026
  860. package/dist/esm/core/signingEngine/nonce/evmNonceLane.js +0 -182
  861. package/dist/esm/core/signingEngine/nonce/nearNonceLane.js +0 -669
  862. package/dist/esm/core/signingEngine/nonce/nonceDiagnostics.js +0 -232
  863. package/dist/esm/core/signingEngine/nonce/nonceLeaseState.js +0 -128
  864. package/dist/esm/core/signingEngine/nonce/nonceUtils.js +0 -33
  865. package/dist/esm/core/signingEngine/session/SigningSessionCoordinator.js +0 -344
  866. package/dist/esm/core/signingEngine/session/authority/authorityOperationResolver.js +0 -114
  867. package/dist/esm/core/signingEngine/session/availability/canonicalLaneInventory.js +0 -127
  868. package/dist/esm/core/signingEngine/session/availability/clientSessionExpiryInvalidator.js +0 -72
  869. package/dist/esm/core/signingEngine/session/availability/persistedAvailableSigningLanes.js +0 -214
  870. package/dist/esm/core/signingEngine/session/availability/readiness.js +0 -464
  871. package/dist/esm/core/signingEngine/session/emailOtp/EmailOtpWalletSessionCoordinator.js +0 -130
  872. package/dist/esm/core/signingEngine/session/emailOtp/ecdsaBootstrapCommit.js +0 -106
  873. package/dist/esm/core/signingEngine/session/emailOtp/ecdsaLifecycleRuntime.js +0 -47
  874. package/dist/esm/core/signingEngine/session/emailOtp/ecdsaLogin.js +0 -930
  875. package/dist/esm/core/signingEngine/session/emailOtp/ecdsaPublication.js +0 -414
  876. package/dist/esm/core/signingEngine/session/emailOtp/ecdsaRecovery.js +0 -264
  877. package/dist/esm/core/signingEngine/session/emailOtp/ed25519ExportContext.js +0 -373
  878. package/dist/esm/core/signingEngine/session/emailOtp/exportRecovery.js +0 -284
  879. package/dist/esm/core/signingEngine/session/emailOtp/exportRecoveryRuntime.js +0 -50
  880. package/dist/esm/core/signingEngine/session/emailOtp/persistedSnapshot.js +0 -22
  881. package/dist/esm/core/signingEngine/session/emailOtp/publicTypes.js +0 -38
  882. package/dist/esm/core/signingEngine/session/emailOtp/routePlan.js +0 -60
  883. package/dist/esm/core/signingEngine/session/emailOtp/runtimeConfig.js +0 -24
  884. package/dist/esm/core/signingEngine/session/emailOtp/sealedRefreshPolicy.js +0 -49
  885. package/dist/esm/core/signingEngine/session/emailOtp/sealedRestoreOrchestrator.js +0 -234
  886. package/dist/esm/core/signingEngine/session/emailOtp/sealedRuntimePurpose.js +0 -16
  887. package/dist/esm/core/signingEngine/session/emailOtp/sealedSessionRegistry.js +0 -40
  888. package/dist/esm/core/signingEngine/session/emailOtp/status.js +0 -72
  889. package/dist/esm/core/signingEngine/session/emailOtp/walletUnlock.js +0 -168
  890. package/dist/esm/core/signingEngine/session/emailOtp/warmSessionRuntime.js +0 -70
  891. package/dist/esm/core/signingEngine/session/emailOtp/workerEnrollment.js +0 -159
  892. package/dist/esm/core/signingEngine/session/emailOtp/workerRequests.js +0 -84
  893. package/dist/esm/core/signingEngine/session/emailOtp/zeroize.js +0 -9
  894. package/dist/esm/core/signingEngine/session/identity/exactWalletSessionCredential.js +0 -104
  895. package/dist/esm/core/signingEngine/session/identity/exactWalletSessionReader.js +0 -54
  896. package/dist/esm/core/signingEngine/session/identity/ownerLaneScope.js +0 -185
  897. package/dist/esm/core/signingEngine/session/lanes/walletExecutionLaneHydration.js +0 -194
  898. package/dist/esm/core/signingEngine/session/lifecycle/canonicalWalletSessionStatus.js +0 -32
  899. package/dist/esm/core/signingEngine/session/lifecycle/walletSessionStatus.js +0 -123
  900. package/dist/esm/core/signingEngine/session/material/ecdsaCapabilityHydration.js +0 -75
  901. package/dist/esm/core/signingEngine/session/material/ecdsaSealedRuntime.js +0 -197
  902. package/dist/esm/core/signingEngine/session/material/mpcCapabilityHydration.js +0 -79
  903. package/dist/esm/core/signingEngine/session/material/nearEd25519YaoSigningPreparation.js +0 -122
  904. package/dist/esm/core/signingEngine/session/material/restorableMpcMaterialRef.internal.js +0 -21
  905. package/dist/esm/core/signingEngine/session/passkey/ecdsaBootstrap.js +0 -184
  906. package/dist/esm/core/signingEngine/session/passkey/ecdsaKeyFactsInventory.js +0 -205
  907. package/dist/esm/core/signingEngine/session/passkey/ecdsaRecovery.js +0 -84
  908. package/dist/esm/core/signingEngine/session/passkey/ecdsaSessionProvision.js +0 -224
  909. package/dist/esm/core/signingEngine/session/passkey/ecdsaWarmCapabilityBootstrap.js +0 -147
  910. package/dist/esm/core/signingEngine/session/passkey/ed25519Provisioner.js +0 -55
  911. package/dist/esm/core/signingEngine/session/passkey/ed25519SessionProvision.js +0 -228
  912. package/dist/esm/core/signingEngine/session/passkey/ed25519YaoLocalMaterial.js +0 -536
  913. package/dist/esm/core/signingEngine/session/passkey/ed25519YaoRecoveryCapability.js +0 -94
  914. package/dist/esm/core/signingEngine/session/passkey/ed25519YaoSealedSession.js +0 -57
  915. package/dist/esm/core/signingEngine/session/passkey/ed25519YaoWarmRecovery.js +0 -281
  916. package/dist/esm/core/signingEngine/session/passkey/passkeyCustodySessionCache.js +0 -90
  917. package/dist/esm/core/signingEngine/session/passkey/public.js +0 -15
  918. package/dist/esm/core/signingEngine/session/passkey/unlockEcdsaWarmupPlanner.js +0 -247
  919. package/dist/esm/core/signingEngine/session/persistence/clientSessionPersistence.js +0 -135
  920. package/dist/esm/core/signingEngine/session/persistence/walletSessionAuthorizationProjection.js +0 -51
  921. package/dist/esm/core/signingEngine/session/planning/operationIdBinding.js +0 -36
  922. package/dist/esm/core/signingEngine/session/postconditions/runtimePostconditions.js +0 -163
  923. package/dist/esm/core/signingEngine/session/public.js +0 -44
  924. package/dist/esm/core/signingEngine/session/routerAbSigningWalletSession.js +0 -119
  925. package/dist/esm/core/signingEngine/session/sealedRecovery/exactRecordLookup.js +0 -148
  926. package/dist/esm/core/signingEngine/session/sealedRecovery/recoveryRecord.js +0 -248
  927. package/dist/esm/core/signingEngine/session/sealedRecovery/restoreCoordinator.js +0 -229
  928. package/dist/esm/core/signingEngine/session/userPreferences.js +0 -212
  929. package/dist/esm/core/signingEngine/session/warmCapabilities/capabilityReader.js +0 -62
  930. package/dist/esm/core/signingEngine/session/warmCapabilities/capabilityReaderCore.js +0 -293
  931. package/dist/esm/core/signingEngine/session/warmCapabilities/clearVolatileWarmSigningMaterial.js +0 -44
  932. package/dist/esm/core/signingEngine/session/warmCapabilities/ecdsaBootstrapPersistence.js +0 -107
  933. package/dist/esm/core/signingEngine/session/warmCapabilities/ecdsaBootstrapQueue.js +0 -22
  934. package/dist/esm/core/signingEngine/session/warmCapabilities/ecdsaLoginPrefill.js +0 -93
  935. package/dist/esm/core/signingEngine/session/warmCapabilities/ecdsaLoginPrefillSigningMaterialSource.js +0 -50
  936. package/dist/esm/core/signingEngine/session/warmCapabilities/ecdsaProvisionPlan.js +0 -9
  937. package/dist/esm/core/signingEngine/session/warmCapabilities/ed25519SealedSessionRuntime.js +0 -251
  938. package/dist/esm/core/signingEngine/session/warmCapabilities/nearEd25519CapabilityRehydration.js +0 -98
  939. package/dist/esm/core/signingEngine/session/warmCapabilities/public.js +0 -31
  940. package/dist/esm/core/signingEngine/session/warmCapabilities/readModel.js +0 -155
  941. package/dist/esm/core/signingEngine/session/warmCapabilities/routerAbEd25519WalletSessionState.js +0 -256
  942. package/dist/esm/core/signingEngine/session/warmCapabilities/statusReader.js +0 -100
  943. package/dist/esm/core/signingEngine/session/warmCapabilities/transitions.js +0 -47
  944. package/dist/esm/core/signingEngine/session/warmCapabilities/types.js +0 -122
  945. package/dist/esm/core/signingEngine/session/warmCapabilities/volatileWarmMaterialCommands.js +0 -45
  946. package/dist/esm/core/signingEngine/stepUpConfirmation/channel/confirmCommon.js +0 -89
  947. package/dist/esm/core/signingEngine/stepUpConfirmation/channel/confirmTypes.js +0 -12
  948. package/dist/esm/core/signingEngine/stepUpConfirmation/otpPrompt/authLane.js +0 -31
  949. package/dist/esm/core/signingEngine/stepUpConfirmation/otpPrompt/exportAuthorization.js +0 -108
  950. package/dist/esm/core/signingEngine/stepUpConfirmation/passkeyPrompt/touchIdPrompt.js +0 -271
  951. package/dist/esm/core/signingEngine/stepUpConfirmation/passkeyPrompt/webauthnPromptCoordinator.js +0 -167
  952. package/dist/esm/core/signingEngine/stepUpConfirmation/userConfirmationType.js +0 -15
  953. package/dist/esm/core/signingEngine/threshold/crypto/ed25519YaoLaneWasm.js +0 -67
  954. package/dist/esm/core/signingEngine/threshold/ecdsa/activation.js +0 -267
  955. package/dist/esm/core/signingEngine/threshold/ecdsa/bootstrapSession.js +0 -115
  956. package/dist/esm/core/signingEngine/threshold/ecdsa/postRegistrationSessionActivation.js +0 -132
  957. package/dist/esm/core/signingEngine/threshold/ecdsa/signingQueue.js +0 -16
  958. package/dist/esm/core/signingEngine/threshold/ed25519/commitQueue.js +0 -16
  959. package/dist/esm/core/signingEngine/threshold/ed25519/connectSession.js +0 -137
  960. package/dist/esm/core/signingEngine/threshold/ed25519/yaoActiveClientRegistry.js +0 -146
  961. package/dist/esm/core/signingEngine/threshold/ed25519/yaoClient.js +0 -563
  962. package/dist/esm/core/signingEngine/threshold/ed25519/yaoPageLifecycleOwner.js +0 -23
  963. package/dist/esm/core/signingEngine/uiConfirm/PasskeyMpcExportManager.js +0 -233
  964. package/dist/esm/core/signingEngine/uiConfirm/PasskeyMpcSessionDurableState.js +0 -493
  965. package/dist/esm/core/signingEngine/uiConfirm/PasskeyMpcSessionManager.js +0 -746
  966. package/dist/esm/core/signingEngine/uiConfirm/UiConfirmManager.js +0 -599
  967. package/dist/esm/core/signingEngine/uiConfirm/confirmationReadinessRegistry.js +0 -41
  968. package/dist/esm/core/signingEngine/uiConfirm/exportConfirmRequest.js +0 -149
  969. package/dist/esm/core/signingEngine/uiConfirm/handlers/determineConfirmationConfig.js +0 -82
  970. package/dist/esm/core/signingEngine/uiConfirm/handlers/flowOrchestrator.js +0 -363
  971. package/dist/esm/core/signingEngine/uiConfirm/handlers/flows/adapters/adapters.js +0 -337
  972. package/dist/esm/core/signingEngine/uiConfirm/handlers/flows/adapters/request.js +0 -120
  973. package/dist/esm/core/signingEngine/uiConfirm/handlers/flows/localOnly.js +0 -149
  974. package/dist/esm/core/signingEngine/uiConfirm/handlers/flows/registration.js +0 -235
  975. package/dist/esm/core/signingEngine/uiConfirm/handlers/flows/requestRegistrationCredentialConfirmation.js +0 -178
  976. package/dist/esm/core/signingEngine/uiConfirm/handlers/flows/signing.js +0 -684
  977. package/dist/esm/core/signingEngine/uiConfirm/handlers/handlePromptFromWorker.js +0 -90
  978. package/dist/esm/core/signingEngine/uiConfirm/ui/appearance.js +0 -27
  979. package/dist/esm/core/signingEngine/uiConfirm/ui/confirm-ui.js +0 -516
  980. package/dist/esm/core/signingEngine/uiConfirm/ui/export-private-key-reveal.js +0 -155
  981. package/dist/esm/core/signingEngine/uiConfirm/ui/export-viewer-host.js +0 -207
  982. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ExportPrivateKeySurface.js +0 -318
  983. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/RecoveryCodeBackupSurface.js +0 -518
  984. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/confirmation-controller.js +0 -80
  985. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/mountExportPrivateKeySurface.js +0 -86
  986. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/mountRecoveryCodeBackupSurface.js +0 -82
  987. package/dist/esm/core/signingEngine/uiConfirm/ui/surface-measurement-binding.js +0 -12
  988. package/dist/esm/core/signingEngine/uiConfirm/ui/transaction-activity.js +0 -46
  989. package/dist/esm/core/signingEngine/uiConfirm/ui/transaction-display/confirmation-tree.js +0 -27
  990. package/dist/esm/core/signingEngine/uiConfirm/warmSessionUiConfirm.js +0 -65
  991. package/dist/esm/core/signingEngine/walletCustody/activateEd25519Capability.js +0 -122
  992. package/dist/esm/core/signingEngine/walletCustody/ceremonyActiveClientMetadata.js +0 -94
  993. package/dist/esm/core/signingEngine/walletCustody/ceremonyDriver.js +0 -171
  994. package/dist/esm/core/signingEngine/walletCustody/ceremonyStepRunner.js +0 -20
  995. package/dist/esm/core/signingEngine/walletCustody/ed25519ActiveClient.js +0 -100
  996. package/dist/esm/core/signingEngine/walletCustody/ed25519Projection.js +0 -32
  997. package/dist/esm/core/signingEngine/walletCustody/ed25519SeedMaterial.js +0 -92
  998. package/dist/esm/core/signingEngine/walletCustody/emailOtpLink.js +0 -132
  999. package/dist/esm/core/signingEngine/walletCustody/joinCustodyWire.js +0 -64
  1000. package/dist/esm/core/signingEngine/walletCustody/openCustodyCache.js +0 -126
  1001. package/dist/esm/core/signingEngine/walletCustody/passkeyLink.js +0 -180
  1002. package/dist/esm/core/signingEngine/walletCustody/recoveryReplacementEnvelope.js +0 -60
  1003. package/dist/esm/core/signingEngine/walletCustody/registrationCeremony.js +0 -460
  1004. package/dist/esm/core/signingEngine/walletCustody/unlockedEd25519ExportRootCapability.js +0 -258
  1005. package/dist/esm/core/signingEngine/walletCustody/walletRecoveryCredential.js +0 -23
  1006. package/dist/esm/core/signingEngine/walletCustody/walletRecoveryEcdsa.js +0 -75
  1007. package/dist/esm/core/signingEngine/walletCustody/walletRecoveryEd25519.js +0 -129
  1008. package/dist/esm/core/signingEngine/walletCustody/walletRecoveryManifest.js +0 -178
  1009. package/dist/esm/core/signingEngine/walletCustody/walletRecoveryRotation.js +0 -102
  1010. package/dist/esm/core/signingEngine/webauthnAuth/credentials/collectAuthenticationCredentialForChallengeB64u.js +0 -154
  1011. package/dist/esm/core/signingEngine/webauthnAuth/device/signerSlot.js +0 -25
  1012. package/dist/esm/core/signingEngine/webauthnAuth/walletOriginWebAuthn.js +0 -109
  1013. package/dist/esm/core/signingEngine/workerManager/SignerWorkerManager.js +0 -68
  1014. package/dist/esm/core/signingEngine/workerManager/deviceLinkingPorts.js +0 -342
  1015. package/dist/esm/core/signingEngine/workerManager/deviceLinkingSourceContribution.js +0 -158
  1016. package/dist/esm/core/signingEngine/workerManager/ecdsaClientWorkerChannels.js +0 -13
  1017. package/dist/esm/core/signingEngine/workerManager/workerTransport.js +0 -734
  1018. package/dist/esm/core/types/confirmationConfig.js +0 -39
  1019. package/dist/esm/core/types/secure-confirm-worker.js +0 -22
  1020. package/dist/esm/core/walletRuntimePaths/emailOtpWorker.js +0 -12
  1021. package/dist/esm/core/walletRuntimePaths/multichainWorkers.js +0 -25
  1022. package/dist/esm/core/walletRuntimePaths/walletCustodyCeremonyWorker.js +0 -18
  1023. package/dist/esm/core/walletRuntimePaths/workers.js +0 -93
  1024. package/dist/esm/react/context/useEagerPrewarm.js +0 -38
  1025. package/dist/esm/sdk/EvmClient-DoxytQaJ.js +0 -1
  1026. package/dist/esm/sdk/NearClient-vJ65Wjrq.js +0 -1
  1027. package/dist/esm/sdk/NonceCoordinator-BBeadCSq.js +0 -1
  1028. package/dist/esm/sdk/accountLifecycle-EyfYPnuT.js +0 -1
  1029. package/dist/esm/sdk/actions-DZLxCcrU.js +0 -1
  1030. package/dist/esm/sdk/adapters-DtAyuoiA.js +0 -2
  1031. package/dist/esm/sdk/base-Xtd32asf.js +0 -1
  1032. package/dist/esm/sdk/bytes-t5S5mkat.js +0 -1
  1033. package/dist/esm/sdk/canonicalPrimitives-MPGET2cl.js +0 -1
  1034. package/dist/esm/sdk/canonicalSignerErrorCode-C0hh_SVi.js +0 -1
  1035. package/dist/esm/sdk/chains-yAls2d9X.js +0 -1
  1036. package/dist/esm/sdk/challengeDelivery-cAsaUC6U.js +0 -1
  1037. package/dist/esm/sdk/configHelpers-CseiVoZD.js +0 -1
  1038. package/dist/esm/sdk/csp-stylesheet-B1fAhrGB.js +0 -2
  1039. package/dist/esm/sdk/defaultConfigs-CWpApkMq.js +0 -1
  1040. package/dist/esm/sdk/display-jK7_hYho.js +0 -1
  1041. package/dist/esm/sdk/domainIds-GDzjOs6i.js +0 -1
  1042. package/dist/esm/sdk/ecdsaCapabilityManifest-CHFu-QrV.js +0 -1
  1043. package/dist/esm/sdk/ecdsaPresignLifecycle-CQnCxSlq.js +0 -1
  1044. package/dist/esm/sdk/ecdsaPresignPoolIdentity-Ci-ovDlv.js +0 -1
  1045. package/dist/esm/sdk/enrichDisplayModelWithAbi-CR-4ebuU.js +0 -1
  1046. package/dist/esm/sdk/evmFamilyEcdsaIdentity-Br3iFdQx.js +0 -1
  1047. package/dist/esm/sdk/exactSessionState-CjD8gekO.js +0 -210
  1048. package/dist/esm/sdk/exactSigningLaneIdentity-olheZx_n.js +0 -1
  1049. package/dist/esm/sdk/export-viewer-host-jo7h_0wl.js +0 -1
  1050. package/dist/esm/sdk/helpers-D4QckQhq.js +0 -1
  1051. package/dist/esm/sdk/host-BAqOYnju.js +0 -1
  1052. package/dist/esm/sdk/intentDigest-CB6zy3lN.js +0 -1
  1053. package/dist/esm/sdk/jsxRuntime.module-CoHsKD_3.js +0 -1
  1054. package/dist/esm/sdk/keyMaterialBrands-uVZHfAh3.js +0 -1
  1055. package/dist/esm/sdk/localOnly-DBQRG6Qh.js +0 -1
  1056. package/dist/esm/sdk/messages-Cv2j4SKI.js +0 -1
  1057. package/dist/esm/sdk/mountExportPrivateKeySurface-G7Z_9JMQ.js +0 -1
  1058. package/dist/esm/sdk/nearEd25519YaoMaterialActivation-DQIw8ho3.js +0 -1
  1059. package/dist/esm/sdk/nearEd25519YaoSigningPreparation-Bp_CvWRz.js +0 -1
  1060. package/dist/esm/sdk/nearRpcResults--cBcfmp4.js +0 -1
  1061. package/dist/esm/sdk/normalization-BGPR6osg.js +0 -1
  1062. package/dist/esm/sdk/operationFingerprint-5-wH2Ht8.js +0 -1
  1063. package/dist/esm/sdk/passkey-custody-LP4UTFbn.js +0 -1
  1064. package/dist/esm/sdk/pendingWalletRecoveryCodeBackup-BNk4ebsY.js +0 -1
  1065. package/dist/esm/sdk/recovery-entrypoint-DkT8sFO5.js +0 -1
  1066. package/dist/esm/sdk/registration-Btozh7uh.js +0 -1
  1067. package/dist/esm/sdk/registration-CSAG_h4Y.js +0 -1
  1068. package/dist/esm/sdk/registrationIds-BIel5S0i.js +0 -1
  1069. package/dist/esm/sdk/registrationIntent-DV1GYZ3K.js +0 -1
  1070. package/dist/esm/sdk/registrationPreparationPreload-vOCqNuG4.js +0 -1
  1071. package/dist/esm/sdk/registrationSignerPlan-FzD3TwxB.js +0 -1
  1072. package/dist/esm/sdk/relayerHttp-DaPeS929.js +0 -1
  1073. package/dist/esm/sdk/routePlan-B_KJaPtm.js +0 -1
  1074. package/dist/esm/sdk/router-Dd3fFHk3.js +0 -1
  1075. package/dist/esm/sdk/routerAbNormalSigning-D_fHjq5l.js +0 -1
  1076. package/dist/esm/sdk/runtime-auth-B2M91rSx.js +0 -1
  1077. package/dist/esm/sdk/runtime-device-link-ojjPSRaG.js +0 -1
  1078. package/dist/esm/sdk/runtime-ecdsa-tempo-CE4JLgmn.js +0 -1
  1079. package/dist/esm/sdk/runtime-email-otp-DDwtKVAe.js +0 -1
  1080. package/dist/esm/sdk/runtime-export-JXYk8sQ-.js +0 -1
  1081. package/dist/esm/sdk/runtime-near-BB8AG6dV.js +0 -1
  1082. package/dist/esm/sdk/runtime-preferences-DKFZYccW.js +0 -1
  1083. package/dist/esm/sdk/runtime-recovery-C_XjsDBg.js +0 -1
  1084. package/dist/esm/sdk/runtime-recovery-codes-CWp839mH.js +0 -1
  1085. package/dist/esm/sdk/runtimeContext-BpObgzbj.js +0 -6
  1086. package/dist/esm/sdk/runtimeLoader-DjgBf_yF.js +0 -1
  1087. package/dist/esm/sdk/sdkSentEvents-_RGAEeld.js +0 -1
  1088. package/dist/esm/sdk/secp256k1-B_6W9QDJ.js +0 -1
  1089. package/dist/esm/sdk/sessionPolicy-CNVK7nJ6.js +0 -1
  1090. package/dist/esm/sdk/shared-j_KsFbCT.js +0 -1
  1091. package/dist/esm/sdk/signEvmFamily-CcLVBm0f.js +0 -1
  1092. package/dist/esm/sdk/signNear-mWbTE2Dl.js +0 -1
  1093. package/dist/esm/sdk/signerDomain-BhUTzDmF.js +0 -1
  1094. package/dist/esm/sdk/signerLoader-By0IY24G.js +0 -1
  1095. package/dist/esm/sdk/signingFlow-LUWrZi2d.js +0 -2
  1096. package/dist/esm/sdk/trace-M34pNGuF.js +0 -1
  1097. package/dist/esm/sdk/transaction-activity-BbDod7ji.js +0 -1
  1098. package/dist/esm/sdk/transactionReview-CBE5oH4c.js +0 -1
  1099. package/dist/esm/sdk/transactionReviewAdmission-0ZgWs6q3.js +0 -1
  1100. package/dist/esm/sdk/transactionState-9d7f3xVj.js +0 -1
  1101. package/dist/esm/sdk/validation-dC1-_uyG.js +0 -1
  1102. package/dist/esm/sdk/wallet-recovery-CcDZ1hMH.js +0 -1
  1103. package/dist/esm/sdk/walletAuthority-CoWSeqvQ.js +0 -1
  1104. package/dist/esm/sdk/walletCustodyEcdsaContinuity-B7xi7nwh.js +0 -1
  1105. package/dist/esm/sdk/walletRecoveryCommit-ljxVeo-d.js +0 -1
  1106. package/dist/esm/sdk/walletRecoveryRotate-HztDcDaY.js +0 -1
  1107. package/dist/esm/sdk/warmSessionHydration-BPGM0YRU.js +0 -1
  1108. package/dist/esm/shared-ts/src/authorization/walletCustodyOperation.js +0 -16
  1109. package/dist/esm/shared-ts/src/device-linking/contracts.js +0 -8
  1110. package/dist/esm/shared-ts/src/device-linking/ed25519ExportRoot.js +0 -167
  1111. package/dist/esm/shared-ts/src/passkey-custody/ceremonyCommitPayload.js +0 -43
  1112. package/dist/esm/shared-ts/src/signing-lanes/participants.js +0 -256
  1113. package/dist/esm/shared-ts/src/signing-lanes/recordParsers.js +0 -479
  1114. package/dist/esm/shared-ts/src/threshold/secp256k1.js +0 -6
  1115. package/dist/esm/shared-ts/src/utils/addAuthMethodRegistration.js +0 -103
  1116. package/dist/esm/shared-ts/src/utils/ecdsaKeyFactsInventory.js +0 -43
  1117. package/dist/esm/shared-ts/src/utils/exactKeys.js +0 -17
  1118. package/dist/esm/shared-ts/src/utils/routerAbTraceContext.js +0 -36
  1119. package/dist/esm/shared-ts/src/utils/walletAddSignerActivation.js +0 -32
  1120. package/dist/public/sdk/EvmClient-DoxytQaJ.js +0 -1
  1121. package/dist/public/sdk/NearClient-vJ65Wjrq.js +0 -1
  1122. package/dist/public/sdk/NonceCoordinator-BBeadCSq.js +0 -1
  1123. package/dist/public/sdk/accountLifecycle-EyfYPnuT.js +0 -1
  1124. package/dist/public/sdk/actions-DZLxCcrU.js +0 -1
  1125. package/dist/public/sdk/adapters-DtAyuoiA.js +0 -2
  1126. package/dist/public/sdk/base-Xtd32asf.js +0 -1
  1127. package/dist/public/sdk/bytes-t5S5mkat.js +0 -1
  1128. package/dist/public/sdk/canonicalPrimitives-MPGET2cl.js +0 -1
  1129. package/dist/public/sdk/canonicalSignerErrorCode-C0hh_SVi.js +0 -1
  1130. package/dist/public/sdk/chains-yAls2d9X.js +0 -1
  1131. package/dist/public/sdk/challengeDelivery-cAsaUC6U.js +0 -1
  1132. package/dist/public/sdk/configHelpers-CseiVoZD.js +0 -1
  1133. package/dist/public/sdk/csp-stylesheet-B1fAhrGB.js +0 -2
  1134. package/dist/public/sdk/defaultConfigs-CWpApkMq.js +0 -1
  1135. package/dist/public/sdk/display-jK7_hYho.js +0 -1
  1136. package/dist/public/sdk/domainIds-GDzjOs6i.js +0 -1
  1137. package/dist/public/sdk/ecdsaCapabilityManifest-CHFu-QrV.js +0 -1
  1138. package/dist/public/sdk/ecdsaPresignLifecycle-CQnCxSlq.js +0 -1
  1139. package/dist/public/sdk/ecdsaPresignPoolIdentity-Ci-ovDlv.js +0 -1
  1140. package/dist/public/sdk/enrichDisplayModelWithAbi-CR-4ebuU.js +0 -1
  1141. package/dist/public/sdk/evmFamilyEcdsaIdentity-Br3iFdQx.js +0 -1
  1142. package/dist/public/sdk/exactSessionState-CjD8gekO.js +0 -210
  1143. package/dist/public/sdk/exactSigningLaneIdentity-olheZx_n.js +0 -1
  1144. package/dist/public/sdk/export-viewer-host-jo7h_0wl.js +0 -1
  1145. package/dist/public/sdk/helpers-D4QckQhq.js +0 -1
  1146. package/dist/public/sdk/host-BAqOYnju.js +0 -1
  1147. package/dist/public/sdk/intentDigest-CB6zy3lN.js +0 -1
  1148. package/dist/public/sdk/jsxRuntime.module-CoHsKD_3.js +0 -1
  1149. package/dist/public/sdk/keyMaterialBrands-uVZHfAh3.js +0 -1
  1150. package/dist/public/sdk/localOnly-DBQRG6Qh.js +0 -1
  1151. package/dist/public/sdk/messages-Cv2j4SKI.js +0 -1
  1152. package/dist/public/sdk/mountExportPrivateKeySurface-G7Z_9JMQ.js +0 -1
  1153. package/dist/public/sdk/nearEd25519YaoMaterialActivation-DQIw8ho3.js +0 -1
  1154. package/dist/public/sdk/nearEd25519YaoSigningPreparation-Bp_CvWRz.js +0 -1
  1155. package/dist/public/sdk/nearRpcResults--cBcfmp4.js +0 -1
  1156. package/dist/public/sdk/normalization-BGPR6osg.js +0 -1
  1157. package/dist/public/sdk/operationFingerprint-5-wH2Ht8.js +0 -1
  1158. package/dist/public/sdk/passkey-custody-LP4UTFbn.js +0 -1
  1159. package/dist/public/sdk/pendingWalletRecoveryCodeBackup-BNk4ebsY.js +0 -1
  1160. package/dist/public/sdk/recovery-entrypoint-DkT8sFO5.js +0 -1
  1161. package/dist/public/sdk/registration-Btozh7uh.js +0 -1
  1162. package/dist/public/sdk/registration-CSAG_h4Y.js +0 -1
  1163. package/dist/public/sdk/registrationIds-BIel5S0i.js +0 -1
  1164. package/dist/public/sdk/registrationIntent-DV1GYZ3K.js +0 -1
  1165. package/dist/public/sdk/registrationPreparationPreload-vOCqNuG4.js +0 -1
  1166. package/dist/public/sdk/registrationSignerPlan-FzD3TwxB.js +0 -1
  1167. package/dist/public/sdk/relayerHttp-DaPeS929.js +0 -1
  1168. package/dist/public/sdk/routePlan-B_KJaPtm.js +0 -1
  1169. package/dist/public/sdk/router-Dd3fFHk3.js +0 -1
  1170. package/dist/public/sdk/routerAbNormalSigning-D_fHjq5l.js +0 -1
  1171. package/dist/public/sdk/runtime-auth-B2M91rSx.js +0 -1
  1172. package/dist/public/sdk/runtime-device-link-ojjPSRaG.js +0 -1
  1173. package/dist/public/sdk/runtime-ecdsa-tempo-CE4JLgmn.js +0 -1
  1174. package/dist/public/sdk/runtime-email-otp-DDwtKVAe.js +0 -1
  1175. package/dist/public/sdk/runtime-export-JXYk8sQ-.js +0 -1
  1176. package/dist/public/sdk/runtime-near-BB8AG6dV.js +0 -1
  1177. package/dist/public/sdk/runtime-preferences-DKFZYccW.js +0 -1
  1178. package/dist/public/sdk/runtime-recovery-C_XjsDBg.js +0 -1
  1179. package/dist/public/sdk/runtime-recovery-codes-CWp839mH.js +0 -1
  1180. package/dist/public/sdk/runtimeContext-BpObgzbj.js +0 -6
  1181. package/dist/public/sdk/runtimeLoader-DjgBf_yF.js +0 -1
  1182. package/dist/public/sdk/sdkSentEvents-_RGAEeld.js +0 -1
  1183. package/dist/public/sdk/secp256k1-B_6W9QDJ.js +0 -1
  1184. package/dist/public/sdk/sessionPolicy-CNVK7nJ6.js +0 -1
  1185. package/dist/public/sdk/shared-j_KsFbCT.js +0 -1
  1186. package/dist/public/sdk/signEvmFamily-CcLVBm0f.js +0 -1
  1187. package/dist/public/sdk/signNear-mWbTE2Dl.js +0 -1
  1188. package/dist/public/sdk/signerDomain-BhUTzDmF.js +0 -1
  1189. package/dist/public/sdk/signerLoader-By0IY24G.js +0 -1
  1190. package/dist/public/sdk/signingFlow-LUWrZi2d.js +0 -2
  1191. package/dist/public/sdk/trace-M34pNGuF.js +0 -1
  1192. package/dist/public/sdk/transaction-activity-BbDod7ji.js +0 -1
  1193. package/dist/public/sdk/transactionReview-CBE5oH4c.js +0 -1
  1194. package/dist/public/sdk/transactionReviewAdmission-0ZgWs6q3.js +0 -1
  1195. package/dist/public/sdk/transactionState-9d7f3xVj.js +0 -1
  1196. package/dist/public/sdk/validation-dC1-_uyG.js +0 -1
  1197. package/dist/public/sdk/wallet-recovery-CcDZ1hMH.js +0 -1
  1198. package/dist/public/sdk/walletAuthority-CoWSeqvQ.js +0 -1
  1199. package/dist/public/sdk/walletCustodyEcdsaContinuity-B7xi7nwh.js +0 -1
  1200. package/dist/public/sdk/walletRecoveryCommit-ljxVeo-d.js +0 -1
  1201. package/dist/public/sdk/walletRecoveryRotate-HztDcDaY.js +0 -1
  1202. package/dist/public/sdk/warmSessionHydration-BPGM0YRU.js +0 -1
  1203. package/dist/public/sdk/workers/evm_crypto.wasm +0 -0
  1204. package/dist/public/sdk/workers/near_signer.wasm +0 -0
  1205. package/dist/public/sdk/workers/tempo_signer.wasm +0 -0
  1206. package/dist/types/wallet/src/SeamsWeb/assembly/browserWorkerWarmupPolicy.d.ts +0 -4
  1207. package/dist/types/wallet/src/SeamsWeb/assembly/configureBrowserIndexedDB.d.ts +0 -3
  1208. package/dist/types/wallet/src/SeamsWeb/operations/auth/walletAuth.d.ts +0 -56
  1209. package/dist/types/wallet/src/SeamsWeb/operations/evm/index.d.ts +0 -9
  1210. package/dist/types/wallet/src/SeamsWeb/operations/near/index.d.ts +0 -11
  1211. package/dist/types/wallet/src/SeamsWeb/operations/recovery/accountSync.d.ts +0 -19
  1212. package/dist/types/wallet/src/SeamsWeb/publicApi/devices.typecheck.d.ts +0 -2
  1213. package/dist/types/wallet/src/SeamsWeb/publicApi/preferences.d.ts +0 -8
  1214. package/dist/types/wallet/src/SeamsWeb/publicApi/recovery.d.ts +0 -14
  1215. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/config-guards.d.ts +0 -15
  1216. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/registrationPreparationPreload.d.ts +0 -2
  1217. package/dist/types/wallet/src/core/signingEngine/flows/registration/public.d.ts +0 -68
  1218. package/dist/types/wallet/src/react/context/useEagerPrewarm.d.ts +0 -3
  1219. package/dist/workers/evm_crypto.wasm +0 -0
  1220. package/dist/workers/near_signer.wasm +0 -0
  1221. package/dist/workers/tempo_signer.wasm +0 -0
  1222. /package/dist/esm/sdk/{accountIds-C3Ihsd2c.js → accountIds-BzZs7YoX.js} +0 -0
  1223. /package/dist/esm/sdk/{base64-ojm5DKcF.js → base64-CsEj-_bC.js} +0 -0
  1224. /package/dist/esm/sdk/{browser-CsOGMbMy.js → browser-D4wUl_77.js} +0 -0
  1225. /package/dist/esm/sdk/{errors-DfbnsXjO.js → errors-BZO3LF6G.js} +0 -0
  1226. /package/dist/esm/sdk/{events-BJyVcnsn.js → events-DsQJQ0Cl.js} +0 -0
  1227. /package/dist/esm/sdk/{executeWorkerOperation-CrFf3FkL.js → executeWorkerOperation-BInr8RYN.js} +0 -0
  1228. /package/dist/esm/sdk/{jsonRpc-C85RYR0A.js → jsonRpc-DrCYQIM9.js} +0 -0
  1229. /package/dist/esm/sdk/{keccak-zexutGfG.js → keccak-B02Fekdh.js} +0 -0
  1230. /package/dist/esm/sdk/{profileAccountProjection-DHCaMtOu.js → profileAccountProjection-DmmfMood.js} +0 -0
  1231. /package/dist/esm/sdk/{signerSlot-BQ1g5JNV.js → signerSlot-Dto7dObP.js} +0 -0
  1232. /package/dist/esm/sdk/{surface-measurement-reporter-OICExWKE.js → surface-measurement-reporter-IlPOI3QK.js} +0 -0
  1233. /package/dist/public/sdk/{accountIds-C3Ihsd2c.js → accountIds-BzZs7YoX.js} +0 -0
  1234. /package/dist/public/sdk/{base64-ojm5DKcF.js → base64-CsEj-_bC.js} +0 -0
  1235. /package/dist/public/sdk/{browser-CsOGMbMy.js → browser-D4wUl_77.js} +0 -0
  1236. /package/dist/public/sdk/{errors-DfbnsXjO.js → errors-BZO3LF6G.js} +0 -0
  1237. /package/dist/public/sdk/{events-BJyVcnsn.js → events-DsQJQ0Cl.js} +0 -0
  1238. /package/dist/public/sdk/{executeWorkerOperation-CrFf3FkL.js → executeWorkerOperation-BInr8RYN.js} +0 -0
  1239. /package/dist/public/sdk/{jsonRpc-C85RYR0A.js → jsonRpc-DrCYQIM9.js} +0 -0
  1240. /package/dist/public/sdk/{keccak-zexutGfG.js → keccak-B02Fekdh.js} +0 -0
  1241. /package/dist/public/sdk/{profileAccountProjection-DHCaMtOu.js → profileAccountProjection-DmmfMood.js} +0 -0
  1242. /package/dist/public/sdk/{signerSlot-BQ1g5JNV.js → signerSlot-Dto7dObP.js} +0 -0
  1243. /package/dist/public/sdk/{surface-measurement-reporter-OICExWKE.js → surface-measurement-reporter-IlPOI3QK.js} +0 -0
@@ -1,46 +1,21 @@
1
- import { parseWalletAuthMethodId, parseWalletId, parseWebAuthnCredentialIdB64u, parseWebAuthnRpId } from "../../../shared-ts/src/utils/domainIds.js";
2
- import { parseDigestB64u } from "../../../shared-ts/src/utils/canonicalPrimitives.js";
1
+ import { parseWalletId } from "../../../shared-ts/src/utils/domainIds.js";
2
+ import "../../../shared-ts/src/utils/signingSessionSeal.js";
3
3
  import { buildBearerAuthorizationHeader, buildRelayerJsonPostRequestInit, normalizeRelayerBaseUrl } from "./relayerHttp.js";
4
- import { parseImplicitNearAccountId, parseNamedNearAccountId } from "../../../shared-ts/src/utils/near.js";
5
- import { walletIdFromString } from "../../../shared-ts/src/utils/registrationIds.js";
6
- import { thresholdEcdsaChainTargetsEqual } from "../../signingEngine/interfaces/ecdsaChainTarget.js";
7
- import { normalizeThresholdRuntimePolicyScope } from "../../signingEngine/threshold/sessionPolicy.js";
8
- import { parsePasskeyCustodyEnvelopeRecord } from "../../../shared-ts/src/passkey-custody/custodyEnvelope.js";
9
- import { parseWalletCustodyRegistrationOutcome } from "../../../shared-ts/src/passkey-custody/ceremonyCommitPayload.js";
4
+ import "../../../shared-ts/src/device-linking/activeWalletSession.js";
5
+ import "../../../shared-ts/src/utils/routerAbEd25519Yao.js";
6
+ import "../../../shared-ts/src/utils/routerAbEcdsaDerivation.js";
7
+ import "../../../shared-ts/src/authorization/walletAuthority.js";
8
+ import { parseImplicitNearAccountId } from "../../../shared-ts/src/utils/near.js";
9
+ import "../../../shared-ts/src/utils/registrationIds.js";
10
10
  import "../../../shared-ts/src/passkey-custody/index.js";
11
- import { parseRouterAbEd25519YaoRegistrationAdmissionRequestV1 } from "../../../shared-ts/src/utils/routerAbEd25519Yao.js";
12
- import { parseWalletAuthAuthority } from "../../../shared-ts/src/utils/walletAuthAuthority.js";
13
- import { parseRouterAbEcdsaRegistrationPublicActivationReceiptV1, parseRouterAbEcdsaRegistrationRequestFactsV1, parseRouterAbEcdsaStrictForwardedRegistrationResponseV1, requireRouterAbEcdsaDerivationNormalSigningStateV1 } from "../../../shared-ts/src/utils/routerAbEcdsaDerivation.js";
14
- import { parseWalletAddAuthMethodRegistrationOptions } from "../../../shared-ts/src/utils/addAuthMethodRegistration.js";
15
- import { normalizeRegistrationAuthMethodInput } from "../../../shared-ts/src/utils/registrationAuthMethodInput.js";
16
- import { parseWalletAuthorityV1 } from "../../../shared-ts/src/authorization/walletAuthority.js";
17
- import { parseWebAuthnAuthenticatorDeviceInfo } from "../../../shared-ts/src/utils/webauthnDeviceInfo.js";
18
- import { normalizeRegistrationSignerPlan, registrationSignerSetSelectionFromPlan } from "../../../shared-ts/src/utils/registrationSignerPlan.js";
19
- import { addAuthMethodIntentGrantFromString, addSignerIntentGrantFromString, computeRegistrationIntentDigestB64u, parseAddAuthMethodIntentV1, parseAddSignerIntentV1, sameAddAuthMethodIntentV1, sameAddSignerIntentV1 } from "../../../shared-ts/src/utils/registrationIntent.js";
20
- import { registrationSetupRepository, registrationSetupScopeDigest } from "../../indexedDB/seamsWalletDB/registrationSetup.js";
21
- import { parseRegistrationEstablishedSessionResultV2 } from "../../../shared-ts/src/utils/registrationEstablishedSession.js";
22
- import { parseThresholdEcdsaKeyIdentityTargets } from "../../signingEngine/session/passkey/ecdsaKeyFactsInventory.js";
23
- import { parseThresholdEcdsaDerivationRoleLocalBootstrapValue } from "./thresholdEcdsa.js";
11
+ import "../../../shared-ts/src/utils/registrationSignerPlan.js";
12
+ import "../../../shared-ts/src/utils/registrationIntent.js";
13
+ import "../../../shared-ts/src/utils/registrationEstablishedSession.js";
24
14
  import { WALLET_MANAGEMENT_PROTOCOL_HEADER } from "../../../shared-ts/src/utils/walletManagementProtocol.js";
25
- import { parseWalletAddSignerChainTarget, parseWalletAddSignerEcdsaWalletKey, parseWalletEd25519YaoSignerPublicResult, parseWalletRegistrationFinalizeAuthority, parseWalletRegistrationFinalizeAuthorityBranch, parseWalletRegistrationFinalizeDiagnostics, parseWalletRegistrationFinalizeResponse, requireResponseParticipantPair, requireResponseRpId, requireResponseSafeInteger, requireResponseString } from "./walletRegistrationTerminalResponse.js";
26
15
  //#region src/core/rpcClients/relayer/walletRegistration.ts
27
- /**
28
- * Declared once in the shared package. The server mints these options, this
29
- * client hands them to `navigator.credentials.create`, and the linked-device
30
- * target preparation carries them to Device 2 — one declaration, so none of
31
- * the three can drift from the ceremony.
32
- */
33
16
  const REGISTRATION_ROUTE_PAYLOAD_DIAGNOSTICS_LABEL = "[Registration] wallet route payload summary";
34
17
  const ROUTE_PAYLOAD_BREAKDOWN_MAX_DEPTH = 2;
35
18
  const ROUTE_PAYLOAD_BREAKDOWN_MAX_FIELDS = 64;
36
- const WALLET_REGISTRATION_SETUP_PATH = "/wallets/register/setup";
37
- const WALLET_REGISTRATION_RESPOND_PATH = "/wallets/register/respond";
38
- const WALLET_REGISTRATION_ACTIVATE_PATH = "/wallets/register/activate";
39
- const WALLET_REGISTRATION_NEAR_PROVISIONING_PATH = "/wallets/register/near-provisioning";
40
- /** Managed environment id header for Router API `api_credentials` auth. */
41
- const ROUTER_API_ENVIRONMENT_ID_HEADER = "X-Seams-Environment-Id";
42
- const WALLET_REGISTRATION_PREPARE_PATH = "/wallets/register/prepare";
43
- const WRANGLER_WORKER_RESTARTED_MID_REQUEST = "Your worker restarted mid-request";
44
19
  function utf8Bytes(value) {
45
20
  try {
46
21
  return new TextEncoder().encode(String(value || "")).length;
@@ -99,50 +74,33 @@ async function readResponseText(response) {
99
74
  return "{}";
100
75
  }
101
76
  }
102
- function walletRegistrationPostMaxAttempts(path) {
103
- return path === WALLET_REGISTRATION_PREPARE_PATH ? 2 : 1;
104
- }
105
- function isWranglerWorkerRestartedMidRequestResponse(input) {
106
- return input.path === WALLET_REGISTRATION_PREPARE_PATH && input.attempt === 0 && input.status === 503 && input.responseText.includes(WRANGLER_WORKER_RESTARTED_MID_REQUEST);
107
- }
108
77
  async function postJson(args) {
109
78
  const startedAt = Date.now();
110
79
  const requestBody = JSON.stringify(args.body);
111
- const maxAttempts = walletRegistrationPostMaxAttempts(args.path);
112
- for (let attempt = 0; attempt < maxAttempts; attempt += 1) {
113
- const response = await fetch(`${normalizeRelayerBaseUrl(args.relayerUrl, { trim: false })}${args.path}`, buildRelayerJsonPostRequestInit({
114
- headers: {
115
- ...args.headers,
116
- [WALLET_MANAGEMENT_PROTOCOL_HEADER]: "2"
117
- },
118
- body: args.body,
119
- bodyJson: requestBody
120
- }));
121
- if (args.onServerTiming) try {
122
- args.onServerTiming(response.headers.get("Server-Timing"));
123
- } catch {}
124
- const responseText = await readResponseText(response);
125
- const data = parseJsonText(responseText);
126
- if (registrationBenchmarkDiagnosticsEnabled()) console.info(REGISTRATION_ROUTE_PAYLOAD_DIAGNOSTICS_LABEL, {
127
- path: args.path,
128
- status: response.status,
129
- attempt,
130
- requestBytes: utf8Bytes(requestBody),
131
- requestSizeBreakdown: payloadSizeBreakdown(args.body),
132
- responseBytes: utf8Bytes(responseText),
133
- responseSizeBreakdown: payloadSizeBreakdown(data),
134
- totalMs: Date.now() - startedAt
135
- });
136
- if (isWranglerWorkerRestartedMidRequestResponse({
137
- path: args.path,
138
- status: response.status,
139
- responseText,
140
- attempt
141
- })) continue;
142
- if (!response.ok || readParsedJsonField(data, "ok") === false) throw new Error(String(readParsedJsonField(data, "message") || readParsedJsonField(data, "error") || readParsedJsonField(data, "code") || `HTTP ${response.status}`));
143
- return data;
144
- }
145
- throw new Error("wallet registration request exhausted retry attempts");
80
+ const response = await fetch(`${normalizeRelayerBaseUrl(args.relayerUrl, { trim: false })}${args.path}`, buildRelayerJsonPostRequestInit({
81
+ headers: {
82
+ ...args.headers,
83
+ [WALLET_MANAGEMENT_PROTOCOL_HEADER]: "3"
84
+ },
85
+ body: args.body,
86
+ bodyJson: requestBody
87
+ }));
88
+ if (args.onServerTiming) try {
89
+ args.onServerTiming(response.headers.get("Server-Timing"));
90
+ } catch {}
91
+ const responseText = await readResponseText(response);
92
+ const data = parseJsonText(responseText);
93
+ if (registrationBenchmarkDiagnosticsEnabled()) console.info(REGISTRATION_ROUTE_PAYLOAD_DIAGNOSTICS_LABEL, {
94
+ path: args.path,
95
+ status: response.status,
96
+ requestBytes: utf8Bytes(requestBody),
97
+ requestSizeBreakdown: payloadSizeBreakdown(args.body),
98
+ responseBytes: utf8Bytes(responseText),
99
+ responseSizeBreakdown: payloadSizeBreakdown(data),
100
+ totalMs: Date.now() - startedAt
101
+ });
102
+ if (!response.ok || readParsedJsonField(data, "ok") === false) throw new Error(String(readParsedJsonField(data, "message") || readParsedJsonField(data, "error") || readParsedJsonField(data, "code") || `HTTP ${response.status}`));
103
+ return data;
146
104
  }
147
105
  const FUND_IMPLICIT_NEAR_SUCCESS_REQUIRED_FIELDS = [
148
106
  "ok",
@@ -230,2126 +188,7 @@ async function fundImplicitNearAccountForTesting(args) {
230
188
  }
231
189
  }));
232
190
  }
233
- function registrationPreparationIdFromString(value) {
234
- const normalized = String(value || "").trim();
235
- if (!normalized) throw new Error("Registration preparation id is required");
236
- return normalized;
237
- }
238
- const WALLET_REGISTRATION_ECDSA_PREPARE_FIELDS = [
239
- "formatVersion",
240
- "walletId",
241
- "evmFamilySigningKeySlotId",
242
- "ecdsaThresholdKeyId",
243
- "signingRootId",
244
- "signingRootVersion",
245
- "keyScope",
246
- "relayerKeyId",
247
- "registrationPreparationId",
248
- "requestId",
249
- "thresholdSessionId",
250
- "ttlMs",
251
- "remainingUses",
252
- "participantIds",
253
- "runtimePolicyScope"
254
- ];
255
- function requireWalletRegistrationResponseObject(args) {
256
- if (args.value === null || typeof args.value !== "object" || Array.isArray(args.value)) throw new Error(`${args.responseName} response missing ${args.field}`);
257
- return args.value;
258
- }
259
- function readWalletRegistrationResponseField(record, field, label) {
260
- if (!Object.keys(record).includes(field)) throw new Error(`${label} is missing ${field}`);
261
- return Reflect.get(record, field);
262
- }
263
- function readOptionalWalletRegistrationResponseField(record, field, _label) {
264
- if (!Object.keys(record).includes(field)) return void 0;
265
- return Reflect.get(record, field);
266
- }
267
- function assertWalletRegistrationResponseKeys(record, allowed, label) {
268
- const allowedSet = new Set(allowed);
269
- for (const key of Object.keys(record)) if (!allowedSet.has(key)) throw new Error(`${label} contains unexpected ${key}`);
270
- }
271
- function requireWalletRegistrationResponseArray(value, label) {
272
- if (!Array.isArray(value)) throw new Error(`${label} must be an array`);
273
- return value;
274
- }
275
- function hasWalletRegistrationResponseField(record, field) {
276
- return Object.keys(record).includes(field);
277
- }
278
- function requireWalletRegistrationSetupString(value, label) {
279
- if (typeof value !== "string" || value.length === 0 || value.trim() !== value) throw new Error(`${label} must be a non-empty canonical string`);
280
- return value;
281
- }
282
- function requireWalletRegistrationSetupSafeInteger(value, label, minimum) {
283
- if (typeof value !== "number" || !Number.isSafeInteger(value) || value < minimum) throw new Error(`${label} must be a safe integer`);
284
- return value;
285
- }
286
- function readWalletRegistrationSetupString(record, field, label) {
287
- return requireWalletRegistrationSetupString(readWalletRegistrationResponseField(record, field, label), `${label}.${field}`);
288
- }
289
- function readWalletRegistrationSetupOptionalString(record, field, label) {
290
- if (!hasWalletRegistrationResponseField(record, field)) return void 0;
291
- return requireWalletRegistrationSetupString(readWalletRegistrationResponseField(record, field, label), `${label}.${field}`);
292
- }
293
- function readWalletRegistrationSetupSafeInteger(record, field, label, minimum) {
294
- return requireWalletRegistrationSetupSafeInteger(readWalletRegistrationResponseField(record, field, label), `${label}.${field}`, minimum);
295
- }
296
- function parseWalletRegistrationSetupParticipantIds(value, label) {
297
- const values = requireWalletRegistrationResponseArray(value, label);
298
- if (values.length === 0) throw new Error(`${label} must not be empty`);
299
- const participantIds = [];
300
- for (let index = 0; index < values.length; index += 1) participantIds.push(requireWalletRegistrationSetupSafeInteger(values[index], `${label}[${index}]`, 1));
301
- return participantIds;
302
- }
303
- function parseWalletRegistrationSetupParticipantPair(value, label) {
304
- const participantIds = parseWalletRegistrationSetupParticipantIds(value, label);
305
- if (participantIds.length !== 2 || participantIds[0] !== 1 || participantIds[1] !== 2) throw new Error(`${label} must be [1, 2]`);
306
- return [1, 2];
307
- }
308
- function parseWalletRegistrationSetupRuntimePolicyScope(value, responseName, requireSigningRootVersion = false) {
309
- if (value === void 0) return void 0;
310
- const scopeName = `${responseName} runtimePolicyScope`;
311
- const scope = requireWalletRegistrationResponseObject({
312
- responseName: scopeName,
313
- field: "value",
314
- value
315
- });
316
- assertWalletRegistrationResponseKeys(scope, [
317
- "orgId",
318
- "projectId",
319
- "envId",
320
- "signingRootVersion"
321
- ], scopeName);
322
- const signingRootVersion = readWalletRegistrationSetupOptionalString(scope, "signingRootVersion", scopeName);
323
- if (requireSigningRootVersion && signingRootVersion === void 0) throw new Error(`${scopeName}.signingRootVersion is required`);
324
- const base = {
325
- orgId: readWalletRegistrationSetupString(scope, "orgId", scopeName),
326
- projectId: readWalletRegistrationSetupString(scope, "projectId", scopeName),
327
- envId: readWalletRegistrationSetupString(scope, "envId", scopeName)
328
- };
329
- return signingRootVersion === void 0 ? base : {
330
- ...base,
331
- signingRootVersion
332
- };
333
- }
334
- function parseWalletRegistrationSetupPrepareRuntimePolicyScope(value, responseName) {
335
- const runtimePolicyScope = parseWalletRegistrationSetupRuntimePolicyScope(value, responseName, true);
336
- if (!runtimePolicyScope || runtimePolicyScope.signingRootVersion === void 0) throw new Error(`${responseName} runtimePolicyScope is invalid`);
337
- return {
338
- orgId: runtimePolicyScope.orgId,
339
- projectId: runtimePolicyScope.projectId,
340
- envId: runtimePolicyScope.envId,
341
- signingRootVersion: runtimePolicyScope.signingRootVersion
342
- };
343
- }
344
- function parseWalletRegistrationSetupAuthMethod(value) {
345
- const responseName = "Wallet registration setup intent authMethod";
346
- const authMethod = requireWalletRegistrationResponseObject({
347
- responseName,
348
- field: "value",
349
- value
350
- });
351
- switch (readWalletRegistrationSetupString(authMethod, "kind", responseName)) {
352
- case "passkey":
353
- assertWalletRegistrationResponseKeys(authMethod, [
354
- "kind",
355
- "rpId",
356
- "authenticatorOptions"
357
- ], responseName);
358
- if (!parseWebAuthnRpId(readWalletRegistrationSetupString(authMethod, "rpId", responseName)).ok) throw new Error(`${responseName}.rpId is invalid`);
359
- if (!hasWalletRegistrationResponseField(authMethod, "authenticatorOptions")) break;
360
- if (readWalletRegistrationResponseField(authMethod, "authenticatorOptions", responseName) === void 0) throw new Error(`${responseName}.authenticatorOptions must be defined when present`);
361
- break;
362
- case "email_otp":
363
- switch (readWalletRegistrationSetupString(authMethod, "proofKind", responseName)) {
364
- case "otp_challenge":
365
- assertWalletRegistrationResponseKeys(authMethod, [
366
- "kind",
367
- "proofKind",
368
- "email",
369
- "providerSubject",
370
- "otpCode",
371
- "challengeId"
372
- ], responseName);
373
- readWalletRegistrationSetupOptionalString(authMethod, "challengeId", responseName);
374
- readWalletRegistrationSetupString(authMethod, "email", responseName);
375
- readWalletRegistrationSetupString(authMethod, "providerSubject", responseName);
376
- readWalletRegistrationSetupString(authMethod, "otpCode", responseName);
377
- break;
378
- case "google_sso_registration":
379
- assertWalletRegistrationResponseKeys(authMethod, [
380
- "kind",
381
- "proofKind",
382
- "email",
383
- "providerSubject",
384
- "googleEmailOtpRegistrationAttemptId",
385
- "googleEmailOtpRegistrationOfferId",
386
- "googleEmailOtpRegistrationCandidateId"
387
- ], responseName);
388
- readWalletRegistrationSetupString(authMethod, "email", responseName);
389
- readWalletRegistrationSetupString(authMethod, "providerSubject", responseName);
390
- readWalletRegistrationSetupString(authMethod, "googleEmailOtpRegistrationAttemptId", responseName);
391
- readWalletRegistrationSetupString(authMethod, "googleEmailOtpRegistrationOfferId", responseName);
392
- readWalletRegistrationSetupString(authMethod, "googleEmailOtpRegistrationCandidateId", responseName);
393
- break;
394
- default: throw new Error(`${responseName}.proofKind is invalid`);
395
- }
396
- break;
397
- default: throw new Error(`${responseName}.kind is invalid`);
398
- }
399
- const normalized = normalizeRegistrationAuthMethodInput(value);
400
- if (!normalized) throw new Error(`${responseName} is invalid`);
401
- return normalized;
402
- }
403
- function parseWalletRegistrationSetupNearAccountProvisioning(value) {
404
- const responseName = "Wallet registration setup intent accountProvisioning";
405
- const provisioning = requireWalletRegistrationResponseObject({
406
- responseName,
407
- field: "value",
408
- value
409
- });
410
- const kind = readWalletRegistrationSetupString(provisioning, "kind", responseName);
411
- switch (kind) {
412
- case "implicit_account":
413
- assertWalletRegistrationResponseKeys(provisioning, ["kind", "accountIdSource"], responseName);
414
- if (readWalletRegistrationSetupString(provisioning, "accountIdSource", responseName) !== "ed25519_public_key") throw new Error(`${responseName}.accountIdSource is invalid`);
415
- return {
416
- kind,
417
- accountIdSource: "ed25519_public_key"
418
- };
419
- case "sponsored_named_account": {
420
- assertWalletRegistrationResponseKeys(provisioning, [
421
- "kind",
422
- "requestedAccountId",
423
- "sponsor"
424
- ], responseName);
425
- if (readWalletRegistrationSetupString(provisioning, "sponsor", responseName) !== "relayer") throw new Error(`${responseName}.sponsor is invalid`);
426
- const requestedAccountId = parseNamedNearAccountId(readWalletRegistrationSetupString(provisioning, "requestedAccountId", responseName));
427
- if (!requestedAccountId.ok) throw new Error(`${responseName}.requestedAccountId is invalid`);
428
- return {
429
- kind,
430
- requestedAccountId: requestedAccountId.value,
431
- sponsor: "relayer"
432
- };
433
- }
434
- default: throw new Error(`${responseName}.kind is invalid`);
435
- }
436
- }
437
- function sameWalletRegistrationSetupChainTarget(left, right) {
438
- switch (left.kind) {
439
- case "evm": return right.kind === "evm" && left.namespace === right.namespace && left.chainId === right.chainId && left.networkSlug === right.networkSlug;
440
- case "tempo": return right.kind === "tempo" && left.chainId === right.chainId && left.networkSlug === right.networkSlug;
441
- default: return assertNeverWalletRegistrationSetupChainTarget(left);
442
- }
443
- }
444
- function assertNeverWalletRegistrationSetupChainTarget(value) {
445
- throw new Error(`Unsupported wallet registration setup chain target: ${String(value)}`);
446
- }
447
- function parseWalletRegistrationSetupEcdsaChainTarget(value, responseName) {
448
- const target = requireWalletRegistrationResponseObject({
449
- responseName,
450
- field: "chainTarget",
451
- value
452
- });
453
- const kind = readWalletRegistrationSetupString(target, "kind", responseName);
454
- switch (kind) {
455
- case "evm": {
456
- assertWalletRegistrationResponseKeys(target, [
457
- "kind",
458
- "namespace",
459
- "chainId",
460
- "networkSlug"
461
- ], responseName);
462
- if (readWalletRegistrationSetupString(target, "namespace", responseName) !== "eip155") throw new Error(`${responseName}.namespace is invalid`);
463
- const chainId = readWalletRegistrationSetupSafeInteger(target, "chainId", responseName, 1);
464
- const networkSlug = readWalletRegistrationSetupOptionalString(target, "networkSlug", responseName);
465
- return networkSlug === void 0 ? {
466
- kind,
467
- namespace: "eip155",
468
- chainId
469
- } : {
470
- kind,
471
- namespace: "eip155",
472
- chainId,
473
- networkSlug
474
- };
475
- }
476
- case "tempo": {
477
- assertWalletRegistrationResponseKeys(target, [
478
- "kind",
479
- "chainId",
480
- "networkSlug"
481
- ], responseName);
482
- const chainId = readWalletRegistrationSetupSafeInteger(target, "chainId", responseName, 1);
483
- const networkSlug = readWalletRegistrationSetupOptionalString(target, "networkSlug", responseName);
484
- return networkSlug === void 0 ? {
485
- kind,
486
- chainId
487
- } : {
488
- kind,
489
- chainId,
490
- networkSlug
491
- };
492
- }
493
- default: throw new Error(`${responseName}.kind is invalid`);
494
- }
495
- }
496
- function normalizeWalletRegistrationSetupEcdsaChainTarget(value) {
497
- try {
498
- return parseWalletRegistrationSetupEcdsaChainTarget(value, "Wallet registration setup intent");
499
- } catch {
500
- return null;
501
- }
502
- }
503
- function parseWalletRegistrationSetupSignerRequest(value) {
504
- const responseName = "Wallet registration setup intent signer";
505
- const signer = requireWalletRegistrationResponseObject({
506
- responseName,
507
- field: "value",
508
- value
509
- });
510
- const kind = readWalletRegistrationSetupString(signer, "kind", responseName);
511
- switch (kind) {
512
- case "near_ed25519":
513
- assertWalletRegistrationResponseKeys(signer, [
514
- "kind",
515
- "accountProvisioning",
516
- "signerSlot",
517
- "participantIds",
518
- "derivationVersion"
519
- ], responseName);
520
- if (readWalletRegistrationSetupSafeInteger(signer, "derivationVersion", responseName, 1) !== 1) throw new Error(`${responseName}.derivationVersion is invalid`);
521
- return {
522
- kind,
523
- accountProvisioning: parseWalletRegistrationSetupNearAccountProvisioning(readWalletRegistrationResponseField(signer, "accountProvisioning", responseName)),
524
- signerSlot: readWalletRegistrationSetupSafeInteger(signer, "signerSlot", responseName, 1),
525
- participantIds: parseWalletRegistrationSetupParticipantIds(readWalletRegistrationResponseField(signer, "participantIds", responseName), `${responseName}.participantIds`),
526
- derivationVersion: 1
527
- };
528
- case "evm_family_ecdsa": {
529
- assertWalletRegistrationResponseKeys(signer, [
530
- "kind",
531
- "participantIds",
532
- "chainTargets"
533
- ], responseName);
534
- const chainTargets = requireWalletRegistrationResponseArray(readWalletRegistrationResponseField(signer, "chainTargets", responseName), `${responseName}.chainTargets`);
535
- if (chainTargets.length === 0) throw new Error(`${responseName}.chainTargets must not be empty`);
536
- const parsedChainTargets = [];
537
- for (const chainTarget of chainTargets) {
538
- const parsed = parseWalletRegistrationSetupEcdsaChainTarget(chainTarget, `${responseName}.chainTargets`);
539
- if (parsedChainTargets.some((existing) => sameWalletRegistrationSetupChainTarget(existing, parsed))) throw new Error(`${responseName}.chainTargets contains a duplicate target`);
540
- parsedChainTargets.push(parsed);
541
- }
542
- return {
543
- kind,
544
- participantIds: parseWalletRegistrationSetupParticipantIds(readWalletRegistrationResponseField(signer, "participantIds", responseName), `${responseName}.participantIds`),
545
- chainTargets: parsedChainTargets
546
- };
547
- }
548
- default: throw new Error(`${responseName}.kind is invalid`);
549
- }
550
- }
551
- function parseWalletRegistrationSetupSignerSelection(value) {
552
- const responseName = "Wallet registration setup intent signerSelection";
553
- const selection = requireWalletRegistrationResponseObject({
554
- responseName,
555
- field: "value",
556
- value
557
- });
558
- assertWalletRegistrationResponseKeys(selection, ["kind", "signers"], responseName);
559
- if (readWalletRegistrationSetupString(selection, "kind", responseName) !== "signer_set") throw new Error(`${responseName}.kind is invalid`);
560
- const rawSigners = requireWalletRegistrationResponseArray(readWalletRegistrationResponseField(selection, "signers", responseName), `${responseName}.signers`);
561
- if (rawSigners.length === 0) throw new Error(`${responseName}.signers must not be empty`);
562
- const signers = [];
563
- for (const rawSigner of rawSigners) signers.push(parseWalletRegistrationSetupSignerRequest(rawSigner));
564
- return {
565
- kind: "signer_set",
566
- signers
567
- };
568
- }
569
- function parseWalletRegistrationSetupIntent(value) {
570
- const responseName = "Wallet registration setup intent";
571
- const intent = requireWalletRegistrationResponseObject({
572
- responseName,
573
- field: "intent",
574
- value
575
- });
576
- assertWalletRegistrationResponseKeys(intent, [
577
- "version",
578
- "walletId",
579
- "authMethod",
580
- "signerSelection",
581
- "foundingWalletAuthMethodId",
582
- "runtimePolicyScope",
583
- "nonceB64u"
584
- ], responseName);
585
- if (readWalletRegistrationSetupString(intent, "version", responseName) !== "registration_intent_v1") throw new Error(`${responseName}.version is invalid`);
586
- const walletId = parseWalletId(readWalletRegistrationSetupString(intent, "walletId", responseName));
587
- if (!walletId.ok) throw new Error(`${responseName}.walletId is invalid`);
588
- const foundingWalletAuthMethodId = parseWalletAuthMethodId(readWalletRegistrationSetupString(intent, "foundingWalletAuthMethodId", responseName));
589
- if (!foundingWalletAuthMethodId.ok) throw new Error(`${responseName}.foundingWalletAuthMethodId is invalid`);
590
- const authMethod = parseWalletRegistrationSetupAuthMethod(readWalletRegistrationResponseField(intent, "authMethod", responseName));
591
- const signerSelection = parseWalletRegistrationSetupSignerSelection(readWalletRegistrationResponseField(intent, "signerSelection", responseName));
592
- const runtimePolicyScope = parseWalletRegistrationSetupRuntimePolicyScope(readOptionalWalletRegistrationResponseField(intent, "runtimePolicyScope", responseName), responseName);
593
- const nonceB64u = readWalletRegistrationSetupString(intent, "nonceB64u", responseName);
594
- return runtimePolicyScope === void 0 ? {
595
- version: "registration_intent_v1",
596
- walletId: walletId.value,
597
- authMethod,
598
- signerSelection,
599
- foundingWalletAuthMethodId: foundingWalletAuthMethodId.value,
600
- nonceB64u
601
- } : {
602
- version: "registration_intent_v1",
603
- walletId: walletId.value,
604
- authMethod,
605
- signerSelection,
606
- foundingWalletAuthMethodId: foundingWalletAuthMethodId.value,
607
- runtimePolicyScope,
608
- nonceB64u
609
- };
610
- }
611
- function parseWalletAddSignerEcdsaRespondResponse(value) {
612
- const responseName = "Wallet add-signer ECDSA derivation";
613
- const response = requireWalletRegistrationResponseObject({
614
- responseName,
615
- field: "response",
616
- value
617
- });
618
- assertWalletRegistrationResponseKeys(response, [
619
- "ok",
620
- "addSignerCeremonyId",
621
- "ecdsa"
622
- ], `${responseName} response`);
623
- if (readWalletRegistrationResponseField(response, "ok", `${responseName} response`) !== true) throw new Error(`${responseName} response is not successful`);
624
- const ecdsa = requireWalletRegistrationResponseObject({
625
- responseName,
626
- field: "ecdsa",
627
- value: readWalletRegistrationResponseField(response, "ecdsa", `${responseName} response`)
628
- });
629
- assertWalletRegistrationResponseKeys(ecdsa, ["kind", "strictResult"], `${responseName} response ecdsa`);
630
- if (readWalletRegistrationResponseField(ecdsa, "kind", `${responseName} response ecdsa`) !== "router_ab_ecdsa_registration_forwarded_v1") throw new Error(`${responseName} response kind is invalid`);
631
- return {
632
- ok: true,
633
- addSignerCeremonyId: requireResponseString({
634
- responseName,
635
- field: "addSignerCeremonyId",
636
- value: readWalletRegistrationResponseField(response, "addSignerCeremonyId", responseName)
637
- }),
638
- ecdsa: {
639
- kind: "router_ab_ecdsa_registration_forwarded_v1",
640
- strictResult: parseRouterAbEcdsaStrictForwardedRegistrationResponseV1(readWalletRegistrationResponseField(ecdsa, "strictResult", `${responseName} response ecdsa`))
641
- }
642
- };
643
- }
644
- function parseWalletAddSignerEcdsaActivationResponse(value) {
645
- const responseName = "Wallet add-signer ECDSA activation";
646
- const response = requireWalletRegistrationResponseObject({
647
- responseName,
648
- field: "response",
649
- value
650
- });
651
- assertWalletRegistrationResponseKeys(response, [
652
- "ok",
653
- "addSignerCeremonyId",
654
- "ecdsa"
655
- ], `${responseName} response`);
656
- if (readWalletRegistrationResponseField(response, "ok", `${responseName} response`) !== true) throw new Error(`${responseName} response is not successful`);
657
- const ecdsa = requireWalletRegistrationResponseObject({
658
- responseName,
659
- field: "ecdsa",
660
- value: readWalletRegistrationResponseField(response, "ecdsa", `${responseName} response`)
661
- });
662
- assertWalletRegistrationResponseKeys(ecdsa, [
663
- "kind",
664
- "activation",
665
- "bootstrap"
666
- ], `${responseName} response ecdsa`);
667
- if (readWalletRegistrationResponseField(ecdsa, "kind", `${responseName} response ecdsa`) !== "router_ab_ecdsa_registration_activated_v1") throw new Error(`${responseName} response kind is invalid`);
668
- return {
669
- ok: true,
670
- addSignerCeremonyId: requireResponseString({
671
- responseName,
672
- field: "addSignerCeremonyId",
673
- value: readWalletRegistrationResponseField(response, "addSignerCeremonyId", responseName)
674
- }),
675
- ecdsa: {
676
- kind: "router_ab_ecdsa_registration_activated_v1",
677
- activation: parseRouterAbEcdsaRegistrationPublicActivationReceiptV1(readWalletRegistrationResponseField(ecdsa, "activation", `${responseName} response ecdsa`)),
678
- bootstrap: parseThresholdEcdsaDerivationRoleLocalBootstrapValue(readWalletRegistrationResponseField(ecdsa, "bootstrap", `${responseName} response ecdsa`))
679
- }
680
- };
681
- }
682
- function isEmailOtpWalletRegistrationFinalizeResponse(response) {
683
- return response.authMethod.kind === "email_otp";
684
- }
685
- function parseCreateAddAuthMethodIntentResponse(value) {
686
- const responseName = "Wallet add-auth-method intent";
687
- const response = requireWalletRegistrationResponseObject({
688
- responseName,
689
- field: "body",
690
- value
691
- });
692
- assertWalletRegistrationResponseKeys(response, [
693
- "ok",
694
- "intent",
695
- "addAuthMethodIntentDigestB64u",
696
- "addAuthMethodIntentGrant",
697
- "expiresAtMs"
698
- ], responseName);
699
- if (readWalletRegistrationResponseField(response, "ok", responseName) !== true) throw new Error(`${responseName} response is not successful`);
700
- const intent = parseAddAuthMethodIntentV1(readWalletRegistrationResponseField(response, "intent", responseName));
701
- let addAuthMethodIntentDigestB64u;
702
- try {
703
- addAuthMethodIntentDigestB64u = parseDigestB64u(readWalletRegistrationResponseField(response, "addAuthMethodIntentDigestB64u", responseName));
704
- } catch {
705
- throw new Error(`${responseName} response has invalid addAuthMethodIntentDigestB64u`);
706
- }
707
- const grantValue = readWalletRegistrationResponseField(response, "addAuthMethodIntentGrant", responseName);
708
- if (typeof grantValue !== "string" || !grantValue.trim()) throw new Error(`${responseName} response is missing addAuthMethodIntentGrant`);
709
- return {
710
- ok: true,
711
- intent,
712
- addAuthMethodIntentDigestB64u,
713
- addAuthMethodIntentGrant: addAuthMethodIntentGrantFromString(grantValue),
714
- expiresAtMs: requireResponseSafeInteger({
715
- responseName,
716
- field: "expiresAtMs",
717
- value: readWalletRegistrationResponseField(response, "expiresAtMs", responseName),
718
- minimum: 1
719
- })
720
- };
721
- }
722
- function parseCreateAddSignerIntentResponse(value) {
723
- const responseName = "Wallet add-signer intent";
724
- const response = requireWalletRegistrationResponseObject({
725
- responseName,
726
- field: "body",
727
- value
728
- });
729
- assertWalletRegistrationResponseKeys(response, [
730
- "ok",
731
- "intent",
732
- "addSignerIntentDigestB64u",
733
- "addSignerIntentGrant",
734
- "expiresAtMs"
735
- ], responseName);
736
- if (readWalletRegistrationResponseField(response, "ok", responseName) !== true) throw new Error(`${responseName} response is not successful`);
737
- const intent = parseAddSignerIntentV1(readWalletRegistrationResponseField(response, "intent", responseName));
738
- let addSignerIntentDigestB64u;
739
- try {
740
- addSignerIntentDigestB64u = parseDigestB64u(readWalletRegistrationResponseField(response, "addSignerIntentDigestB64u", responseName));
741
- } catch {
742
- throw new Error(`${responseName} response has invalid addSignerIntentDigestB64u`);
743
- }
744
- const grantValue = readWalletRegistrationResponseField(response, "addSignerIntentGrant", responseName);
745
- if (typeof grantValue !== "string" || !grantValue.trim()) throw new Error(`${responseName} response is missing addSignerIntentGrant`);
746
- return {
747
- ok: true,
748
- intent,
749
- addSignerIntentDigestB64u,
750
- addSignerIntentGrant: addSignerIntentGrantFromString(grantValue),
751
- expiresAtMs: requireResponseSafeInteger({
752
- responseName,
753
- field: "expiresAtMs",
754
- value: readWalletRegistrationResponseField(response, "expiresAtMs", responseName),
755
- minimum: 1
756
- })
757
- };
758
- }
759
- function parseWalletAddAuthMethodFinalizeResponse(value) {
760
- const responseName = "Wallet add-auth-method finalize";
761
- const response = requireWalletRegistrationResponseObject({
762
- responseName,
763
- field: "body",
764
- value
765
- });
766
- if (readWalletRegistrationResponseField(response, "ok", responseName) !== true) throw new Error(`${responseName} response is not successful`);
767
- const authMethod = requireWalletRegistrationResponseObject({
768
- responseName,
769
- field: "authMethod",
770
- value: readWalletRegistrationResponseField(response, "authMethod", responseName)
771
- });
772
- const authMethodKind = readWalletRegistrationResponseField(authMethod, "kind", `${responseName} authMethod`);
773
- if (authMethodKind !== "passkey" && authMethodKind !== "email_otp") throw new Error(`${responseName} response has invalid authMethod kind`);
774
- const walletIdResult = parseWalletId(readWalletRegistrationResponseField(response, "walletId", responseName));
775
- if (!walletIdResult.ok) throw new Error(`${responseName} response has invalid walletId`);
776
- const authority = parseWalletAuthAuthority(readWalletRegistrationResponseField(response, "authority", responseName));
777
- if (!authority) throw new Error(`${responseName} response has invalid authority`);
778
- if (authority.walletId !== walletIdResult.value) throw new Error(`${responseName} response authority wallet mismatch`);
779
- if (authMethodKind === "passkey") {
780
- assertWalletRegistrationResponseKeys(response, [
781
- "ok",
782
- "walletId",
783
- "authority",
784
- "rpId",
785
- "authMethod"
786
- ], responseName);
787
- assertWalletRegistrationResponseKeys(authMethod, [
788
- "kind",
789
- "status",
790
- "credentialIdB64u",
791
- "credentialPublicKeyB64u",
792
- "counter",
793
- "device"
794
- ], `${responseName} authMethod`);
795
- if (readWalletRegistrationResponseField(authMethod, "status", responseName) !== "active") throw new Error(`${responseName} response has invalid authMethod status`);
796
- if (authority.factor.kind !== "passkey" || authority.verifier.kind !== "webauthn") throw new Error(`${responseName} response has inconsistent passkey authority`);
797
- const rpId = parseWebAuthnRpId(readWalletRegistrationResponseField(response, "rpId", responseName));
798
- if (!rpId.ok) throw new Error(`${responseName} response has invalid rpId`);
799
- const credentialIdB64u = parseWebAuthnCredentialIdB64u(readWalletRegistrationResponseField(authMethod, "credentialIdB64u", responseName));
800
- if (!credentialIdB64u.ok) throw new Error(`${responseName} response has invalid credentialIdB64u`);
801
- const credentialPublicKeyB64uValue = readWalletRegistrationResponseField(authMethod, "credentialPublicKeyB64u", responseName);
802
- if (typeof credentialPublicKeyB64uValue !== "string" || !credentialPublicKeyB64uValue.trim()) throw new Error(`${responseName} response is missing credentialPublicKeyB64u`);
803
- const counter = readWalletRegistrationResponseField(authMethod, "counter", responseName);
804
- if (typeof counter !== "number" || !Number.isSafeInteger(counter) || counter < 0) throw new Error(`${responseName} response has invalid counter`);
805
- const device = parseWebAuthnAuthenticatorDeviceInfo(readWalletRegistrationResponseField(authMethod, "device", responseName));
806
- if (!device) throw new Error(`${responseName} response has invalid device`);
807
- if (authority.factor.credentialIdB64u !== credentialIdB64u.value || authority.verifier.rpId !== rpId.value) throw new Error(`${responseName} response passkey authority binding mismatch`);
808
- return {
809
- ok: true,
810
- walletId: walletIdResult.value,
811
- authority,
812
- rpId: rpId.value,
813
- authMethod: {
814
- kind: "passkey",
815
- status: "active",
816
- credentialIdB64u: credentialIdB64u.value,
817
- credentialPublicKeyB64u: credentialPublicKeyB64uValue.trim(),
818
- counter,
819
- device
820
- }
821
- };
822
- }
823
- assertWalletRegistrationResponseKeys(response, [
824
- "ok",
825
- "walletId",
826
- "authority",
827
- "authMethod"
828
- ], responseName);
829
- assertWalletRegistrationResponseKeys(authMethod, ["kind", "status"], `${responseName} authMethod`);
830
- if (readWalletRegistrationResponseField(authMethod, "status", responseName) !== "active") throw new Error(`${responseName} response has invalid authMethod status`);
831
- if (authority.factor.kind !== "email_otp" || authority.verifier.kind !== "email_otp_wallet_auth_method") throw new Error(`${responseName} response has inconsistent email OTP authority`);
832
- return {
833
- ok: true,
834
- walletId: walletIdResult.value,
835
- authority,
836
- authMethod: {
837
- kind: "email_otp",
838
- status: "active"
839
- }
840
- };
841
- }
842
- function parseWalletAddAuthMethodStartResponse(args) {
843
- const responseName = "Wallet add-auth-method start";
844
- const record = requireWalletRegistrationResponseObject({
845
- responseName,
846
- field: "body",
847
- value: args.value
848
- });
849
- if (readWalletRegistrationResponseField(record, "ok", responseName) !== true) throw new Error(`${responseName} response is not successful`);
850
- const addAuthMethodCeremonyId = requireResponseString({
851
- responseName,
852
- field: "addAuthMethodCeremonyId",
853
- value: readWalletRegistrationResponseField(record, "addAuthMethodCeremonyId", responseName)
854
- });
855
- const intent = requireExactAddAuthMethodIntent(readWalletRegistrationResponseField(record, "intent", responseName), args.expectedIntent);
856
- if (args.expectedIntent.authMethod.kind === "email_otp") {
857
- assertWalletRegistrationResponseKeys(record, [
858
- "ok",
859
- "addAuthMethodCeremonyId",
860
- "intent",
861
- "custodyEnvelope",
862
- "addAuthMethodCeremonyExpiresAtMs"
863
- ], responseName);
864
- return {
865
- ok: true,
866
- addAuthMethodCeremonyId,
867
- intent,
868
- custodyEnvelope: parsePasskeyCustodyEnvelopeRecord(readWalletRegistrationResponseField(record, "custodyEnvelope", responseName)),
869
- addAuthMethodCeremonyExpiresAtMs: requireResponseSafeInteger({
870
- responseName,
871
- field: "addAuthMethodCeremonyExpiresAtMs",
872
- value: readWalletRegistrationResponseField(record, "addAuthMethodCeremonyExpiresAtMs", responseName),
873
- minimum: 1
874
- })
875
- };
876
- }
877
- assertWalletRegistrationResponseKeys(record, [
878
- "ok",
879
- "addAuthMethodCeremonyId",
880
- "intent",
881
- "custodyEnvelope",
882
- "registration",
883
- "addAuthMethodCeremonyExpiresAtMs"
884
- ], responseName);
885
- return {
886
- ok: true,
887
- addAuthMethodCeremonyId,
888
- intent,
889
- custodyEnvelope: parsePasskeyCustodyEnvelopeRecord(readWalletRegistrationResponseField(record, "custodyEnvelope", responseName)),
890
- registration: parseWalletAddAuthMethodRegistrationOptions(readWalletRegistrationResponseField(record, "registration", responseName)),
891
- addAuthMethodCeremonyExpiresAtMs: requireResponseSafeInteger({
892
- responseName,
893
- field: "addAuthMethodCeremonyExpiresAtMs",
894
- value: readWalletRegistrationResponseField(record, "addAuthMethodCeremonyExpiresAtMs", responseName),
895
- minimum: 1
896
- })
897
- };
898
- }
899
- function requireExactAddSignerIntent(value, expected) {
900
- try {
901
- if (!sameAddSignerIntentV1(parseAddSignerIntentV1(value), expected)) throw new Error("intent mismatch");
902
- } catch {
903
- throw new Error("Wallet add-signer start response changed the admitted intent");
904
- }
905
- return expected;
906
- }
907
- function requireExactAddAuthMethodIntent(value, expected) {
908
- try {
909
- if (!sameAddAuthMethodIntentV1(parseAddAuthMethodIntentV1(value), expected)) throw new Error("intent mismatch");
910
- } catch {
911
- throw new Error("Wallet add-auth-method start response changed the admitted intent");
912
- }
913
- return expected;
914
- }
915
- function parseWalletAddSignerEcdsaPrepareContext(value, responseName) {
916
- const prepare = requireWalletRegistrationResponseObject({
917
- responseName,
918
- field: "ecdsa.prepare",
919
- value
920
- });
921
- assertWalletRegistrationResponseKeys(prepare, WALLET_REGISTRATION_ECDSA_PREPARE_FIELDS, responseName);
922
- if (readWalletRegistrationResponseField(prepare, "formatVersion", responseName) !== "ecdsa-derivation-role-local" || readWalletRegistrationResponseField(prepare, "keyScope", responseName) !== "evm-family") throw new Error(`${responseName} response has invalid prepare discriminator`);
923
- const runtimePolicyScope = normalizeThresholdRuntimePolicyScope(readWalletRegistrationResponseField(prepare, "runtimePolicyScope", responseName));
924
- if (!runtimePolicyScope) throw new Error(`${responseName} response has invalid runtimePolicyScope`);
925
- return {
926
- formatVersion: "ecdsa-derivation-role-local",
927
- walletId: requireResponseString({
928
- responseName,
929
- field: "prepare.walletId",
930
- value: readWalletRegistrationResponseField(prepare, "walletId", responseName)
931
- }),
932
- evmFamilySigningKeySlotId: requireResponseString({
933
- responseName,
934
- field: "prepare.evmFamilySigningKeySlotId",
935
- value: readWalletRegistrationResponseField(prepare, "evmFamilySigningKeySlotId", responseName)
936
- }),
937
- ecdsaThresholdKeyId: requireResponseString({
938
- responseName,
939
- field: "prepare.ecdsaThresholdKeyId",
940
- value: readWalletRegistrationResponseField(prepare, "ecdsaThresholdKeyId", responseName)
941
- }),
942
- signingRootId: requireResponseString({
943
- responseName,
944
- field: "prepare.signingRootId",
945
- value: readWalletRegistrationResponseField(prepare, "signingRootId", responseName)
946
- }),
947
- signingRootVersion: requireResponseString({
948
- responseName,
949
- field: "prepare.signingRootVersion",
950
- value: readWalletRegistrationResponseField(prepare, "signingRootVersion", responseName)
951
- }),
952
- keyScope: "evm-family",
953
- relayerKeyId: requireResponseString({
954
- responseName,
955
- field: "prepare.relayerKeyId",
956
- value: readWalletRegistrationResponseField(prepare, "relayerKeyId", responseName)
957
- }),
958
- registrationPreparationId: registrationPreparationIdFromString(requireResponseString({
959
- responseName,
960
- field: "prepare.registrationPreparationId",
961
- value: readWalletRegistrationResponseField(prepare, "registrationPreparationId", responseName)
962
- })),
963
- requestId: requireResponseString({
964
- responseName,
965
- field: "prepare.requestId",
966
- value: readWalletRegistrationResponseField(prepare, "requestId", responseName)
967
- }),
968
- thresholdSessionId: requireResponseString({
969
- responseName,
970
- field: "prepare.thresholdSessionId",
971
- value: readWalletRegistrationResponseField(prepare, "thresholdSessionId", responseName)
972
- }),
973
- ttlMs: requireResponseSafeInteger({
974
- responseName,
975
- field: "prepare.ttlMs",
976
- value: readWalletRegistrationResponseField(prepare, "ttlMs", responseName),
977
- minimum: 1
978
- }),
979
- remainingUses: requireResponseSafeInteger({
980
- responseName,
981
- field: "prepare.remainingUses",
982
- value: readWalletRegistrationResponseField(prepare, "remainingUses", responseName),
983
- minimum: 0
984
- }),
985
- participantIds: [...requireResponseParticipantPair(readWalletRegistrationResponseField(prepare, "participantIds", responseName), responseName)],
986
- runtimePolicyScope
987
- };
988
- }
989
- function assertWalletRegistrationSetupEcdsaPrepareContext(value, responseName) {
990
- const prepare = requireWalletRegistrationResponseObject({
991
- responseName,
992
- field: "ecdsa.prepare",
993
- value
994
- });
995
- assertWalletRegistrationResponseKeys(prepare, WALLET_REGISTRATION_ECDSA_PREPARE_FIELDS, responseName);
996
- if (readWalletRegistrationResponseField(prepare, "formatVersion", responseName) !== "ecdsa-derivation-role-local" || readWalletRegistrationResponseField(prepare, "keyScope", responseName) !== "evm-family") throw new Error(`${responseName} response has invalid prepare discriminator`);
997
- for (const field of [
998
- "walletId",
999
- "evmFamilySigningKeySlotId",
1000
- "ecdsaThresholdKeyId",
1001
- "signingRootId",
1002
- "signingRootVersion",
1003
- "relayerKeyId",
1004
- "registrationPreparationId",
1005
- "requestId",
1006
- "thresholdSessionId"
1007
- ]) readWalletRegistrationSetupString(prepare, field, responseName);
1008
- readWalletRegistrationSetupSafeInteger(prepare, "ttlMs", responseName, 1);
1009
- readWalletRegistrationSetupSafeInteger(prepare, "remainingUses", responseName, 0);
1010
- parseWalletRegistrationSetupParticipantPair(readWalletRegistrationResponseField(prepare, "participantIds", responseName), `${responseName}.participantIds`);
1011
- parseWalletRegistrationSetupPrepareRuntimePolicyScope(readWalletRegistrationResponseField(prepare, "runtimePolicyScope", responseName), responseName);
1012
- }
1013
- function parseWalletRegistrationEcdsaPrepare(value) {
1014
- const responseName = "Wallet registration setup ECDSA";
1015
- const ecdsa = requireWalletRegistrationResponseObject({
1016
- responseName,
1017
- field: "ecdsa",
1018
- value
1019
- });
1020
- assertWalletRegistrationResponseKeys(ecdsa, [
1021
- "kind",
1022
- "chainTargets",
1023
- "prepare",
1024
- "strictRegistration"
1025
- ], responseName);
1026
- if (readWalletRegistrationResponseField(ecdsa, "kind", responseName) !== "evm_family_ecdsa_keygen") throw new Error(`${responseName} response has an invalid kind`);
1027
- const rawChainTargets = readWalletRegistrationResponseField(ecdsa, "chainTargets", responseName);
1028
- if (!Array.isArray(rawChainTargets) || rawChainTargets.length === 0) throw new Error(`${responseName} response has invalid chainTargets`);
1029
- const chainTargets = [];
1030
- for (const rawChainTarget of rawChainTargets) {
1031
- const chainTarget = parseWalletRegistrationSetupEcdsaChainTarget(rawChainTarget, `${responseName}.chainTargets`);
1032
- if (chainTargets.some((existing) => sameWalletRegistrationSetupChainTarget(existing, chainTarget))) throw new Error(`${responseName} response has duplicate chainTargets`);
1033
- chainTargets.push(chainTarget);
1034
- }
1035
- const [firstTarget, ...remainingTargets] = chainTargets;
1036
- if (!firstTarget) throw new Error(`${responseName} response has invalid chainTargets`);
1037
- const rawPrepare = readWalletRegistrationResponseField(ecdsa, "prepare", responseName);
1038
- assertWalletRegistrationSetupEcdsaPrepareContext(rawPrepare, responseName);
1039
- const prepare = parseWalletAddSignerEcdsaPrepareContext(rawPrepare, responseName);
1040
- const strictRegistration = parseRouterAbEcdsaRegistrationRequestFactsV1(readWalletRegistrationResponseField(ecdsa, "strictRegistration", responseName));
1041
- if (strictRegistration.registration_purpose !== "wallet_registration") throw new Error(`${responseName} response has an invalid registration purpose`);
1042
- return {
1043
- kind: "evm_family_ecdsa_keygen",
1044
- chainTargets: [firstTarget, ...remainingTargets],
1045
- prepare,
1046
- strictRegistration
1047
- };
1048
- }
1049
- function walletRegistrationSetupKindFromIntent(intent) {
1050
- let hasNearEd25519 = false;
1051
- let hasEvmFamilyEcdsa = false;
1052
- for (const signer of intent.signerSelection.signers) switch (signer.kind) {
1053
- case "near_ed25519":
1054
- hasNearEd25519 = true;
1055
- break;
1056
- case "evm_family_ecdsa":
1057
- hasEvmFamilyEcdsa = true;
1058
- break;
1059
- default: return assertNeverWalletRegistrationSetupSigner(signer);
1060
- }
1061
- if (hasNearEd25519 && hasEvmFamilyEcdsa) return "near_ed25519_and_evm_family_ecdsa";
1062
- if (hasEvmFamilyEcdsa) return "evm_family_ecdsa";
1063
- if (hasNearEd25519) return "near_ed25519";
1064
- throw new Error("Wallet registration setup intent has no signer branch");
1065
- }
1066
- function assertNeverWalletRegistrationSetupSigner(value) {
1067
- throw new Error(`Unsupported wallet registration setup signer: ${String(value)}`);
1068
- }
1069
- function sameWalletRegistrationSetupParticipantIds(left, right) {
1070
- if (left.length !== right.length) return false;
1071
- for (let index = 0; index < left.length; index += 1) if (left[index] !== right[index]) return false;
1072
- return true;
1073
- }
1074
- function sameWalletRegistrationSetupRuntimePolicyScope(left, right) {
1075
- return left !== void 0 && left.orgId === right.orgId && left.projectId === right.projectId && left.envId === right.envId && left.signingRootVersion === right.signingRootVersion;
1076
- }
1077
- function sameWalletRegistrationSetupChainTargetValue(left, right) {
1078
- try {
1079
- return sameWalletRegistrationSetupChainTarget(parseWalletRegistrationSetupEcdsaChainTarget(left, "Wallet registration setup intent"), right);
1080
- } catch {
1081
- return false;
1082
- }
1083
- }
1084
- function assertWalletRegistrationSetupEcdsaBindings(args) {
1085
- const ecdsaSigner = args.intent.signerSelection.signers.find((signer) => signer.kind === "evm_family_ecdsa");
1086
- if (!ecdsaSigner) throw new Error(`${args.responseName} response has no ECDSA intent branch`);
1087
- 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`);
1088
- if (!sameWalletRegistrationSetupParticipantIds(ecdsaSigner.participantIds, args.ecdsa.prepare.participantIds)) throw new Error(`${args.responseName} response ECDSA participantIds do not match intent`);
1089
- if (args.ecdsa.prepare.walletId !== String(args.walletId)) throw new Error(`${args.responseName} response ECDSA prepare walletId does not match response`);
1090
- if (!sameWalletRegistrationSetupRuntimePolicyScope(args.intent.runtimePolicyScope, args.ecdsa.prepare.runtimePolicyScope)) throw new Error(`${args.responseName} response ECDSA runtimePolicyScope does not match intent`);
1091
- const strictLifecycle = args.ecdsa.strictRegistration.lifecycle;
1092
- 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`);
1093
- }
1094
- function parseWalletRegistrationSetupResponseV2(value) {
1095
- const responseName = "Wallet registration setup";
1096
- const response = requireWalletRegistrationResponseObject({
1097
- responseName,
1098
- field: "body",
1099
- value
1100
- });
1101
- if (readWalletRegistrationResponseField(response, "ok", responseName) !== true) throw new Error(`${responseName} response is not successful`);
1102
- const kind = readWalletRegistrationResponseField(response, "kind", responseName);
1103
- if (kind !== "near_ed25519" && kind !== "evm_family_ecdsa" && kind !== "near_ed25519_and_evm_family_ecdsa") throw new Error(`${responseName} response kind is invalid`);
1104
- const carriesEcdsa = kind !== "near_ed25519";
1105
- assertWalletRegistrationResponseKeys(response, [
1106
- "ok",
1107
- "registrationCeremonyId",
1108
- "walletId",
1109
- "walletAuthMethodId",
1110
- "registrationIntentDigestB64u",
1111
- "intent",
1112
- "signedSetup",
1113
- "kind",
1114
- ...carriesEcdsa ? ["ecdsa"] : []
1115
- ], responseName);
1116
- const registrationCeremonyId = readWalletRegistrationSetupString(response, "registrationCeremonyId", responseName);
1117
- const walletId = parseWalletId(readWalletRegistrationSetupString(response, "walletId", responseName));
1118
- if (!walletId.ok) throw new Error(`${responseName} response has an invalid walletId`);
1119
- const walletAuthMethodId = parseWalletAuthMethodId(readWalletRegistrationSetupString(response, "walletAuthMethodId", responseName));
1120
- if (!walletAuthMethodId.ok) throw new Error(`${responseName} response has an invalid walletAuthMethodId`);
1121
- const intent = parseWalletRegistrationSetupIntent(readWalletRegistrationResponseField(response, "intent", responseName));
1122
- if (intent.walletId !== walletId.value) throw new Error(`${responseName} response walletId does not match intent`);
1123
- if (intent.foundingWalletAuthMethodId !== walletAuthMethodId.value) throw new Error(`${responseName} response walletAuthMethodId does not match intent`);
1124
- let registrationIntentDigestB64u;
1125
- try {
1126
- registrationIntentDigestB64u = parseDigestB64u(readWalletRegistrationResponseField(response, "registrationIntentDigestB64u", responseName));
1127
- } catch {
1128
- throw new Error(`${responseName} response has an invalid registrationIntentDigestB64u`);
1129
- }
1130
- const signedSetup = readWalletRegistrationResponseField(response, "signedSetup", responseName);
1131
- if (typeof signedSetup !== "string" || !signedSetup.trim()) throw new Error(`${responseName} response missing signedSetup`);
1132
- if (!carriesEcdsa) {
1133
- if (walletRegistrationSetupKindFromIntent(intent) !== kind) throw new Error(`${responseName} response kind does not match intent`);
1134
- return {
1135
- ok: true,
1136
- registrationCeremonyId,
1137
- walletId: walletId.value,
1138
- walletAuthMethodId: walletAuthMethodId.value,
1139
- registrationIntentDigestB64u,
1140
- intent,
1141
- signedSetup,
1142
- kind: "near_ed25519"
1143
- };
1144
- }
1145
- const ecdsa = parseWalletRegistrationEcdsaPrepare(readWalletRegistrationResponseField(response, "ecdsa", responseName));
1146
- if (walletRegistrationSetupKindFromIntent(intent) !== kind) throw new Error(`${responseName} response kind does not match intent`);
1147
- assertWalletRegistrationSetupEcdsaBindings({
1148
- responseName,
1149
- registrationCeremonyId,
1150
- walletId: walletId.value,
1151
- intent,
1152
- ecdsa
1153
- });
1154
- return {
1155
- ok: true,
1156
- registrationCeremonyId,
1157
- walletId: walletId.value,
1158
- walletAuthMethodId: walletAuthMethodId.value,
1159
- registrationIntentDigestB64u,
1160
- intent,
1161
- signedSetup,
1162
- kind,
1163
- ecdsa
1164
- };
1165
- }
1166
- function normalizeWalletRegistrationSetupRequestForBinding(request) {
1167
- const authMethod = normalizeRegistrationAuthMethodInput(request.authMethod);
1168
- if (!authMethod) throw new Error("Wallet registration setup request authMethod is invalid");
1169
- const signerPlan = normalizeRegistrationSignerPlan(request.signerSelection);
1170
- if (!signerPlan.ok) throw new Error(`Wallet registration setup request signerSelection is invalid: ${signerPlan.message}`);
1171
- const signerSelection = registrationSignerSetSelectionFromPlan(signerPlan.value, { normalizeEcdsaChainTarget: normalizeWalletRegistrationSetupEcdsaChainTarget });
1172
- if (!signerSelection.ok) throw new Error(`Wallet registration setup request signerSelection is invalid: ${signerSelection.message}`);
1173
- return {
1174
- wallet: request.wallet ?? { kind: "server_allocated" },
1175
- authMethod,
1176
- signerSelection: signerSelection.value
1177
- };
1178
- }
1179
- function registrationIntentWithExpectedSetupRequest(intent, request) {
1180
- const base = {
1181
- version: "registration_intent_v1",
1182
- walletId: intent.walletId,
1183
- authMethod: request.authMethod,
1184
- signerSelection: request.signerSelection,
1185
- foundingWalletAuthMethodId: intent.foundingWalletAuthMethodId,
1186
- nonceB64u: intent.nonceB64u
1187
- };
1188
- return intent.runtimePolicyScope === void 0 ? base : {
1189
- ...base,
1190
- runtimePolicyScope: intent.runtimePolicyScope
1191
- };
1192
- }
1193
- async function assertWalletRegistrationSetupRequestBindings(args) {
1194
- if (args.requestedWallet?.kind === "provided") {
1195
- if (String(args.requestedWallet.walletId) !== args.response.walletId) throw new Error("Wallet registration setup response walletId does not match request");
1196
- }
1197
- if (await computeRegistrationIntentDigestB64u(args.response.intent) !== args.response.registrationIntentDigestB64u) throw new Error("Wallet registration setup response digest does not match intent");
1198
- if (await computeRegistrationIntentDigestB64u(registrationIntentWithExpectedSetupRequest(args.response.intent, args.request)) !== args.response.registrationIntentDigestB64u) throw new Error("Wallet registration setup response intent does not match request");
1199
- }
1200
- function parseWalletAddSignerEcdsaPrepare(value, expectedIntent) {
1201
- const responseName = "Wallet add-signer ECDSA start";
1202
- const record = requireWalletRegistrationResponseObject({
1203
- responseName,
1204
- field: "ecdsa",
1205
- value
1206
- });
1207
- assertWalletRegistrationResponseKeys(record, [
1208
- "kind",
1209
- "chainTargets",
1210
- "prepare",
1211
- "strictRegistration",
1212
- "custodyEnvelope"
1213
- ], responseName);
1214
- const kind = readWalletRegistrationResponseField(record, "kind", responseName);
1215
- const responseChainTargets = readWalletRegistrationResponseField(record, "chainTargets", responseName);
1216
- if (kind !== "evm_family_ecdsa_keygen" || !Array.isArray(responseChainTargets)) throw new Error(`${responseName} response has invalid payload`);
1217
- if (expectedIntent.signerSelection.mode !== "ecdsa") throw new Error(`${responseName} response substituted signer branch`);
1218
- const expectedTargets = expectedIntent.signerSelection.ecdsa.chainTargets;
1219
- if (responseChainTargets.length !== expectedTargets.length) throw new Error(`${responseName} response changed target count`);
1220
- const chainTargets = [];
1221
- for (let index = 0; index < responseChainTargets.length; index += 1) {
1222
- const target = responseChainTargets[index];
1223
- const actual = parseWalletAddSignerChainTarget(target, responseName);
1224
- const expectedValue = expectedTargets[index];
1225
- if (!expectedValue) throw new Error(`${responseName} response changed chainTarget`);
1226
- if (!thresholdEcdsaChainTargetsEqual(actual, parseWalletAddSignerChainTarget(expectedValue, responseName))) throw new Error(`${responseName} response changed chainTarget`);
1227
- chainTargets.push(actual);
1228
- }
1229
- const [firstTarget, ...remainingTargets] = chainTargets;
1230
- if (!firstTarget) throw new Error(`${responseName} response requires an EVM-family target`);
1231
- const prepare = parseWalletAddSignerEcdsaPrepareContext(readWalletRegistrationResponseField(record, "prepare", responseName), responseName);
1232
- const strictRegistration = parseRouterAbEcdsaRegistrationRequestFactsV1(readWalletRegistrationResponseField(record, "strictRegistration", responseName));
1233
- if (strictRegistration.registration_purpose !== "wallet_add_signer") throw new Error(`${responseName} response has invalid registration purpose`);
1234
- return {
1235
- kind: "evm_family_ecdsa_keygen",
1236
- chainTargets: [firstTarget, ...remainingTargets],
1237
- prepare,
1238
- strictRegistration
1239
- };
1240
- }
1241
- function parseWalletAddSignerStartResponse(args) {
1242
- const responseName = "Wallet add-signer start";
1243
- const record = requireWalletRegistrationResponseObject({
1244
- responseName,
1245
- field: "body",
1246
- value: args.value
1247
- });
1248
- assertWalletRegistrationResponseKeys(record, [
1249
- "ok",
1250
- "addSignerCeremonyId",
1251
- "intent",
1252
- "authorizationKind",
1253
- "kind",
1254
- "ed25519",
1255
- "ecdsa"
1256
- ], responseName);
1257
- if (readWalletRegistrationResponseField(record, "ok", responseName) !== true) throw new Error(`${responseName} response is not successful`);
1258
- const addSignerCeremonyId = requireResponseString({
1259
- responseName,
1260
- field: "addSignerCeremonyId",
1261
- value: readWalletRegistrationResponseField(record, "addSignerCeremonyId", responseName)
1262
- });
1263
- const intent = requireExactAddSignerIntent(readWalletRegistrationResponseField(record, "intent", responseName), args.expectedIntent);
1264
- const authorizationKind = readWalletRegistrationResponseField(record, "authorizationKind", responseName);
1265
- if (authorizationKind !== "webauthn_assertion") throw new Error(`${responseName} response has invalid authorization kind`);
1266
- switch (readWalletRegistrationResponseField(record, "kind", responseName)) {
1267
- case "near_ed25519": {
1268
- if (authorizationKind !== "webauthn_assertion" || intent.signerSelection.mode !== "ed25519" || readOptionalWalletRegistrationResponseField(record, "ecdsa", responseName) !== void 0) throw new Error(`${responseName} response substituted signer branch`);
1269
- const ed25519 = requireWalletRegistrationResponseObject({
1270
- responseName,
1271
- field: "ed25519",
1272
- value: readWalletRegistrationResponseField(record, "ed25519", responseName)
1273
- });
1274
- assertWalletRegistrationResponseKeys(ed25519, ["admissionRequest", "custodyEnvelope"], responseName);
1275
- const admission = parseRouterAbEd25519YaoRegistrationAdmissionRequestV1(readWalletRegistrationResponseField(ed25519, "admissionRequest", responseName));
1276
- if (!admission.ok) throw new Error(admission.message);
1277
- return {
1278
- ok: true,
1279
- addSignerCeremonyId,
1280
- intent,
1281
- authorizationKind: "webauthn_assertion",
1282
- kind: "near_ed25519",
1283
- ed25519: {
1284
- admissionRequest: admission.value,
1285
- custodyEnvelope: parsePasskeyCustodyEnvelopeRecord(readWalletRegistrationResponseField(ed25519, "custodyEnvelope", responseName))
1286
- }
1287
- };
1288
- }
1289
- case "evm_family_ecdsa": {
1290
- if (intent.signerSelection.mode !== "ecdsa" || readOptionalWalletRegistrationResponseField(record, "ed25519", responseName) !== void 0) throw new Error(`${responseName} response substituted signer branch`);
1291
- const rawEcdsa = readWalletRegistrationResponseField(record, "ecdsa", responseName);
1292
- const ecdsa = parseWalletAddSignerEcdsaPrepare(rawEcdsa, intent);
1293
- const ecdsaRecord = requireWalletRegistrationResponseObject({
1294
- responseName,
1295
- field: "ecdsa",
1296
- value: rawEcdsa
1297
- });
1298
- return {
1299
- ok: true,
1300
- addSignerCeremonyId,
1301
- intent,
1302
- authorizationKind: "webauthn_assertion",
1303
- kind: "evm_family_ecdsa",
1304
- ecdsa: {
1305
- ...ecdsa,
1306
- custodyEnvelope: parsePasskeyCustodyEnvelopeRecord(readWalletRegistrationResponseField(ecdsaRecord, "custodyEnvelope", responseName))
1307
- }
1308
- };
1309
- }
1310
- default: throw new Error(`${responseName} response has invalid kind`);
1311
- }
1312
- }
1313
- function parseWalletAddSignerFinalizeResponse(args) {
1314
- const responseName = "Wallet add-signer finalize";
1315
- const record = requireWalletRegistrationResponseObject({
1316
- responseName,
1317
- field: "body",
1318
- value: args.value
1319
- });
1320
- assertWalletRegistrationResponseKeys(record, [
1321
- "ok",
1322
- "walletId",
1323
- "kind",
1324
- "rpId",
1325
- "credentialIdB64u",
1326
- "ed25519",
1327
- "ecdsa",
1328
- "authority"
1329
- ], responseName);
1330
- const ok = readWalletRegistrationResponseField(record, "ok", responseName);
1331
- const kind = readWalletRegistrationResponseField(record, "kind", responseName);
1332
- if (ok !== true || kind !== args.expectedKind) throw new Error(`${responseName} response substituted signer branch`);
1333
- const walletId = walletIdFromString(requireResponseString({
1334
- responseName,
1335
- field: "walletId",
1336
- value: readWalletRegistrationResponseField(record, "walletId", responseName)
1337
- }));
1338
- const rpId = requireResponseRpId(readWalletRegistrationResponseField(record, "rpId", responseName), responseName);
1339
- switch (kind) {
1340
- case "near_ed25519": {
1341
- if (readOptionalWalletRegistrationResponseField(record, "ecdsa", responseName) !== void 0 || readOptionalWalletRegistrationResponseField(record, "authority", responseName) !== void 0) throw new Error(`${responseName} response mixed signer branches`);
1342
- const ed25519 = parseWalletEd25519YaoSignerPublicResult(readWalletRegistrationResponseField(record, "ed25519", responseName), "Wallet add-signer Ed25519 finalize");
1343
- return {
1344
- ok: true,
1345
- walletId,
1346
- kind: "near_ed25519",
1347
- rpId,
1348
- credentialIdB64u: requireResponseString({
1349
- responseName,
1350
- field: "credentialIdB64u",
1351
- value: readWalletRegistrationResponseField(record, "credentialIdB64u", responseName)
1352
- }),
1353
- ed25519
1354
- };
1355
- }
1356
- case "evm_family_ecdsa": {
1357
- if (readOptionalWalletRegistrationResponseField(record, "ed25519", responseName) !== void 0 || readOptionalWalletRegistrationResponseField(record, "credentialIdB64u", responseName) !== void 0) throw new Error(`${responseName} response mixed signer branches`);
1358
- const ecdsa = requireWalletRegistrationResponseObject({
1359
- responseName,
1360
- field: "ecdsa",
1361
- value: readWalletRegistrationResponseField(record, "ecdsa", responseName)
1362
- });
1363
- assertWalletRegistrationResponseKeys(ecdsa, ["walletKeys"], responseName);
1364
- const walletKeys = requireWalletRegistrationResponseArray(readWalletRegistrationResponseField(ecdsa, "walletKeys", responseName), `${responseName} walletKeys`);
1365
- if (walletKeys.length === 0) throw new Error(`${responseName} response has invalid walletKeys`);
1366
- const authority = parseWalletAuthorityV1(readWalletRegistrationResponseField(record, "authority", responseName));
1367
- if (!authority.ok || authority.value.state !== "active" || authority.value.walletId !== walletId) throw new Error(`${responseName} response has invalid authority`);
1368
- return {
1369
- ok: true,
1370
- walletId,
1371
- kind: "evm_family_ecdsa",
1372
- rpId,
1373
- ecdsa: { walletKeys: walletKeys.map(parseWalletAddSignerEcdsaFinalizeWalletKey) },
1374
- authority: authority.value
1375
- };
1376
- }
1377
- default: throw new Error(`${responseName} response has invalid kind`);
1378
- }
1379
- }
1380
- function parseWalletAddSignerEcdsaFinalizeWalletKey(value) {
1381
- return parseWalletAddSignerEcdsaWalletKey(value, "Wallet add-signer ECDSA finalize");
1382
- }
1383
- function requireMatchingString(args) {
1384
- const expected = String(args.expected || "").trim();
1385
- const actual = String(args.actual || "").trim();
1386
- if (!expected || !actual) throw new Error(`ECDSA registration bootstrap returned incomplete ${args.field}`);
1387
- if (expected !== actual) throw new Error(`ECDSA registration bootstrap ${args.field} mismatch`);
1388
- return actual;
1389
- }
1390
- function requireMatchingParticipantIds(args) {
1391
- const expected = args.expected.map((participantId) => Math.floor(Number(participantId)));
1392
- const actual = args.actual.map((participantId) => Math.floor(Number(participantId)));
1393
- 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");
1394
- if (expected.length !== actual.length || expected.some((id, index) => id !== actual[index])) throw new Error("ECDSA registration bootstrap participantIds mismatch");
1395
- return actual;
1396
- }
1397
- function parseWalletRegistrationEcdsaDerivationRespond(args) {
1398
- const clientBootstrap = args.clientBootstrap;
1399
- const serverBootstrap = args.serverBootstrap;
1400
- requireMatchingString({
1401
- field: "derivationClientSharePublicKey33B64u",
1402
- expected: clientBootstrap.derivationClientSharePublicKey33B64u,
1403
- actual: serverBootstrap.publicIdentity.derivationClientSharePublicKey33B64u
1404
- });
1405
- const contextBinding32B64u = requireMatchingString({
1406
- field: "contextBinding32B64u",
1407
- expected: clientBootstrap.contextBinding32B64u,
1408
- actual: serverBootstrap.contextBinding32B64u
1409
- });
1410
- const walletId = requireMatchingString({
1411
- field: "walletId",
1412
- expected: clientBootstrap.walletId,
1413
- actual: serverBootstrap.walletId
1414
- });
1415
- const evmFamilySigningKeySlotId = requireMatchingString({
1416
- field: "evmFamilySigningKeySlotId",
1417
- expected: clientBootstrap.evmFamilySigningKeySlotId,
1418
- actual: serverBootstrap.evmFamilySigningKeySlotId
1419
- });
1420
- requireMatchingString({
1421
- field: "activationEpoch",
1422
- expected: args.activationEpoch,
1423
- actual: serverBootstrap.activationEpoch
1424
- });
1425
- const participantIds = requireMatchingParticipantIds({
1426
- expected: clientBootstrap.participantIds,
1427
- actual: serverBootstrap.participantIds
1428
- });
1429
- const routerAbEcdsaDerivationNormalSigning = requireRouterAbEcdsaDerivationNormalSigningStateV1(serverBootstrap.routerAbEcdsaDerivationNormalSigning);
1430
- const ecdsaThresholdKeyId = String(serverBootstrap.ecdsaThresholdKeyId || "").trim();
1431
- const keyHandle = String(serverBootstrap.keyHandle || "").trim();
1432
- const signingRootId = String(serverBootstrap.signingRootId || "").trim();
1433
- const signingRootVersion = String(serverBootstrap.signingRootVersion || "").trim();
1434
- const applicationBindingDigestB64u = String(serverBootstrap.applicationBindingDigestB64u || "").trim();
1435
- const thresholdEcdsaPublicKeyB64u = String(serverBootstrap.thresholdEcdsaPublicKeyB64u || "").trim();
1436
- const ethereumAddress = String(serverBootstrap.ethereumAddress || "").trim();
1437
- const relayerKeyId = String(serverBootstrap.relayerKeyId || "").trim();
1438
- const relayerVerifyingShareB64u = String(serverBootstrap.relayerVerifyingShareB64u || "").trim();
1439
- const relayerShareRetryCounter = Math.floor(Number(serverBootstrap.relayerShareRetryCounter));
1440
- 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");
1441
- return {
1442
- walletId,
1443
- evmFamilySigningKeySlotId,
1444
- ecdsaThresholdKeyId,
1445
- relayerKeyId,
1446
- applicationBindingDigestB64u,
1447
- contextBinding32B64u,
1448
- publicIdentity: serverBootstrap.publicIdentity,
1449
- relayerShareRetryCounter,
1450
- keyHandle,
1451
- signingRootId,
1452
- signingRootVersion,
1453
- thresholdEcdsaPublicKeyB64u,
1454
- ethereumAddress,
1455
- relayerVerifyingShareB64u,
1456
- participantIds,
1457
- routerAbEcdsaDerivationNormalSigning
1458
- };
1459
- }
1460
- function parseWalletEcdsaKeyFactsInventoryResponse(args) {
1461
- const responseName = "Wallet ECDSA key-facts inventory";
1462
- const response = requireWalletRegistrationResponseObject({
1463
- responseName,
1464
- field: "body",
1465
- value: args.value
1466
- });
1467
- assertWalletRegistrationResponseKeys(response, [
1468
- "ok",
1469
- "ecdsaKeyIdentityTargets",
1470
- "diagnostics"
1471
- ], responseName);
1472
- if (readWalletRegistrationResponseField(response, "ok", responseName) !== true) throw new Error(`${responseName} response is not successful`);
1473
- const records = requireWalletRegistrationResponseArray(readWalletRegistrationResponseField(response, "ecdsaKeyIdentityTargets", responseName), `${responseName} ecdsaKeyIdentityTargets`);
1474
- return {
1475
- ok: true,
1476
- records: parseThresholdEcdsaKeyIdentityTargets({
1477
- walletId: args.walletId,
1478
- rpId: args.rpId,
1479
- records
1480
- }),
1481
- diagnostics: readWalletRegistrationResponseField(response, "diagnostics", responseName)
1482
- };
1483
- }
1484
- async function setupWalletRegistration(args) {
1485
- const publishableKey = String(args.auth?.publishableKey || "").trim();
1486
- const environmentId = String(args.auth?.environmentId || "").trim();
1487
- if (!publishableKey || !environmentId) return {
1488
- ok: false,
1489
- code: "invalid_body",
1490
- message: "registration setup requires a publishable key and environment id"
1491
- };
1492
- const request = normalizeWalletRegistrationSetupRequestForBinding(args.request);
1493
- const scopeDigest = await registrationSetupScopeDigest({
1494
- relayerUrl: args.relayerUrl,
1495
- publishableKey,
1496
- environmentId
1497
- });
1498
- const attempt = await registrationSetupRepository.begin(scopeDigest, request);
1499
- const parsed = parseWalletRegistrationSetupResponseV2(await postJson({
1500
- relayerUrl: args.relayerUrl,
1501
- path: WALLET_REGISTRATION_SETUP_PATH,
1502
- headers: {
1503
- ...args.headers,
1504
- Authorization: `Bearer ${publishableKey}`,
1505
- [ROUTER_API_ENVIRONMENT_ID_HEADER]: environmentId
1506
- },
1507
- body: {
1508
- registrationOperationId: attempt.operationId,
1509
- wallet: request.wallet,
1510
- signerSelection: request.signerSelection,
1511
- authMethod: request.authMethod
1512
- },
1513
- ...args.onServerTiming ? { onServerTiming: args.onServerTiming } : {}
1514
- }));
1515
- if (!parsed.ok) return parsed;
1516
- await assertWalletRegistrationSetupRequestBindings({
1517
- response: parsed,
1518
- ...args.request.wallet ? { requestedWallet: args.request.wallet } : {},
1519
- request
1520
- });
1521
- await registrationSetupRepository.accept(attempt, parsed);
1522
- return parsed;
1523
- }
1524
- async function createWalletAddSignerIntent(args) {
1525
- const walletId = String(args.walletId || "").trim();
1526
- if (!walletId) throw new Error("walletId is required for add-signer intent");
1527
- const publishableKey = String(args.auth.publishableKey || "").trim();
1528
- const environmentId = String(args.auth.environmentId || "").trim();
1529
- if (!publishableKey || !environmentId) throw new Error("add-signer intent requires a publishable key and environment id");
1530
- return parseCreateAddSignerIntentResponse(await postJson({
1531
- relayerUrl: args.relayerUrl,
1532
- path: `/wallets/${encodeURIComponent(walletId)}/signers/intent`,
1533
- headers: {
1534
- Authorization: `Bearer ${publishableKey}`,
1535
- [ROUTER_API_ENVIRONMENT_ID_HEADER]: environmentId
1536
- },
1537
- body: args.request
1538
- }));
1539
- }
1540
- function parseRevokeWalletAuthMethodResponse(value) {
1541
- const responseName = "Wallet auth-method revoke";
1542
- const response = requireWalletRegistrationResponseObject({
1543
- responseName,
1544
- field: "body",
1545
- value
1546
- });
1547
- if (readWalletRegistrationResponseField(response, "ok", responseName) !== true) throw new Error(`${responseName} response is not successful`);
1548
- const walletIdResult = parseWalletId(readWalletRegistrationResponseField(response, "walletId", responseName));
1549
- if (!walletIdResult.ok) throw new Error(`${responseName} response has invalid walletId`);
1550
- const authMethod = requireWalletRegistrationResponseObject({
1551
- responseName,
1552
- field: "authMethod",
1553
- value: readWalletRegistrationResponseField(response, "authMethod", responseName)
1554
- });
1555
- assertWalletRegistrationResponseKeys(authMethod, ["kind", "status"], `${responseName} response authMethod`);
1556
- if (readWalletRegistrationResponseField(authMethod, "status", responseName) !== "revoked") throw new Error(`${responseName} response has invalid authMethod status`);
1557
- switch (readWalletRegistrationResponseField(authMethod, "kind", responseName)) {
1558
- case "passkey":
1559
- assertWalletRegistrationResponseKeys(response, [
1560
- "ok",
1561
- "walletId",
1562
- "authMethod",
1563
- "rpId"
1564
- ], responseName);
1565
- return {
1566
- ok: true,
1567
- walletId: walletIdResult.value,
1568
- authMethod: {
1569
- kind: "passkey",
1570
- status: "revoked"
1571
- },
1572
- rpId: requireResponseRpId(readWalletRegistrationResponseField(response, "rpId", responseName), responseName)
1573
- };
1574
- case "email_otp":
1575
- assertWalletRegistrationResponseKeys(response, [
1576
- "ok",
1577
- "walletId",
1578
- "authMethod"
1579
- ], responseName);
1580
- return {
1581
- ok: true,
1582
- walletId: walletIdResult.value,
1583
- authMethod: {
1584
- kind: "email_otp",
1585
- status: "revoked"
1586
- }
1587
- };
1588
- default: throw new Error(`${responseName} response has invalid authMethod kind`);
1589
- }
1590
- }
1591
- /**
1592
- * Revoke one auth method using a proof from a different active one.
1593
- *
1594
- * The route is the wallet's own auth-method management, not device linking:
1595
- * a sibling on the same device is not a device, and the linked-device
1596
- * management path authenticates an owner *request* rather than a factor proof
1597
- * bound to this exact revocation.
1598
- */
1599
- async function revokeWalletAuthMethod(args) {
1600
- const walletId = String(args.walletId || "").trim();
1601
- const walletAuthMethodId = String(args.walletAuthMethodId || "").trim();
1602
- if (!walletId || !walletAuthMethodId) throw new Error("auth-method revoke requires a wallet and a target method");
1603
- const request = {
1604
- relayerUrl: args.relayerUrl,
1605
- path: `/wallets/${encodeURIComponent(walletId)}/auth-methods/${encodeURIComponent(walletAuthMethodId)}/revoke`,
1606
- body: {
1607
- walletId,
1608
- walletAuthMethodId,
1609
- requestedAtMs: args.requestedAtMs,
1610
- sourceProof: args.sourceProof
1611
- }
1612
- };
1613
- let response;
1614
- try {
1615
- response = await postJson(request);
1616
- } catch (error) {
1617
- if (!(error instanceof TypeError)) throw error;
1618
- response = await postJson(request);
1619
- }
1620
- return parseRevokeWalletAuthMethodResponse(response);
1621
- }
1622
- async function createWalletAddAuthMethodIntent(args) {
1623
- const walletId = String(args.walletId || "").trim();
1624
- if (!walletId) throw new Error("walletId is required for add-auth-method intent");
1625
- const publishableKey = String(args.auth.publishableKey || "").trim();
1626
- const environmentId = String(args.auth.environmentId || "").trim();
1627
- if (!publishableKey || !environmentId) throw new Error("add-auth-method intent requires a publishable key and environment id");
1628
- const callerBody = args.request.caller.caller === "same_device_addition" ? {
1629
- caller: "same_device_addition",
1630
- source: args.request.caller.source
1631
- } : { caller: "linked_device_ceremony" };
1632
- return parseCreateAddAuthMethodIntentResponse(await postJson({
1633
- relayerUrl: args.relayerUrl,
1634
- path: `/wallets/${encodeURIComponent(walletId)}/auth-methods/intent`,
1635
- headers: {
1636
- Authorization: `Bearer ${publishableKey}`,
1637
- [ROUTER_API_ENVIRONMENT_ID_HEADER]: environmentId
1638
- },
1639
- body: {
1640
- walletId: args.request.walletId,
1641
- rpId: args.request.rpId,
1642
- authMethod: args.request.authMethod,
1643
- ...callerBody
1644
- }
1645
- }));
1646
- }
1647
- /**
1648
- * Strict boundary parser for route 2.
1649
- *
1650
- * `kind` selects which fields are legal, so the allowed-key set is computed
1651
- * from it: a mixed response missing its Ed25519 arm, or an ECDSA-only response
1652
- * carrying one, is rejected rather than silently narrowed. That is the point
1653
- * of the discriminated union — a wallet whose NEAR branch was requested but
1654
- * whose deferred work never arrived must fail loudly here, not register as
1655
- * ECDSA-only.
1656
- */
1657
- function parseWalletRegistrationRespondResponseV2(value) {
1658
- const responseName = "Wallet registration respond";
1659
- const response = requireWalletRegistrationResponseObject({
1660
- responseName,
1661
- field: "body",
1662
- value
1663
- });
1664
- if (readWalletRegistrationResponseField(response, "ok", responseName) !== true) throw new Error(`${responseName} response is not successful`);
1665
- const registrationCeremonyId = requireResponseString({
1666
- responseName,
1667
- field: "registrationCeremonyId",
1668
- value: readWalletRegistrationResponseField(response, "registrationCeremonyId", responseName)
1669
- });
1670
- const kind = readWalletRegistrationResponseField(response, "kind", responseName);
1671
- if (kind !== "evm_family_ecdsa" && kind !== "near_ed25519_and_evm_family_ecdsa" && kind !== "near_ed25519") throw new Error(`${responseName} response kind is invalid`);
1672
- const carriesEcdsa = kind !== "near_ed25519";
1673
- const carriesEd25519 = kind !== "evm_family_ecdsa";
1674
- assertWalletRegistrationResponseKeys(response, [
1675
- "ok",
1676
- "registrationCeremonyId",
1677
- "kind",
1678
- ...carriesEcdsa ? ["ecdsa"] : [],
1679
- ...carriesEd25519 ? ["ed25519"] : []
1680
- ], responseName);
1681
- const ed25519Response = readOptionalWalletRegistrationResponseField(response, "ed25519", responseName);
1682
- if (carriesEd25519 && ed25519Response === void 0) throw new Error(`${responseName} signer plan is missing its ed25519 deferred work`);
1683
- if (!carriesEcdsa) return {
1684
- ok: true,
1685
- registrationCeremonyId,
1686
- kind: "near_ed25519",
1687
- ed25519: parseWalletRegistrationRespondEd25519DeferredWork(ed25519Response)
1688
- };
1689
- const ecdsaRecord = requireWalletRegistrationResponseObject({
1690
- responseName,
1691
- field: "ecdsa",
1692
- value: readWalletRegistrationResponseField(response, "ecdsa", responseName)
1693
- });
1694
- assertWalletRegistrationResponseKeys(ecdsaRecord, ["kind", "strictResult"], `${responseName} ecdsa`);
1695
- if (readWalletRegistrationResponseField(ecdsaRecord, "kind", `${responseName} ecdsa`) !== "router_ab_ecdsa_registration_forwarded_v1") throw new Error(`${responseName} ecdsa kind is invalid`);
1696
- const ed25519 = carriesEd25519 ? parseWalletRegistrationRespondEd25519DeferredWork(ed25519Response) : null;
1697
- const ecdsa = {
1698
- kind: "router_ab_ecdsa_registration_forwarded_v1",
1699
- strictResult: parseRouterAbEcdsaStrictForwardedRegistrationResponseV1(readWalletRegistrationResponseField(ecdsaRecord, "strictResult", `${responseName} ecdsa`))
1700
- };
1701
- return ed25519 ? {
1702
- ok: true,
1703
- registrationCeremonyId,
1704
- kind: "near_ed25519_and_evm_family_ecdsa",
1705
- ecdsa,
1706
- ed25519
1707
- } : {
1708
- ok: true,
1709
- registrationCeremonyId,
1710
- kind: "evm_family_ecdsa",
1711
- ecdsa
1712
- };
1713
- }
1714
- function parseWalletRegistrationRespondEd25519DeferredWork(value) {
1715
- const responseName = "Wallet registration respond ed25519";
1716
- const record = requireWalletRegistrationResponseObject({
1717
- responseName,
1718
- field: "ed25519",
1719
- value
1720
- });
1721
- assertWalletRegistrationResponseKeys(record, ["status", "admissionRequest"], responseName);
1722
- if (readWalletRegistrationResponseField(record, "status", responseName) !== "deferred") throw new Error(`${responseName} status is invalid`);
1723
- const admissionRequest = parseRouterAbEd25519YaoRegistrationAdmissionRequestV1(readWalletRegistrationResponseField(record, "admissionRequest", responseName));
1724
- if (!admissionRequest.ok) throw new Error(`${responseName} admissionRequest is invalid`);
1725
- return {
1726
- status: "deferred",
1727
- admissionRequest: admissionRequest.value
1728
- };
1729
- }
1730
- function walletRegistrationRespondBody(args) {
1731
- const body = {
1732
- registrationCeremonyId: args.registrationCeremonyId,
1733
- signedSetup: args.signedSetup,
1734
- kind: args.signerPlanKind
1735
- };
1736
- switch (args.kind) {
1737
- case "passkey":
1738
- body.webauthn_registration = args.webauthnRegistration;
1739
- break;
1740
- case "email_otp":
1741
- body.emailOtpRegistrationProof = args.emailOtpRegistrationProof;
1742
- break;
1743
- }
1744
- if (args.ecdsa) body.ecdsa = args.ecdsa;
1745
- return body;
1746
- }
1747
- async function respondWalletRegistration(args) {
1748
- return parseWalletRegistrationRespondResponseV2(await postJson({
1749
- relayerUrl: args.relayerUrl,
1750
- path: WALLET_REGISTRATION_RESPOND_PATH,
1751
- headers: args.headers,
1752
- body: walletRegistrationRespondBody(args),
1753
- onServerTiming: args.onServerTiming
1754
- }));
1755
- }
1756
- function parseRegistrationEstablishedSessionResult(value, expectedWalletId) {
1757
- const responseName = "Wallet registration established session";
1758
- const parsed = parseRegistrationEstablishedSessionResultV2(value);
1759
- if (parsed === null || parsed.session.walletId !== expectedWalletId) throw new Error(`${responseName} direct session result is invalid`);
1760
- return parsed;
1761
- }
1762
- function buildWalletRegistrationFinalizeTerminalResponse(record, ecdsa) {
1763
- const responseName = "Wallet registration activate";
1764
- const registrationDiagnostics = readOptionalWalletRegistrationResponseField(record, "registrationDiagnostics", responseName);
1765
- const rpId = readOptionalWalletRegistrationResponseField(record, "rpId", responseName);
1766
- const walletCustody = readOptionalWalletRegistrationResponseField(record, "walletCustody", responseName);
1767
- const custodyKeyManifestDigestB64u = readOptionalWalletRegistrationResponseField(record, "custodyKeyManifestDigestB64u", responseName);
1768
- return {
1769
- ok: readWalletRegistrationResponseField(record, "ok", responseName),
1770
- walletId: readWalletRegistrationResponseField(record, "walletId", responseName),
1771
- authority: readWalletRegistrationResponseField(record, "authority", responseName),
1772
- foundingAuthority: readWalletRegistrationResponseField(record, "foundingAuthority", responseName),
1773
- foundingAuthMethod: readWalletRegistrationResponseField(record, "foundingAuthMethod", responseName),
1774
- ...registrationDiagnostics === void 0 ? {} : { registrationDiagnostics },
1775
- ...rpId === void 0 ? {} : { rpId },
1776
- authMethod: readWalletRegistrationResponseField(record, "authMethod", responseName),
1777
- ...walletCustody === void 0 ? {} : { walletCustody },
1778
- ...custodyKeyManifestDigestB64u === void 0 ? {} : { custodyKeyManifestDigestB64u },
1779
- kind: "evm_family_ecdsa",
1780
- ecdsa: { walletKeys: readWalletRegistrationResponseField(ecdsa, "walletKeys", responseName) }
1781
- };
1782
- }
1783
- function buildWalletRegistrationNearFinalizeTerminalResponse(record) {
1784
- const responseName = "Wallet registration NEAR provisioning";
1785
- const registrationDiagnostics = readOptionalWalletRegistrationResponseField(record, "registrationDiagnostics", responseName);
1786
- const rpId = readOptionalWalletRegistrationResponseField(record, "rpId", responseName);
1787
- const walletCustody = readOptionalWalletRegistrationResponseField(record, "walletCustody", responseName);
1788
- const custodyKeyManifestDigestB64u = readOptionalWalletRegistrationResponseField(record, "custodyKeyManifestDigestB64u", responseName);
1789
- return {
1790
- ok: readWalletRegistrationResponseField(record, "ok", responseName),
1791
- walletId: readWalletRegistrationResponseField(record, "walletId", responseName),
1792
- authority: readWalletRegistrationResponseField(record, "authority", responseName),
1793
- foundingAuthority: readWalletRegistrationResponseField(record, "foundingAuthority", responseName),
1794
- foundingAuthMethod: readWalletRegistrationResponseField(record, "foundingAuthMethod", responseName),
1795
- ...registrationDiagnostics === void 0 ? {} : { registrationDiagnostics },
1796
- ...rpId === void 0 ? {} : { rpId },
1797
- authMethod: readWalletRegistrationResponseField(record, "authMethod", responseName),
1798
- ...walletCustody === void 0 ? {} : { walletCustody },
1799
- ...custodyKeyManifestDigestB64u === void 0 ? {} : { custodyKeyManifestDigestB64u },
1800
- kind: "near_ed25519",
1801
- authorityScope: readWalletRegistrationResponseField(record, "authorityScope", responseName),
1802
- accountProvisioning: readWalletRegistrationResponseField(record, "accountProvisioning", responseName),
1803
- resolvedAccount: readWalletRegistrationResponseField(record, "resolvedAccount", responseName),
1804
- ed25519: readWalletRegistrationResponseField(record, "ed25519", responseName)
1805
- };
1806
- }
1807
- /**
1808
- * Strict boundary parser for route 3.
1809
- *
1810
- * The terminal wallet body is exactly the finalize success this route
1811
- * absorbed, so it is parsed by the existing finalize parser rather than a
1812
- * second copy that could drift from it. Only `nearProvisioning` is new.
1813
- *
1814
- * That field is a status and nothing else: NEAR identifiers before readiness
1815
- * are precisely what the deferred lifecycle exists to prevent, so a payload
1816
- * carrying them here is rejected instead of passed through.
1817
- */
1818
- function parseWalletRegistrationActivateResponseV2(value) {
1819
- const responseName = "Wallet registration activate";
1820
- const record = requireWalletRegistrationResponseObject({
1821
- responseName,
1822
- field: "body",
1823
- value
1824
- });
1825
- const kind = readWalletRegistrationResponseField(record, "kind", responseName);
1826
- const nearProvisioning = readOptionalWalletRegistrationResponseField(record, "nearProvisioning", responseName);
1827
- const rawEstablishedSession = readOptionalWalletRegistrationResponseField(record, "registrationEstablishedSession", responseName);
1828
- if (kind === "near_ed25519") {
1829
- const provisioning = requireWalletRegistrationResponseObject({
1830
- responseName,
1831
- field: "nearProvisioning",
1832
- value: nearProvisioning
1833
- });
1834
- assertWalletRegistrationResponseKeys(provisioning, ["status"], `${responseName} nearProvisioning`);
1835
- if (readWalletRegistrationResponseField(provisioning, "status", `${responseName} nearProvisioning`) !== "near_pending") throw new Error(`${responseName} Ed25519-only wallet must be pending NEAR provisioning`);
1836
- if (rawEstablishedSession !== void 0) throw new Error(`${responseName} pending Ed25519 wallet cannot carry an established session`);
1837
- assertWalletRegistrationResponseKeys(record, [
1838
- "ok",
1839
- "walletId",
1840
- "authority",
1841
- "registrationDiagnostics",
1842
- "rpId",
1843
- "authMethod",
1844
- "walletCustody",
1845
- "kind",
1846
- "nearProvisioning"
1847
- ], responseName);
1848
- if (readWalletRegistrationResponseField(record, "ok", responseName) !== true) throw new Error(`${responseName} did not return a pending Ed25519 wallet`);
1849
- const walletId = walletIdFromString(requireResponseString({
1850
- responseName,
1851
- field: "walletId",
1852
- value: readWalletRegistrationResponseField(record, "walletId", responseName)
1853
- }));
1854
- const authority = parseWalletRegistrationFinalizeAuthority(readWalletRegistrationResponseField(record, "authority", responseName));
1855
- const authorityBranch = parseWalletRegistrationFinalizeAuthorityBranch({
1856
- response: {
1857
- authMethod: readWalletRegistrationResponseField(record, "authMethod", responseName),
1858
- rpId: readOptionalWalletRegistrationResponseField(record, "rpId", responseName)
1859
- },
1860
- walletId,
1861
- authority
1862
- });
1863
- const registrationDiagnosticsValue = readOptionalWalletRegistrationResponseField(record, "registrationDiagnostics", responseName);
1864
- const registrationDiagnostics = registrationDiagnosticsValue === void 0 ? void 0 : parseWalletRegistrationFinalizeDiagnostics(registrationDiagnosticsValue);
1865
- if (authorityBranch.kind === "passkey") return {
1866
- ok: true,
1867
- kind: "near_ed25519",
1868
- walletId,
1869
- authority,
1870
- ...registrationDiagnostics ? { registrationDiagnostics } : {},
1871
- rpId: authorityBranch.rpId,
1872
- authMethod: authorityBranch.authMethod,
1873
- nearProvisioning: { status: "near_pending" }
1874
- };
1875
- return {
1876
- ok: true,
1877
- kind: "near_ed25519",
1878
- walletId,
1879
- authority,
1880
- ...registrationDiagnostics ? { registrationDiagnostics } : {},
1881
- authMethod: authorityBranch.authMethod,
1882
- ...readOptionalWalletRegistrationResponseField(record, "walletCustody", responseName) === void 0 ? {} : { walletCustody: parseWalletCustodyRegistrationOutcome(readWalletRegistrationResponseField(record, "walletCustody", responseName), responseName) },
1883
- nearProvisioning: { status: "near_pending" }
1884
- };
1885
- }
1886
- if (kind !== "evm_family_ecdsa") throw new Error(`${responseName} response has invalid kind`);
1887
- const ecdsaRecord = requireWalletRegistrationResponseObject({
1888
- responseName,
1889
- field: "ecdsa",
1890
- value: readWalletRegistrationResponseField(record, "ecdsa", responseName)
1891
- });
1892
- assertWalletRegistrationResponseKeys(record, [
1893
- "ok",
1894
- "walletId",
1895
- "authority",
1896
- "foundingAuthority",
1897
- "foundingAuthMethod",
1898
- "registrationDiagnostics",
1899
- "rpId",
1900
- "authMethod",
1901
- "walletCustody",
1902
- "custodyKeyManifestDigestB64u",
1903
- "kind",
1904
- "ecdsa",
1905
- "nearProvisioning",
1906
- "registrationEstablishedSession"
1907
- ], responseName);
1908
- assertWalletRegistrationResponseKeys(ecdsaRecord, [
1909
- "walletKeys",
1910
- "activation",
1911
- "bootstrap"
1912
- ], responseName);
1913
- const activation = readOptionalWalletRegistrationResponseField(ecdsaRecord, "activation", responseName);
1914
- const bootstrap = readOptionalWalletRegistrationResponseField(ecdsaRecord, "bootstrap", responseName);
1915
- if (nearProvisioning !== void 0) {
1916
- const provisioning = requireWalletRegistrationResponseObject({
1917
- responseName,
1918
- field: "nearProvisioning",
1919
- value: nearProvisioning
1920
- });
1921
- assertWalletRegistrationResponseKeys(provisioning, ["status"], `${responseName} nearProvisioning`);
1922
- if (readWalletRegistrationResponseField(provisioning, "status", `${responseName} nearProvisioning`) !== "near_pending") throw new Error(`${responseName} nearProvisioning status is invalid`);
1923
- }
1924
- if (activation === void 0 || bootstrap === void 0) throw new Error(`${responseName} is missing the activation payload the client needs to build its ECDSA session`);
1925
- const finalized = parseWalletRegistrationFinalizeResponse({
1926
- value: buildWalletRegistrationFinalizeTerminalResponse(record, ecdsaRecord),
1927
- expectedKind: "evm_family_ecdsa"
1928
- });
1929
- if (!finalized.ok || finalized.kind !== "evm_family_ecdsa") throw new Error(`${responseName} did not return an activated ECDSA wallet`);
1930
- const registrationEstablishedSession = parseRegistrationEstablishedSessionResult(rawEstablishedSession, finalized.walletId);
1931
- return {
1932
- ...finalized,
1933
- ecdsa: {
1934
- ...finalized.ecdsa,
1935
- activation: parseRouterAbEcdsaRegistrationPublicActivationReceiptV1(activation),
1936
- bootstrap: parseThresholdEcdsaDerivationRoleLocalBootstrapValue(bootstrap)
1937
- },
1938
- registrationEstablishedSession,
1939
- ...nearProvisioning === void 0 ? {} : { nearProvisioning: { status: "near_pending" } }
1940
- };
1941
- }
1942
- function walletRegistrationActivateBody(args) {
1943
- const body = {
1944
- registrationCeremonyId: args.registrationCeremonyId,
1945
- kind: args.signerPlanKind,
1946
- signedSetup: args.signedSetup,
1947
- idempotencyKey: args.idempotencyKey
1948
- };
1949
- if (args.ecdsa) body.ecdsa = args.ecdsa;
1950
- if (args.emailOtpEnrollment) body.emailOtpEnrollment = args.emailOtpEnrollment;
1951
- if (args.walletCustodyCommit) body.walletCustodyCommit = args.walletCustodyCommit;
1952
- return body;
1953
- }
1954
- async function activateWalletRegistration(args) {
1955
- return parseWalletRegistrationActivateResponseV2(await postJson({
1956
- relayerUrl: args.relayerUrl,
1957
- path: WALLET_REGISTRATION_ACTIVATE_PATH,
1958
- headers: args.headers,
1959
- body: walletRegistrationActivateBody(args),
1960
- onServerTiming: args.onServerTiming
1961
- }));
1962
- }
1963
- function parseWalletRegistrationSessionSealResponse(value) {
1964
- const responseName = "Wallet registration session seal";
1965
- const record = requireWalletRegistrationResponseObject({
1966
- responseName,
1967
- field: "body",
1968
- value
1969
- });
1970
- assertWalletRegistrationResponseKeys(record, [
1971
- "ciphertext",
1972
- "keyVersion",
1973
- "expiresAtMs",
1974
- "remainingUses"
1975
- ], responseName);
1976
- const ciphertext = readWalletRegistrationResponseField(record, "ciphertext", responseName);
1977
- const keyVersion = readWalletRegistrationResponseField(record, "keyVersion", responseName);
1978
- const expiresAtMs = readWalletRegistrationResponseField(record, "expiresAtMs", responseName);
1979
- const remainingUses = readWalletRegistrationResponseField(record, "remainingUses", responseName);
1980
- 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`);
1981
- return {
1982
- ciphertext,
1983
- keyVersion,
1984
- expiresAtMs,
1985
- remainingUses
1986
- };
1987
- }
1988
- function parseWalletRegistrationNearProvisioningResponseV2(value) {
1989
- const responseName = "Wallet registration NEAR provisioning";
1990
- const record = requireWalletRegistrationResponseObject({
1991
- responseName,
1992
- field: "body",
1993
- value
1994
- });
1995
- if (readWalletRegistrationResponseField(record, "ok", responseName) !== true) {
1996
- assertWalletRegistrationResponseKeys(record, [
1997
- "ok",
1998
- "code",
1999
- "message",
2000
- "nearProvisioning"
2001
- ], responseName);
2002
- const code = readWalletRegistrationResponseField(record, "code", responseName);
2003
- const message = readWalletRegistrationResponseField(record, "message", responseName);
2004
- if (typeof code !== "string" || typeof message !== "string") throw new Error(`${responseName} failure is invalid`);
2005
- const nearProvisioning = readOptionalWalletRegistrationResponseField(record, "nearProvisioning", responseName);
2006
- if (nearProvisioning !== void 0) {
2007
- const status = requireWalletRegistrationResponseObject({
2008
- responseName,
2009
- field: "nearProvisioning",
2010
- value: nearProvisioning
2011
- });
2012
- assertWalletRegistrationResponseKeys(status, ["status"], `${responseName} nearProvisioning`);
2013
- if (readWalletRegistrationResponseField(status, "status", `${responseName} nearProvisioning`) !== "near_failed_retryable") throw new Error(`${responseName} failure status is invalid`);
2014
- return {
2015
- ok: false,
2016
- code,
2017
- message,
2018
- nearProvisioning: { status: "near_failed_retryable" }
2019
- };
2020
- }
2021
- return {
2022
- ok: false,
2023
- code,
2024
- message
2025
- };
2026
- }
2027
- assertWalletRegistrationResponseKeys(record, [
2028
- "ok",
2029
- "walletId",
2030
- "authority",
2031
- "foundingAuthority",
2032
- "foundingAuthMethod",
2033
- "registrationDiagnostics",
2034
- "rpId",
2035
- "authMethod",
2036
- "walletCustody",
2037
- "custodyKeyManifestDigestB64u",
2038
- "kind",
2039
- "accountProvisioning",
2040
- "resolvedAccount",
2041
- "ed25519",
2042
- "authorityScope",
2043
- "nearProvisioning",
2044
- "registrationEstablishedSession",
2045
- "sessionSeal"
2046
- ], responseName);
2047
- const provisioning = requireWalletRegistrationResponseObject({
2048
- responseName,
2049
- field: "nearProvisioning",
2050
- value: readWalletRegistrationResponseField(record, "nearProvisioning", responseName)
2051
- });
2052
- assertWalletRegistrationResponseKeys(provisioning, ["status"], `${responseName} nearProvisioning`);
2053
- if (readWalletRegistrationResponseField(provisioning, "status", `${responseName} nearProvisioning`) !== "near_ready") throw new Error(`${responseName} success status is invalid`);
2054
- const finalized = parseWalletRegistrationFinalizeResponse({
2055
- value: buildWalletRegistrationNearFinalizeTerminalResponse(record),
2056
- expectedKind: "near_ed25519"
2057
- });
2058
- if (!finalized.ok || finalized.kind !== "near_ed25519") throw new Error(`${responseName} did not return a finalized Ed25519 wallet`);
2059
- const sessionSeal = readOptionalWalletRegistrationResponseField(record, "sessionSeal", responseName);
2060
- const registrationEstablishedSession = parseRegistrationEstablishedSessionResult(readWalletRegistrationResponseField(record, "registrationEstablishedSession", responseName), finalized.walletId);
2061
- if (isEmailOtpWalletRegistrationFinalizeResponse(finalized)) {
2062
- if (sessionSeal !== void 0) throw new Error(`${responseName} returned a session seal for an Email OTP authority`);
2063
- return {
2064
- ...finalized,
2065
- nearProvisioning: { status: "near_ready" },
2066
- registrationEstablishedSession
2067
- };
2068
- }
2069
- const success = {
2070
- ...finalized,
2071
- nearProvisioning: { status: "near_ready" },
2072
- registrationEstablishedSession
2073
- };
2074
- if (sessionSeal === void 0) return success;
2075
- return {
2076
- ...success,
2077
- sessionSeal: parseWalletRegistrationSessionSealResponse(sessionSeal)
2078
- };
2079
- }
2080
- async function completeWalletRegistrationNearProvisioning(args) {
2081
- const body = {
2082
- registrationCeremonyId: args.registrationCeremonyId,
2083
- signedSetup: args.signedSetup,
2084
- idempotencyKey: args.idempotencyKey,
2085
- ed25519: args.ed25519
2086
- };
2087
- if (args.auth.kind === "email_otp") body.emailOtpEnrollment = args.auth.enrollment;
2088
- if (args.walletCustodyCommit) body.walletCustodyCommit = args.walletCustodyCommit;
2089
- if (args.sessionSeal) body.sessionSeal = args.sessionSeal;
2090
- return parseWalletRegistrationNearProvisioningResponseV2(await postJson({
2091
- relayerUrl: args.relayerUrl,
2092
- path: WALLET_REGISTRATION_NEAR_PROVISIONING_PATH,
2093
- headers: args.headers,
2094
- body,
2095
- ...args.onServerTiming ? { onServerTiming: args.onServerTiming } : {}
2096
- }));
2097
- }
2098
- function addSignerAuthBody(auth) {
2099
- switch (auth.kind) {
2100
- case "webauthn_assertion": return {
2101
- kind: "webauthn_assertion",
2102
- rpId: auth.rpId,
2103
- credential: auth.credential,
2104
- expectedChallengeDigestB64u: auth.expectedChallengeDigestB64u
2105
- };
2106
- }
2107
- }
2108
- function addAuthMethodAuthBody(auth) {
2109
- switch (auth.kind) {
2110
- case "webauthn_assertion": return {
2111
- kind: "webauthn_assertion",
2112
- rpId: auth.rpId,
2113
- credential: auth.credential,
2114
- expectedChallengeDigestB64u: auth.expectedChallengeDigestB64u
2115
- };
2116
- case "wallet_session": return { kind: "wallet_session" };
2117
- case "email_otp": return {
2118
- kind: "email_otp",
2119
- challengeId: auth.challengeId,
2120
- otpCode: auth.otpCode,
2121
- expectedChallengeDigestB64u: auth.expectedChallengeDigestB64u
2122
- };
2123
- }
2124
- }
2125
- function addAuthMethodAuthorityBody(authority) {
2126
- switch (authority.kind) {
2127
- case "passkey": return {};
2128
- case "email_otp": return { emailOtpRegistrationProof: authority.emailOtpRegistrationProof };
2129
- }
2130
- }
2131
- async function startWalletAddSigner(args) {
2132
- const walletId = String(args.walletId || "").trim();
2133
- if (!walletId) throw new Error("walletId is required for add-signer start");
2134
- return parseWalletAddSignerStartResponse({
2135
- value: await postJson({
2136
- relayerUrl: args.relayerUrl,
2137
- path: `/wallets/${encodeURIComponent(walletId)}/signers/start`,
2138
- body: {
2139
- addSignerIntentGrant: args.addSignerIntentGrant,
2140
- addSignerIntentDigestB64u: args.addSignerIntentDigestB64u,
2141
- intent: args.intent,
2142
- auth: addSignerAuthBody(args.auth)
2143
- }
2144
- }),
2145
- expectedIntent: args.intent
2146
- });
2147
- }
2148
- function parseAddAuthMethodEmailOtpChallengeResponse(value) {
2149
- const responseName = "Email OTP enrollment code";
2150
- const response = requireWalletRegistrationResponseObject({
2151
- responseName,
2152
- field: "body",
2153
- value
2154
- });
2155
- assertWalletRegistrationResponseKeys(response, [
2156
- "ok",
2157
- "challengeId",
2158
- "expiresAtMs",
2159
- "emailHint"
2160
- ], responseName);
2161
- if (readWalletRegistrationResponseField(response, "ok", responseName) !== true) throw new Error(`${responseName} response is not successful`);
2162
- const challengeIdValue = readWalletRegistrationResponseField(response, "challengeId", responseName);
2163
- if (typeof challengeIdValue !== "string" || !challengeIdValue.trim()) throw new Error(`${responseName} response missing challengeId`);
2164
- const expiresAtMs = readWalletRegistrationResponseField(response, "expiresAtMs", responseName);
2165
- if (typeof expiresAtMs !== "number" || !Number.isSafeInteger(expiresAtMs) || expiresAtMs < 1) throw new Error(`${responseName} response has invalid expiresAtMs`);
2166
- const emailHint = readWalletRegistrationResponseField(response, "emailHint", responseName);
2167
- if (typeof emailHint !== "string") throw new Error(`${responseName} response has invalid emailHint`);
2168
- return {
2169
- challengeId: challengeIdValue.trim(),
2170
- expiresAtMs,
2171
- emailHint
2172
- };
2173
- }
2174
- /**
2175
- * Sends the enrollment code for an Email OTP addition.
2176
- *
2177
- * Carries no address: the server reads it from the intent the grant names, so
2178
- * a client cannot redirect a wallet's enrollment code. Callable more than once
2179
- * for the same intent, which is what a resend is.
2180
- */
2181
- async function requestAddAuthMethodEmailOtpChallenge(args) {
2182
- const walletId = String(args.walletId || "").trim();
2183
- if (!walletId) throw new Error("walletId is required for the Email OTP enrollment code");
2184
- return parseAddAuthMethodEmailOtpChallengeResponse(await postJson({
2185
- relayerUrl: args.relayerUrl,
2186
- path: `/wallets/${encodeURIComponent(walletId)}/auth-methods/email-otp/challenge`,
2187
- body: {
2188
- addAuthMethodIntentGrant: args.addAuthMethodIntentGrant,
2189
- addAuthMethodIntentDigestB64u: args.addAuthMethodIntentDigestB64u
2190
- }
2191
- }));
2192
- }
2193
- async function startWalletAddAuthMethod(args) {
2194
- const walletId = String(args.walletId || "").trim();
2195
- if (!walletId) throw new Error("walletId is required for add-auth-method start");
2196
- return parseWalletAddAuthMethodStartResponse({
2197
- value: await postJson({
2198
- relayerUrl: args.relayerUrl,
2199
- path: `/wallets/${encodeURIComponent(walletId)}/auth-methods/start`,
2200
- body: {
2201
- addAuthMethodIntentGrant: args.addAuthMethodIntentGrant,
2202
- addAuthMethodIntentDigestB64u: args.addAuthMethodIntentDigestB64u,
2203
- intent: args.intent,
2204
- auth: addAuthMethodAuthBody(args.auth),
2205
- ...addAuthMethodAuthorityBody(args.authority)
2206
- },
2207
- ...args.auth.kind === "wallet_session" ? { headers: { authorization: `Bearer ${args.auth.walletSessionToken}` } } : {}
2208
- }),
2209
- expectedIntent: args.intent
2210
- });
2211
- }
2212
- async function respondWalletAddSignerEcdsa(args) {
2213
- const walletId = String(args.walletId || "").trim();
2214
- if (!walletId) throw new Error("walletId is required for add-signer ECDSA respond");
2215
- return parseWalletAddSignerEcdsaRespondResponse(await postJson({
2216
- relayerUrl: args.relayerUrl,
2217
- path: `/wallets/${encodeURIComponent(walletId)}/signers/derivation/respond`,
2218
- body: {
2219
- addSignerCeremonyId: args.addSignerCeremonyId,
2220
- ecdsa: args.ecdsa
2221
- }
2222
- }));
2223
- }
2224
- async function activateWalletAddSignerEcdsa(args) {
2225
- const walletId = String(args.walletId || "").trim();
2226
- if (!walletId) throw new Error("walletId is required for add-signer ECDSA activation");
2227
- return parseWalletAddSignerEcdsaActivationResponse(await postJson({
2228
- relayerUrl: args.relayerUrl,
2229
- path: `/wallets/${encodeURIComponent(walletId)}/signers/derivation/activate`,
2230
- body: {
2231
- addSignerCeremonyId: args.addSignerCeremonyId,
2232
- ecdsa: {
2233
- kind: "router_ab_ecdsa_registration_activation_v1",
2234
- activationCorrelationId: args.activationCorrelationId,
2235
- publicFacts: args.publicFacts,
2236
- expectedActivationRequestDigest: args.expectedActivationRequestDigest
2237
- }
2238
- }
2239
- }));
2240
- }
2241
- function addSignerFinalizeBody(args) {
2242
- switch (args.kind) {
2243
- case "near_ed25519": return {
2244
- addSignerCeremonyId: args.addSignerCeremonyId,
2245
- idempotencyKey: args.idempotencyKey,
2246
- kind: args.kind,
2247
- ed25519: args.ed25519,
2248
- custodyKeySet: args.custodyKeySet
2249
- };
2250
- case "evm_family_ecdsa": return {
2251
- addSignerCeremonyId: args.addSignerCeremonyId,
2252
- idempotencyKey: args.idempotencyKey,
2253
- kind: args.kind,
2254
- ecdsa: args.ecdsa,
2255
- custodyKeySet: args.custodyKeySet
2256
- };
2257
- }
2258
- }
2259
- async function finalizeWalletAddSigner(args) {
2260
- const walletId = String(args.walletId || "").trim();
2261
- if (!walletId) throw new Error("walletId is required for add-signer finalize");
2262
- return parseWalletAddSignerFinalizeResponse({
2263
- value: await postJson({
2264
- relayerUrl: args.relayerUrl,
2265
- path: `/wallets/${encodeURIComponent(walletId)}/signers/finalize`,
2266
- body: addSignerFinalizeBody(args)
2267
- }),
2268
- expectedKind: args.kind
2269
- });
2270
- }
2271
- async function finalizeWalletAddAuthMethod(args) {
2272
- const walletId = String(args.walletId || "").trim();
2273
- if (!walletId) throw new Error("walletId is required for add-auth-method finalize");
2274
- const body = args.custodyEnvelope === void 0 ? { addAuthMethodCeremonyId: args.addAuthMethodCeremonyId } : args.webauthnRegistration === void 0 ? {
2275
- addAuthMethodCeremonyId: args.addAuthMethodCeremonyId,
2276
- custodyEnvelope: parsePasskeyCustodyEnvelopeRecord(args.custodyEnvelope),
2277
- emailOtpTarget: args.emailOtpTarget
2278
- } : {
2279
- addAuthMethodCeremonyId: args.addAuthMethodCeremonyId,
2280
- webauthnRegistration: args.webauthnRegistration,
2281
- custodyEnvelope: parsePasskeyCustodyEnvelopeRecord(args.custodyEnvelope)
2282
- };
2283
- const request = {
2284
- relayerUrl: args.relayerUrl,
2285
- path: `/wallets/${encodeURIComponent(walletId)}/auth-methods/finalize`,
2286
- body
2287
- };
2288
- let response;
2289
- try {
2290
- response = await postJson(request);
2291
- } catch (error) {
2292
- if (!(error instanceof TypeError)) throw error;
2293
- response = await postJson(request);
2294
- }
2295
- return parseWalletAddAuthMethodFinalizeResponse(response);
2296
- }
2297
- async function fetchWalletEcdsaKeyFactsInventoryWithOperationCredential(args) {
2298
- const walletId = String(args.walletId || "").trim();
2299
- const rpId = String(args.rpId || "").trim();
2300
- const operationCredential = args.operationCredential;
2301
- if (!walletId) throw new Error("walletId is required for ECDSA key-facts inventory");
2302
- if (!rpId) throw new Error("rpId is required for ECDSA key-facts inventory");
2303
- return parseWalletEcdsaKeyFactsInventoryResponse({
2304
- value: await postJson({
2305
- relayerUrl: args.relayerUrl,
2306
- path: `/wallets/${encodeURIComponent(walletId)}/signers/ecdsa/key-facts/inventory`,
2307
- headers: buildBearerAuthorizationHeader({
2308
- token: operationCredential.token,
2309
- missingMessage: "Wallet Session operation credential is required for ECDSA key-facts inventory"
2310
- }),
2311
- body: {
2312
- rpId,
2313
- keyTargets: args.keyTargets,
2314
- auth: {
2315
- kind: operationCredential.kind,
2316
- walletSessionId: operationCredential.walletSessionId
2317
- }
2318
- }
2319
- }),
2320
- walletId: args.walletId,
2321
- rpId
2322
- });
2323
- }
2324
- async function fetchWalletEcdsaKeyFactsInventoryWithWebAuthn(args) {
2325
- const walletId = String(args.walletId || "").trim();
2326
- const rpId = String(args.rpId || "").trim();
2327
- const serverNonceB64u = String(args.serverNonceB64u || "").trim();
2328
- const expectedChallengeDigestB64u = String(args.expectedChallengeDigestB64u || "").trim();
2329
- if (!walletId) throw new Error("walletId is required for ECDSA key-facts inventory");
2330
- if (!rpId) throw new Error("rpId is required for ECDSA key-facts inventory");
2331
- if (!serverNonceB64u || !expectedChallengeDigestB64u) throw new Error("WebAuthn ECDSA key-facts inventory requires challenge binding");
2332
- return parseWalletEcdsaKeyFactsInventoryResponse({
2333
- value: await postJson({
2334
- relayerUrl: args.relayerUrl,
2335
- path: `/wallets/${encodeURIComponent(walletId)}/signers/ecdsa/key-facts/inventory`,
2336
- body: {
2337
- rpId,
2338
- keyTargets: args.keyTargets,
2339
- auth: {
2340
- kind: "webauthn_assertion",
2341
- credential: args.credential,
2342
- serverNonceB64u,
2343
- expectedChallengeDigestB64u,
2344
- ...args.runtimePolicyScope ? { runtimePolicyScope: args.runtimePolicyScope } : {}
2345
- }
2346
- }
2347
- }),
2348
- walletId: args.walletId,
2349
- rpId
2350
- });
2351
- }
2352
191
  //#endregion
2353
- export { activateWalletAddSignerEcdsa, activateWalletRegistration, completeWalletRegistrationNearProvisioning, createWalletAddAuthMethodIntent, createWalletAddSignerIntent, fetchWalletEcdsaKeyFactsInventoryWithOperationCredential, fetchWalletEcdsaKeyFactsInventoryWithWebAuthn, finalizeWalletAddAuthMethod, finalizeWalletAddSigner, fundImplicitNearAccountForTesting, isEmailOtpWalletRegistrationFinalizeResponse, parseWalletRegistrationEcdsaDerivationRespond, requestAddAuthMethodEmailOtpChallenge, respondWalletAddSignerEcdsa, respondWalletRegistration, revokeWalletAuthMethod, setupWalletRegistration, startWalletAddAuthMethod, startWalletAddSigner };
192
+ export { fundImplicitNearAccountForTesting };
2354
193
 
2355
194
  //# sourceMappingURL=walletRegistration.js.map