@tidecloak/js 0.12.33 → 0.12.39

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 (528) hide show
  1. package/dist/cjs/lib/tidecloak.js +1743 -1629
  2. package/dist/cjs/lib/tidecloak.js.map +1 -1
  3. package/dist/cjs/src/IAMService.js +5 -11
  4. package/dist/cjs/src/IAMService.js.map +1 -1
  5. package/dist/cjs/src/index.js +4 -21
  6. package/dist/cjs/src/index.js.map +1 -1
  7. package/dist/cjs/src/policy-react.js +3 -0
  8. package/dist/cjs/src/policy-react.js.map +1 -0
  9. package/dist/cjs/src/policy.css +1 -0
  10. package/dist/esm/lib/tidecloak.js +1744 -1619
  11. package/dist/esm/lib/tidecloak.js.map +1 -1
  12. package/dist/esm/src/IAMService.js +1 -1
  13. package/dist/esm/src/IAMService.js.map +1 -1
  14. package/dist/esm/src/index.js +2 -6
  15. package/dist/esm/src/index.js.map +1 -1
  16. package/dist/esm/src/policy-react.js +3 -0
  17. package/dist/esm/src/policy-react.js.map +1 -0
  18. package/dist/esm/src/policy.css +1 -0
  19. package/dist/types/IAMService.d.ts +106 -0
  20. package/dist/types/index.d.ts +3 -0
  21. package/dist/types/lib/tidecloak.d.ts +324 -35
  22. package/dist/types/src/IAMService.d.ts +1 -2
  23. package/dist/types/src/index.d.ts +2 -3
  24. package/dist/types/src/policy-react.d.ts +1 -0
  25. package/package.json +18 -29
  26. package/scripts/postinstall.cjs +36 -0
  27. package/silent-check-sso.html +1 -0
  28. package/dist/cjs/modules/tide-js/Clients/ClientBase.js +0 -213
  29. package/dist/cjs/modules/tide-js/Clients/ClientBase.js.map +0 -1
  30. package/dist/cjs/modules/tide-js/Clients/EnclaveToMobileTunnelClient.js +0 -55
  31. package/dist/cjs/modules/tide-js/Clients/EnclaveToMobileTunnelClient.js.map +0 -1
  32. package/dist/cjs/modules/tide-js/Clients/NetworkClient.js +0 -96
  33. package/dist/cjs/modules/tide-js/Clients/NetworkClient.js.map +0 -1
  34. package/dist/cjs/modules/tide-js/Clients/NodeClient.js +0 -532
  35. package/dist/cjs/modules/tide-js/Clients/NodeClient.js.map +0 -1
  36. package/dist/cjs/modules/tide-js/Clients/PollingClient.js +0 -87
  37. package/dist/cjs/modules/tide-js/Clients/PollingClient.js.map +0 -1
  38. package/dist/cjs/modules/tide-js/Clients/VoucherClient.js +0 -37
  39. package/dist/cjs/modules/tide-js/Clients/VoucherClient.js.map +0 -1
  40. package/dist/cjs/modules/tide-js/Clients/WebSocketClientBase.js +0 -51
  41. package/dist/cjs/modules/tide-js/Clients/WebSocketClientBase.js.map +0 -1
  42. package/dist/cjs/modules/tide-js/Cryptide/Components/BaseComponent.js +0 -180
  43. package/dist/cjs/modules/tide-js/Cryptide/Components/BaseComponent.js.map +0 -1
  44. package/dist/cjs/modules/tide-js/Cryptide/Components/ComponentRegistry.js +0 -30
  45. package/dist/cjs/modules/tide-js/Cryptide/Components/ComponentRegistry.js.map +0 -1
  46. package/dist/cjs/modules/tide-js/Cryptide/Components/Schemes/AES/AESScheme.js +0 -11
  47. package/dist/cjs/modules/tide-js/Cryptide/Components/Schemes/AES/AESScheme.js.map +0 -1
  48. package/dist/cjs/modules/tide-js/Cryptide/Components/Schemes/BaseScheme.js +0 -13
  49. package/dist/cjs/modules/tide-js/Cryptide/Components/Schemes/BaseScheme.js.map +0 -1
  50. package/dist/cjs/modules/tide-js/Cryptide/Components/Schemes/Ed25519/Ed25519Components.js +0 -166
  51. package/dist/cjs/modules/tide-js/Cryptide/Components/Schemes/Ed25519/Ed25519Components.js.map +0 -1
  52. package/dist/cjs/modules/tide-js/Cryptide/Components/Schemes/Ed25519/Ed25519Scheme.js +0 -62
  53. package/dist/cjs/modules/tide-js/Cryptide/Components/Schemes/Ed25519/Ed25519Scheme.js.map +0 -1
  54. package/dist/cjs/modules/tide-js/Cryptide/Components/Schemes/SchemeRegistry.js +0 -13
  55. package/dist/cjs/modules/tide-js/Cryptide/Components/Schemes/SchemeRegistry.js.map +0 -1
  56. package/dist/cjs/modules/tide-js/Cryptide/Ed25519.js +0 -535
  57. package/dist/cjs/modules/tide-js/Cryptide/Ed25519.js.map +0 -1
  58. package/dist/cjs/modules/tide-js/Cryptide/Encryption/AES.js +0 -109
  59. package/dist/cjs/modules/tide-js/Cryptide/Encryption/AES.js.map +0 -1
  60. package/dist/cjs/modules/tide-js/Cryptide/Encryption/DH.js +0 -53
  61. package/dist/cjs/modules/tide-js/Cryptide/Encryption/DH.js.map +0 -1
  62. package/dist/cjs/modules/tide-js/Cryptide/Encryption/ElGamal.js +0 -71
  63. package/dist/cjs/modules/tide-js/Cryptide/Encryption/ElGamal.js.map +0 -1
  64. package/dist/cjs/modules/tide-js/Cryptide/Hashing/H2P.js +0 -248
  65. package/dist/cjs/modules/tide-js/Cryptide/Hashing/H2P.js.map +0 -1
  66. package/dist/cjs/modules/tide-js/Cryptide/Hashing/Hash.js +0 -60
  67. package/dist/cjs/modules/tide-js/Cryptide/Hashing/Hash.js.map +0 -1
  68. package/dist/cjs/modules/tide-js/Cryptide/Interpolation.js +0 -107
  69. package/dist/cjs/modules/tide-js/Cryptide/Interpolation.js.map +0 -1
  70. package/dist/cjs/modules/tide-js/Cryptide/Math.js +0 -134
  71. package/dist/cjs/modules/tide-js/Cryptide/Math.js.map +0 -1
  72. package/dist/cjs/modules/tide-js/Cryptide/Serialization.js +0 -682
  73. package/dist/cjs/modules/tide-js/Cryptide/Serialization.js.map +0 -1
  74. package/dist/cjs/modules/tide-js/Cryptide/Signing/BlindSig.js +0 -56
  75. package/dist/cjs/modules/tide-js/Cryptide/Signing/BlindSig.js.map +0 -1
  76. package/dist/cjs/modules/tide-js/Cryptide/Signing/EdDSA.js +0 -84
  77. package/dist/cjs/modules/tide-js/Cryptide/Signing/EdDSA.js.map +0 -1
  78. package/dist/cjs/modules/tide-js/Cryptide/Signing/TideSignature.js +0 -102
  79. package/dist/cjs/modules/tide-js/Cryptide/Signing/TideSignature.js.map +0 -1
  80. package/dist/cjs/modules/tide-js/Cryptide/TideKey.js +0 -85
  81. package/dist/cjs/modules/tide-js/Cryptide/TideKey.js.map +0 -1
  82. package/dist/cjs/modules/tide-js/Cryptide/TideMemoryObjects.js +0 -34
  83. package/dist/cjs/modules/tide-js/Cryptide/TideMemoryObjects.js.map +0 -1
  84. package/dist/cjs/modules/tide-js/Cryptide/index.js +0 -74
  85. package/dist/cjs/modules/tide-js/Cryptide/index.js.map +0 -1
  86. package/dist/cjs/modules/tide-js/Flow/AuthenticationFlows/dCMKAcceptAdminFlow.js +0 -6
  87. package/dist/cjs/modules/tide-js/Flow/AuthenticationFlows/dCMKAcceptAdminFlow.js.map +0 -1
  88. package/dist/cjs/modules/tide-js/Flow/AuthenticationFlows/dCMKPasswordFlow.js +0 -134
  89. package/dist/cjs/modules/tide-js/Flow/AuthenticationFlows/dCMKPasswordFlow.js.map +0 -1
  90. package/dist/cjs/modules/tide-js/Flow/AuthenticationFlows/dCMKPasswordlessFlow.js +0 -83
  91. package/dist/cjs/modules/tide-js/Flow/AuthenticationFlows/dCMKPasswordlessFlow.js.map +0 -1
  92. package/dist/cjs/modules/tide-js/Flow/AuthenticationFlows/dCVKAuthenticationFlow.js +0 -3
  93. package/dist/cjs/modules/tide-js/Flow/AuthenticationFlows/dCVKAuthenticationFlow.js.map +0 -1
  94. package/dist/cjs/modules/tide-js/Flow/AuthenticationFlows/dMobileAuthenticationFlow.js +0 -199
  95. package/dist/cjs/modules/tide-js/Flow/AuthenticationFlows/dMobileAuthenticationFlow.js.map +0 -1
  96. package/dist/cjs/modules/tide-js/Flow/DecryptionFlows/dVVKDecryptionFlow.js +0 -58
  97. package/dist/cjs/modules/tide-js/Flow/DecryptionFlows/dVVKDecryptionFlow.js.map +0 -1
  98. package/dist/cjs/modules/tide-js/Flow/EncryptionFlows/AuthorizedEncryptionFlow.js +0 -180
  99. package/dist/cjs/modules/tide-js/Flow/EncryptionFlows/AuthorizedEncryptionFlow.js.map +0 -1
  100. package/dist/cjs/modules/tide-js/Flow/SigningFlows/AuthorizedSigningFlow.js +0 -49
  101. package/dist/cjs/modules/tide-js/Flow/SigningFlows/AuthorizedSigningFlow.js.map +0 -1
  102. package/dist/cjs/modules/tide-js/Flow/SigningFlows/dTestVVkSigningFlow.js +0 -70
  103. package/dist/cjs/modules/tide-js/Flow/SigningFlows/dTestVVkSigningFlow.js.map +0 -1
  104. package/dist/cjs/modules/tide-js/Flow/SigningFlows/dVVKSigningFlow.js +0 -74
  105. package/dist/cjs/modules/tide-js/Flow/SigningFlows/dVVKSigningFlow.js.map +0 -1
  106. package/dist/cjs/modules/tide-js/Flow/SigningFlows/dVVKSigningFlow2Step.js +0 -134
  107. package/dist/cjs/modules/tide-js/Flow/SigningFlows/dVVKSigningFlow2Step.js.map +0 -1
  108. package/dist/cjs/modules/tide-js/Flow/SigningFlows/dVVKSigningFlow_DEPRECATED.js +0 -67
  109. package/dist/cjs/modules/tide-js/Flow/SigningFlows/dVVKSigningFlow_DEPRECATED.js.map +0 -1
  110. package/dist/cjs/modules/tide-js/Flow/SimulatorFlow.js +0 -57
  111. package/dist/cjs/modules/tide-js/Flow/SimulatorFlow.js.map +0 -1
  112. package/dist/cjs/modules/tide-js/Flow/VoucherFlows/VoucherFlow.js +0 -51
  113. package/dist/cjs/modules/tide-js/Flow/VoucherFlows/VoucherFlow.js.map +0 -1
  114. package/dist/cjs/modules/tide-js/Flow/dAccountRecoveryFlow.js +0 -95
  115. package/dist/cjs/modules/tide-js/Flow/dAccountRecoveryFlow.js.map +0 -1
  116. package/dist/cjs/modules/tide-js/Flow/dKeyGenerationFlow.js +0 -199
  117. package/dist/cjs/modules/tide-js/Flow/dKeyGenerationFlow.js.map +0 -1
  118. package/dist/cjs/modules/tide-js/Math/DecryptRequest.js +0 -52
  119. package/dist/cjs/modules/tide-js/Math/DecryptRequest.js.map +0 -1
  120. package/dist/cjs/modules/tide-js/Math/EncryptRequest.js +0 -96
  121. package/dist/cjs/modules/tide-js/Math/EncryptRequest.js.map +0 -1
  122. package/dist/cjs/modules/tide-js/Math/KeyAuthentication.js +0 -317
  123. package/dist/cjs/modules/tide-js/Math/KeyAuthentication.js.map +0 -1
  124. package/dist/cjs/modules/tide-js/Math/KeyDecryption.js +0 -18
  125. package/dist/cjs/modules/tide-js/Math/KeyDecryption.js.map +0 -1
  126. package/dist/cjs/modules/tide-js/Math/KeyGeneration.js +0 -148
  127. package/dist/cjs/modules/tide-js/Math/KeyGeneration.js.map +0 -1
  128. package/dist/cjs/modules/tide-js/Math/KeySigning.js +0 -24
  129. package/dist/cjs/modules/tide-js/Math/KeySigning.js.map +0 -1
  130. package/dist/cjs/modules/tide-js/Models/AdminAuthorization.js +0 -83
  131. package/dist/cjs/modules/tide-js/Models/AdminAuthorization.js.map +0 -1
  132. package/dist/cjs/modules/tide-js/Models/AuthRequest.js +0 -66
  133. package/dist/cjs/modules/tide-js/Models/AuthRequest.js.map +0 -1
  134. package/dist/cjs/modules/tide-js/Models/AuthorizationBuilder.js +0 -61
  135. package/dist/cjs/modules/tide-js/Models/AuthorizationBuilder.js.map +0 -1
  136. package/dist/cjs/modules/tide-js/Models/BaseTideRequest.js +0 -127
  137. package/dist/cjs/modules/tide-js/Models/BaseTideRequest.js.map +0 -1
  138. package/dist/cjs/modules/tide-js/Models/Cardano/CardanoTxBody.js +0 -198
  139. package/dist/cjs/modules/tide-js/Models/Cardano/CardanoTxBody.js.map +0 -1
  140. package/dist/cjs/modules/tide-js/Models/Datum.js +0 -41
  141. package/dist/cjs/modules/tide-js/Models/Datum.js.map +0 -1
  142. package/dist/cjs/modules/tide-js/Models/Doken.js +0 -140
  143. package/dist/cjs/modules/tide-js/Models/Doken.js.map +0 -1
  144. package/dist/cjs/modules/tide-js/Models/EnclaveEntry.js +0 -50
  145. package/dist/cjs/modules/tide-js/Models/EnclaveEntry.js.map +0 -1
  146. package/dist/cjs/modules/tide-js/Models/Infos/KeyInfo.js +0 -49
  147. package/dist/cjs/modules/tide-js/Models/Infos/KeyInfo.js.map +0 -1
  148. package/dist/cjs/modules/tide-js/Models/Infos/OrkInfo.js +0 -53
  149. package/dist/cjs/modules/tide-js/Models/Infos/OrkInfo.js.map +0 -1
  150. package/dist/cjs/modules/tide-js/Models/InitializationCertificate.js +0 -35
  151. package/dist/cjs/modules/tide-js/Models/InitializationCertificate.js.map +0 -1
  152. package/dist/cjs/modules/tide-js/Models/ModelRegistry.js +0 -226
  153. package/dist/cjs/modules/tide-js/Models/ModelRegistry.js.map +0 -1
  154. package/dist/cjs/modules/tide-js/Models/Responses/KeyAuth/Authenticate/AuthenticateResponse.js +0 -34
  155. package/dist/cjs/modules/tide-js/Models/Responses/KeyAuth/Authenticate/AuthenticateResponse.js.map +0 -1
  156. package/dist/cjs/modules/tide-js/Models/Responses/KeyAuth/Convert/CMKConvertResponse.js +0 -36
  157. package/dist/cjs/modules/tide-js/Models/Responses/KeyAuth/Convert/CMKConvertResponse.js.map +0 -1
  158. package/dist/cjs/modules/tide-js/Models/Responses/KeyAuth/Convert/ConvertRememberedResponse.js +0 -36
  159. package/dist/cjs/modules/tide-js/Models/Responses/KeyAuth/Convert/ConvertRememberedResponse.js.map +0 -1
  160. package/dist/cjs/modules/tide-js/Models/Responses/KeyAuth/Convert/DecryptedCMKConvertResponse.js +0 -34
  161. package/dist/cjs/modules/tide-js/Models/Responses/KeyAuth/Convert/DecryptedCMKConvertResponse.js.map +0 -1
  162. package/dist/cjs/modules/tide-js/Models/Responses/KeyAuth/Convert/DecryptedConvertRememberedResponse.js +0 -37
  163. package/dist/cjs/modules/tide-js/Models/Responses/KeyAuth/Convert/DecryptedConvertRememberedResponse.js.map +0 -1
  164. package/dist/cjs/modules/tide-js/Models/Responses/KeyAuth/Convert/DecryptedDeviceConvertResponse.js +0 -45
  165. package/dist/cjs/modules/tide-js/Models/Responses/KeyAuth/Convert/DecryptedDeviceConvertResponse.js.map +0 -1
  166. package/dist/cjs/modules/tide-js/Models/Responses/KeyAuth/Convert/DecryptedPrismConvertResponse.js +0 -37
  167. package/dist/cjs/modules/tide-js/Models/Responses/KeyAuth/Convert/DecryptedPrismConvertResponse.js.map +0 -1
  168. package/dist/cjs/modules/tide-js/Models/Responses/KeyAuth/Convert/DeviceConvertResponse.js +0 -36
  169. package/dist/cjs/modules/tide-js/Models/Responses/KeyAuth/Convert/DeviceConvertResponse.js.map +0 -1
  170. package/dist/cjs/modules/tide-js/Models/Responses/KeyAuth/Convert/PrismConvertResponse.js +0 -36
  171. package/dist/cjs/modules/tide-js/Models/Responses/KeyAuth/Convert/PrismConvertResponse.js.map +0 -1
  172. package/dist/cjs/modules/tide-js/Models/Responses/KeyGen/GenShard/DecryptedGenShardResponse.js +0 -49
  173. package/dist/cjs/modules/tide-js/Models/Responses/KeyGen/GenShard/DecryptedGenShardResponse.js.map +0 -1
  174. package/dist/cjs/modules/tide-js/Models/Responses/KeyGen/GenShard/GenShardResponse.js +0 -34
  175. package/dist/cjs/modules/tide-js/Models/Responses/KeyGen/GenShard/GenShardResponse.js.map +0 -1
  176. package/dist/cjs/modules/tide-js/Models/Responses/KeyGen/SetShard/DecryptedSetShardResponse.js +0 -39
  177. package/dist/cjs/modules/tide-js/Models/Responses/KeyGen/SetShard/DecryptedSetShardResponse.js.map +0 -1
  178. package/dist/cjs/modules/tide-js/Models/Responses/KeyGen/SetShard/SetShardResponse.js +0 -31
  179. package/dist/cjs/modules/tide-js/Models/Responses/KeyGen/SetShard/SetShardResponse.js.map +0 -1
  180. package/dist/cjs/modules/tide-js/Models/Responses/Reservation/ReservationConfirmation.js +0 -26
  181. package/dist/cjs/modules/tide-js/Models/Responses/Reservation/ReservationConfirmation.js.map +0 -1
  182. package/dist/cjs/modules/tide-js/Models/Responses/Vendor/VoucherResponse.js +0 -41
  183. package/dist/cjs/modules/tide-js/Models/Responses/Vendor/VoucherResponse.js.map +0 -1
  184. package/dist/cjs/modules/tide-js/Models/Rules/RuleSettingSignRequest.js +0 -81
  185. package/dist/cjs/modules/tide-js/Models/Rules/RuleSettingSignRequest.js.map +0 -1
  186. package/dist/cjs/modules/tide-js/Models/Rules/RuleSettings.js +0 -28
  187. package/dist/cjs/modules/tide-js/Models/Rules/RuleSettings.js.map +0 -1
  188. package/dist/cjs/modules/tide-js/Models/SerializedField.js +0 -63
  189. package/dist/cjs/modules/tide-js/Models/SerializedField.js.map +0 -1
  190. package/dist/cjs/modules/tide-js/Models/Transactions/CardanoTxBodySignRequest.js +0 -57
  191. package/dist/cjs/modules/tide-js/Models/Transactions/CardanoTxBodySignRequest.js.map +0 -1
  192. package/dist/cjs/modules/tide-js/Models/VendorData.js +0 -36
  193. package/dist/cjs/modules/tide-js/Models/VendorData.js.map +0 -1
  194. package/dist/cjs/modules/tide-js/Models/VendorSettings.js +0 -26
  195. package/dist/cjs/modules/tide-js/Models/VendorSettings.js.map +0 -1
  196. package/dist/cjs/modules/tide-js/RulesEngine/RuleEngineService.js +0 -92
  197. package/dist/cjs/modules/tide-js/RulesEngine/RuleEngineService.js.map +0 -1
  198. package/dist/cjs/modules/tide-js/RulesEngine/helperFunctions.js +0 -78
  199. package/dist/cjs/modules/tide-js/RulesEngine/helperFunctions.js.map +0 -1
  200. package/dist/cjs/modules/tide-js/RulesEngine/jsonHelpers.js +0 -68
  201. package/dist/cjs/modules/tide-js/RulesEngine/jsonHelpers.js.map +0 -1
  202. package/dist/cjs/modules/tide-js/RulesEngine/thresholdRules.js +0 -106
  203. package/dist/cjs/modules/tide-js/RulesEngine/thresholdRules.js.map +0 -1
  204. package/dist/cjs/modules/tide-js/Tests/AccountRecovery.js +0 -58
  205. package/dist/cjs/modules/tide-js/Tests/AccountRecovery.js.map +0 -1
  206. package/dist/cjs/modules/tide-js/Tests/Components.js +0 -18
  207. package/dist/cjs/modules/tide-js/Tests/Components.js.map +0 -1
  208. package/dist/cjs/modules/tide-js/Tests/Encryption.js +0 -172
  209. package/dist/cjs/modules/tide-js/Tests/Encryption.js.map +0 -1
  210. package/dist/cjs/modules/tide-js/Tests/KeyAuthentication.js +0 -270
  211. package/dist/cjs/modules/tide-js/Tests/KeyAuthentication.js.map +0 -1
  212. package/dist/cjs/modules/tide-js/Tests/KeyGeneration.js +0 -224
  213. package/dist/cjs/modules/tide-js/Tests/KeyGeneration.js.map +0 -1
  214. package/dist/cjs/modules/tide-js/Tests/StripeLicensing.js +0 -41
  215. package/dist/cjs/modules/tide-js/Tests/StripeLicensing.js.map +0 -1
  216. package/dist/cjs/modules/tide-js/Tests/TideKey.js +0 -17
  217. package/dist/cjs/modules/tide-js/Tests/TideKey.js.map +0 -1
  218. package/dist/cjs/modules/tide-js/Tests/Tunelling.js +0 -63
  219. package/dist/cjs/modules/tide-js/Tests/Tunelling.js.map +0 -1
  220. package/dist/cjs/modules/tide-js/Tests/Verifier.js +0 -12
  221. package/dist/cjs/modules/tide-js/Tests/Verifier.js.map +0 -1
  222. package/dist/cjs/modules/tide-js/Tests/index.js +0 -50
  223. package/dist/cjs/modules/tide-js/Tests/index.js.map +0 -1
  224. package/dist/cjs/modules/tide-js/Tools/Utils.js +0 -287
  225. package/dist/cjs/modules/tide-js/Tools/Utils.js.map +0 -1
  226. package/dist/cjs/modules/tide-js/index.js +0 -71
  227. package/dist/cjs/modules/tide-js/index.js.map +0 -1
  228. package/dist/esm/modules/tide-js/Clients/ClientBase.js +0 -210
  229. package/dist/esm/modules/tide-js/Clients/ClientBase.js.map +0 -1
  230. package/dist/esm/modules/tide-js/Clients/EnclaveToMobileTunnelClient.js +0 -49
  231. package/dist/esm/modules/tide-js/Clients/EnclaveToMobileTunnelClient.js.map +0 -1
  232. package/dist/esm/modules/tide-js/Clients/NetworkClient.js +0 -90
  233. package/dist/esm/modules/tide-js/Clients/NetworkClient.js.map +0 -1
  234. package/dist/esm/modules/tide-js/Clients/NodeClient.js +0 -526
  235. package/dist/esm/modules/tide-js/Clients/NodeClient.js.map +0 -1
  236. package/dist/esm/modules/tide-js/Clients/PollingClient.js +0 -81
  237. package/dist/esm/modules/tide-js/Clients/PollingClient.js.map +0 -1
  238. package/dist/esm/modules/tide-js/Clients/VoucherClient.js +0 -31
  239. package/dist/esm/modules/tide-js/Clients/VoucherClient.js.map +0 -1
  240. package/dist/esm/modules/tide-js/Clients/WebSocketClientBase.js +0 -48
  241. package/dist/esm/modules/tide-js/Clients/WebSocketClientBase.js.map +0 -1
  242. package/dist/esm/modules/tide-js/Cryptide/Components/BaseComponent.js +0 -169
  243. package/dist/esm/modules/tide-js/Cryptide/Components/BaseComponent.js.map +0 -1
  244. package/dist/esm/modules/tide-js/Cryptide/Components/ComponentRegistry.js +0 -24
  245. package/dist/esm/modules/tide-js/Cryptide/Components/ComponentRegistry.js.map +0 -1
  246. package/dist/esm/modules/tide-js/Cryptide/Components/Schemes/AES/AESScheme.js +0 -5
  247. package/dist/esm/modules/tide-js/Cryptide/Components/Schemes/AES/AESScheme.js.map +0 -1
  248. package/dist/esm/modules/tide-js/Cryptide/Components/Schemes/BaseScheme.js +0 -11
  249. package/dist/esm/modules/tide-js/Cryptide/Components/Schemes/BaseScheme.js.map +0 -1
  250. package/dist/esm/modules/tide-js/Cryptide/Components/Schemes/Ed25519/Ed25519Components.js +0 -157
  251. package/dist/esm/modules/tide-js/Cryptide/Components/Schemes/Ed25519/Ed25519Components.js.map +0 -1
  252. package/dist/esm/modules/tide-js/Cryptide/Components/Schemes/Ed25519/Ed25519Scheme.js +0 -57
  253. package/dist/esm/modules/tide-js/Cryptide/Components/Schemes/Ed25519/Ed25519Scheme.js.map +0 -1
  254. package/dist/esm/modules/tide-js/Cryptide/Components/Schemes/SchemeRegistry.js +0 -7
  255. package/dist/esm/modules/tide-js/Cryptide/Components/Schemes/SchemeRegistry.js.map +0 -1
  256. package/dist/esm/modules/tide-js/Cryptide/Ed25519.js +0 -523
  257. package/dist/esm/modules/tide-js/Cryptide/Ed25519.js.map +0 -1
  258. package/dist/esm/modules/tide-js/Cryptide/Encryption/AES.js +0 -102
  259. package/dist/esm/modules/tide-js/Cryptide/Encryption/AES.js.map +0 -1
  260. package/dist/esm/modules/tide-js/Cryptide/Encryption/DH.js +0 -49
  261. package/dist/esm/modules/tide-js/Cryptide/Encryption/DH.js.map +0 -1
  262. package/dist/esm/modules/tide-js/Cryptide/Encryption/ElGamal.js +0 -68
  263. package/dist/esm/modules/tide-js/Cryptide/Encryption/ElGamal.js.map +0 -1
  264. package/dist/esm/modules/tide-js/Cryptide/Hashing/H2P.js +0 -245
  265. package/dist/esm/modules/tide-js/Cryptide/Hashing/H2P.js.map +0 -1
  266. package/dist/esm/modules/tide-js/Cryptide/Hashing/Hash.js +0 -55
  267. package/dist/esm/modules/tide-js/Cryptide/Hashing/Hash.js.map +0 -1
  268. package/dist/esm/modules/tide-js/Cryptide/Interpolation.js +0 -97
  269. package/dist/esm/modules/tide-js/Cryptide/Interpolation.js.map +0 -1
  270. package/dist/esm/modules/tide-js/Cryptide/Math.js +0 -120
  271. package/dist/esm/modules/tide-js/Cryptide/Math.js.map +0 -1
  272. package/dist/esm/modules/tide-js/Cryptide/Serialization.js +0 -644
  273. package/dist/esm/modules/tide-js/Cryptide/Serialization.js.map +0 -1
  274. package/dist/esm/modules/tide-js/Cryptide/Signing/BlindSig.js +0 -50
  275. package/dist/esm/modules/tide-js/Cryptide/Signing/BlindSig.js.map +0 -1
  276. package/dist/esm/modules/tide-js/Cryptide/Signing/EdDSA.js +0 -79
  277. package/dist/esm/modules/tide-js/Cryptide/Signing/EdDSA.js.map +0 -1
  278. package/dist/esm/modules/tide-js/Cryptide/Signing/TideSignature.js +0 -91
  279. package/dist/esm/modules/tide-js/Cryptide/Signing/TideSignature.js.map +0 -1
  280. package/dist/esm/modules/tide-js/Cryptide/TideKey.js +0 -79
  281. package/dist/esm/modules/tide-js/Cryptide/TideKey.js.map +0 -1
  282. package/dist/esm/modules/tide-js/Cryptide/TideMemoryObjects.js +0 -30
  283. package/dist/esm/modules/tide-js/Cryptide/TideMemoryObjects.js.map +0 -1
  284. package/dist/esm/modules/tide-js/Cryptide/index.js +0 -34
  285. package/dist/esm/modules/tide-js/Cryptide/index.js.map +0 -1
  286. package/dist/esm/modules/tide-js/Flow/AuthenticationFlows/dCMKAcceptAdminFlow.js +0 -3
  287. package/dist/esm/modules/tide-js/Flow/AuthenticationFlows/dCMKAcceptAdminFlow.js.map +0 -1
  288. package/dist/esm/modules/tide-js/Flow/AuthenticationFlows/dCMKPasswordFlow.js +0 -128
  289. package/dist/esm/modules/tide-js/Flow/AuthenticationFlows/dCMKPasswordFlow.js.map +0 -1
  290. package/dist/esm/modules/tide-js/Flow/AuthenticationFlows/dCMKPasswordlessFlow.js +0 -77
  291. package/dist/esm/modules/tide-js/Flow/AuthenticationFlows/dCMKPasswordlessFlow.js.map +0 -1
  292. package/dist/esm/modules/tide-js/Flow/AuthenticationFlows/dCVKAuthenticationFlow.js +0 -2
  293. package/dist/esm/modules/tide-js/Flow/AuthenticationFlows/dCVKAuthenticationFlow.js.map +0 -1
  294. package/dist/esm/modules/tide-js/Flow/AuthenticationFlows/dMobileAuthenticationFlow.js +0 -193
  295. package/dist/esm/modules/tide-js/Flow/AuthenticationFlows/dMobileAuthenticationFlow.js.map +0 -1
  296. package/dist/esm/modules/tide-js/Flow/DecryptionFlows/dVVKDecryptionFlow.js +0 -52
  297. package/dist/esm/modules/tide-js/Flow/DecryptionFlows/dVVKDecryptionFlow.js.map +0 -1
  298. package/dist/esm/modules/tide-js/Flow/EncryptionFlows/AuthorizedEncryptionFlow.js +0 -174
  299. package/dist/esm/modules/tide-js/Flow/EncryptionFlows/AuthorizedEncryptionFlow.js.map +0 -1
  300. package/dist/esm/modules/tide-js/Flow/SigningFlows/AuthorizedSigningFlow.js +0 -43
  301. package/dist/esm/modules/tide-js/Flow/SigningFlows/AuthorizedSigningFlow.js.map +0 -1
  302. package/dist/esm/modules/tide-js/Flow/SigningFlows/dTestVVkSigningFlow.js +0 -64
  303. package/dist/esm/modules/tide-js/Flow/SigningFlows/dTestVVkSigningFlow.js.map +0 -1
  304. package/dist/esm/modules/tide-js/Flow/SigningFlows/dVVKSigningFlow.js +0 -68
  305. package/dist/esm/modules/tide-js/Flow/SigningFlows/dVVKSigningFlow.js.map +0 -1
  306. package/dist/esm/modules/tide-js/Flow/SigningFlows/dVVKSigningFlow2Step.js +0 -128
  307. package/dist/esm/modules/tide-js/Flow/SigningFlows/dVVKSigningFlow2Step.js.map +0 -1
  308. package/dist/esm/modules/tide-js/Flow/SigningFlows/dVVKSigningFlow_DEPRECATED.js +0 -61
  309. package/dist/esm/modules/tide-js/Flow/SigningFlows/dVVKSigningFlow_DEPRECATED.js.map +0 -1
  310. package/dist/esm/modules/tide-js/Flow/SimulatorFlow.js +0 -51
  311. package/dist/esm/modules/tide-js/Flow/SimulatorFlow.js.map +0 -1
  312. package/dist/esm/modules/tide-js/Flow/VoucherFlows/VoucherFlow.js +0 -45
  313. package/dist/esm/modules/tide-js/Flow/VoucherFlows/VoucherFlow.js.map +0 -1
  314. package/dist/esm/modules/tide-js/Flow/dAccountRecoveryFlow.js +0 -89
  315. package/dist/esm/modules/tide-js/Flow/dAccountRecoveryFlow.js.map +0 -1
  316. package/dist/esm/modules/tide-js/Flow/dKeyGenerationFlow.js +0 -193
  317. package/dist/esm/modules/tide-js/Flow/dKeyGenerationFlow.js.map +0 -1
  318. package/dist/esm/modules/tide-js/Math/DecryptRequest.js +0 -46
  319. package/dist/esm/modules/tide-js/Math/DecryptRequest.js.map +0 -1
  320. package/dist/esm/modules/tide-js/Math/EncryptRequest.js +0 -90
  321. package/dist/esm/modules/tide-js/Math/EncryptRequest.js.map +0 -1
  322. package/dist/esm/modules/tide-js/Math/KeyAuthentication.js +0 -303
  323. package/dist/esm/modules/tide-js/Math/KeyAuthentication.js.map +0 -1
  324. package/dist/esm/modules/tide-js/Math/KeyDecryption.js +0 -15
  325. package/dist/esm/modules/tide-js/Math/KeyDecryption.js.map +0 -1
  326. package/dist/esm/modules/tide-js/Math/KeyGeneration.js +0 -141
  327. package/dist/esm/modules/tide-js/Math/KeyGeneration.js.map +0 -1
  328. package/dist/esm/modules/tide-js/Math/KeySigning.js +0 -20
  329. package/dist/esm/modules/tide-js/Math/KeySigning.js.map +0 -1
  330. package/dist/esm/modules/tide-js/Models/AdminAuthorization.js +0 -79
  331. package/dist/esm/modules/tide-js/Models/AdminAuthorization.js.map +0 -1
  332. package/dist/esm/modules/tide-js/Models/AuthRequest.js +0 -63
  333. package/dist/esm/modules/tide-js/Models/AuthRequest.js.map +0 -1
  334. package/dist/esm/modules/tide-js/Models/AuthorizationBuilder.js +0 -55
  335. package/dist/esm/modules/tide-js/Models/AuthorizationBuilder.js.map +0 -1
  336. package/dist/esm/modules/tide-js/Models/BaseTideRequest.js +0 -124
  337. package/dist/esm/modules/tide-js/Models/BaseTideRequest.js.map +0 -1
  338. package/dist/esm/modules/tide-js/Models/Cardano/CardanoTxBody.js +0 -195
  339. package/dist/esm/modules/tide-js/Models/Cardano/CardanoTxBody.js.map +0 -1
  340. package/dist/esm/modules/tide-js/Models/Datum.js +0 -38
  341. package/dist/esm/modules/tide-js/Models/Datum.js.map +0 -1
  342. package/dist/esm/modules/tide-js/Models/Doken.js +0 -134
  343. package/dist/esm/modules/tide-js/Models/Doken.js.map +0 -1
  344. package/dist/esm/modules/tide-js/Models/EnclaveEntry.js +0 -44
  345. package/dist/esm/modules/tide-js/Models/EnclaveEntry.js.map +0 -1
  346. package/dist/esm/modules/tide-js/Models/Infos/KeyInfo.js +0 -43
  347. package/dist/esm/modules/tide-js/Models/Infos/KeyInfo.js.map +0 -1
  348. package/dist/esm/modules/tide-js/Models/Infos/OrkInfo.js +0 -50
  349. package/dist/esm/modules/tide-js/Models/Infos/OrkInfo.js.map +0 -1
  350. package/dist/esm/modules/tide-js/Models/InitializationCertificate.js +0 -32
  351. package/dist/esm/modules/tide-js/Models/InitializationCertificate.js.map +0 -1
  352. package/dist/esm/modules/tide-js/Models/ModelRegistry.js +0 -218
  353. package/dist/esm/modules/tide-js/Models/ModelRegistry.js.map +0 -1
  354. package/dist/esm/modules/tide-js/Models/Responses/KeyAuth/Authenticate/AuthenticateResponse.js +0 -31
  355. package/dist/esm/modules/tide-js/Models/Responses/KeyAuth/Authenticate/AuthenticateResponse.js.map +0 -1
  356. package/dist/esm/modules/tide-js/Models/Responses/KeyAuth/Convert/CMKConvertResponse.js +0 -33
  357. package/dist/esm/modules/tide-js/Models/Responses/KeyAuth/Convert/CMKConvertResponse.js.map +0 -1
  358. package/dist/esm/modules/tide-js/Models/Responses/KeyAuth/Convert/ConvertRememberedResponse.js +0 -33
  359. package/dist/esm/modules/tide-js/Models/Responses/KeyAuth/Convert/ConvertRememberedResponse.js.map +0 -1
  360. package/dist/esm/modules/tide-js/Models/Responses/KeyAuth/Convert/DecryptedCMKConvertResponse.js +0 -31
  361. package/dist/esm/modules/tide-js/Models/Responses/KeyAuth/Convert/DecryptedCMKConvertResponse.js.map +0 -1
  362. package/dist/esm/modules/tide-js/Models/Responses/KeyAuth/Convert/DecryptedConvertRememberedResponse.js +0 -34
  363. package/dist/esm/modules/tide-js/Models/Responses/KeyAuth/Convert/DecryptedConvertRememberedResponse.js.map +0 -1
  364. package/dist/esm/modules/tide-js/Models/Responses/KeyAuth/Convert/DecryptedDeviceConvertResponse.js +0 -39
  365. package/dist/esm/modules/tide-js/Models/Responses/KeyAuth/Convert/DecryptedDeviceConvertResponse.js.map +0 -1
  366. package/dist/esm/modules/tide-js/Models/Responses/KeyAuth/Convert/DecryptedPrismConvertResponse.js +0 -34
  367. package/dist/esm/modules/tide-js/Models/Responses/KeyAuth/Convert/DecryptedPrismConvertResponse.js.map +0 -1
  368. package/dist/esm/modules/tide-js/Models/Responses/KeyAuth/Convert/DeviceConvertResponse.js +0 -33
  369. package/dist/esm/modules/tide-js/Models/Responses/KeyAuth/Convert/DeviceConvertResponse.js.map +0 -1
  370. package/dist/esm/modules/tide-js/Models/Responses/KeyAuth/Convert/PrismConvertResponse.js +0 -33
  371. package/dist/esm/modules/tide-js/Models/Responses/KeyAuth/Convert/PrismConvertResponse.js.map +0 -1
  372. package/dist/esm/modules/tide-js/Models/Responses/KeyGen/GenShard/DecryptedGenShardResponse.js +0 -46
  373. package/dist/esm/modules/tide-js/Models/Responses/KeyGen/GenShard/DecryptedGenShardResponse.js.map +0 -1
  374. package/dist/esm/modules/tide-js/Models/Responses/KeyGen/GenShard/GenShardResponse.js +0 -31
  375. package/dist/esm/modules/tide-js/Models/Responses/KeyGen/GenShard/GenShardResponse.js.map +0 -1
  376. package/dist/esm/modules/tide-js/Models/Responses/KeyGen/SetShard/DecryptedSetShardResponse.js +0 -36
  377. package/dist/esm/modules/tide-js/Models/Responses/KeyGen/SetShard/DecryptedSetShardResponse.js.map +0 -1
  378. package/dist/esm/modules/tide-js/Models/Responses/KeyGen/SetShard/SetShardResponse.js +0 -28
  379. package/dist/esm/modules/tide-js/Models/Responses/KeyGen/SetShard/SetShardResponse.js.map +0 -1
  380. package/dist/esm/modules/tide-js/Models/Responses/Reservation/ReservationConfirmation.js +0 -23
  381. package/dist/esm/modules/tide-js/Models/Responses/Reservation/ReservationConfirmation.js.map +0 -1
  382. package/dist/esm/modules/tide-js/Models/Responses/Vendor/VoucherResponse.js +0 -38
  383. package/dist/esm/modules/tide-js/Models/Responses/Vendor/VoucherResponse.js.map +0 -1
  384. package/dist/esm/modules/tide-js/Models/Rules/RuleSettingSignRequest.js +0 -75
  385. package/dist/esm/modules/tide-js/Models/Rules/RuleSettingSignRequest.js.map +0 -1
  386. package/dist/esm/modules/tide-js/Models/Rules/RuleSettings.js +0 -25
  387. package/dist/esm/modules/tide-js/Models/Rules/RuleSettings.js.map +0 -1
  388. package/dist/esm/modules/tide-js/Models/SerializedField.js +0 -61
  389. package/dist/esm/modules/tide-js/Models/SerializedField.js.map +0 -1
  390. package/dist/esm/modules/tide-js/Models/Transactions/CardanoTxBodySignRequest.js +0 -51
  391. package/dist/esm/modules/tide-js/Models/Transactions/CardanoTxBodySignRequest.js.map +0 -1
  392. package/dist/esm/modules/tide-js/Models/VendorData.js +0 -30
  393. package/dist/esm/modules/tide-js/Models/VendorData.js.map +0 -1
  394. package/dist/esm/modules/tide-js/Models/VendorSettings.js +0 -23
  395. package/dist/esm/modules/tide-js/Models/VendorSettings.js.map +0 -1
  396. package/dist/esm/modules/tide-js/RulesEngine/RuleEngineService.js +0 -89
  397. package/dist/esm/modules/tide-js/RulesEngine/RuleEngineService.js.map +0 -1
  398. package/dist/esm/modules/tide-js/RulesEngine/helperFunctions.js +0 -69
  399. package/dist/esm/modules/tide-js/RulesEngine/helperFunctions.js.map +0 -1
  400. package/dist/esm/modules/tide-js/RulesEngine/jsonHelpers.js +0 -64
  401. package/dist/esm/modules/tide-js/RulesEngine/jsonHelpers.js.map +0 -1
  402. package/dist/esm/modules/tide-js/RulesEngine/thresholdRules.js +0 -100
  403. package/dist/esm/modules/tide-js/RulesEngine/thresholdRules.js.map +0 -1
  404. package/dist/esm/modules/tide-js/Tests/AccountRecovery.js +0 -52
  405. package/dist/esm/modules/tide-js/Tests/AccountRecovery.js.map +0 -1
  406. package/dist/esm/modules/tide-js/Tests/Components.js +0 -15
  407. package/dist/esm/modules/tide-js/Tests/Components.js.map +0 -1
  408. package/dist/esm/modules/tide-js/Tests/Encryption.js +0 -164
  409. package/dist/esm/modules/tide-js/Tests/Encryption.js.map +0 -1
  410. package/dist/esm/modules/tide-js/Tests/KeyAuthentication.js +0 -259
  411. package/dist/esm/modules/tide-js/Tests/KeyAuthentication.js.map +0 -1
  412. package/dist/esm/modules/tide-js/Tests/KeyGeneration.js +0 -215
  413. package/dist/esm/modules/tide-js/Tests/KeyGeneration.js.map +0 -1
  414. package/dist/esm/modules/tide-js/Tests/StripeLicensing.js +0 -34
  415. package/dist/esm/modules/tide-js/Tests/StripeLicensing.js.map +0 -1
  416. package/dist/esm/modules/tide-js/Tests/TideKey.js +0 -11
  417. package/dist/esm/modules/tide-js/Tests/TideKey.js.map +0 -1
  418. package/dist/esm/modules/tide-js/Tests/Tunelling.js +0 -56
  419. package/dist/esm/modules/tide-js/Tests/Tunelling.js.map +0 -1
  420. package/dist/esm/modules/tide-js/Tests/Verifier.js +0 -9
  421. package/dist/esm/modules/tide-js/Tests/Verifier.js.map +0 -1
  422. package/dist/esm/modules/tide-js/Tests/index.js +0 -44
  423. package/dist/esm/modules/tide-js/Tests/index.js.map +0 -1
  424. package/dist/esm/modules/tide-js/Tools/Utils.js +0 -275
  425. package/dist/esm/modules/tide-js/Tools/Utils.js.map +0 -1
  426. package/dist/esm/modules/tide-js/index.js +0 -27
  427. package/dist/esm/modules/tide-js/index.js.map +0 -1
  428. package/dist/types/modules/tide-js/Clients/ClientBase.d.ts +0 -72
  429. package/dist/types/modules/tide-js/Clients/EnclaveToMobileTunnelClient.d.ts +0 -19
  430. package/dist/types/modules/tide-js/Clients/NetworkClient.d.ts +0 -23
  431. package/dist/types/modules/tide-js/Clients/NodeClient.d.ts +0 -211
  432. package/dist/types/modules/tide-js/Clients/PollingClient.d.ts +0 -22
  433. package/dist/types/modules/tide-js/Clients/VoucherClient.d.ts +0 -12
  434. package/dist/types/modules/tide-js/Clients/WebSocketClientBase.d.ts +0 -12
  435. package/dist/types/modules/tide-js/Cryptide/Components/BaseComponent.d.ts +0 -59
  436. package/dist/types/modules/tide-js/Cryptide/Components/ComponentRegistry.d.ts +0 -19
  437. package/dist/types/modules/tide-js/Cryptide/Components/Schemes/AES/AESScheme.d.ts +0 -4
  438. package/dist/types/modules/tide-js/Cryptide/Components/Schemes/BaseScheme.d.ts +0 -10
  439. package/dist/types/modules/tide-js/Cryptide/Components/Schemes/Ed25519/Ed25519Components.d.ts +0 -51
  440. package/dist/types/modules/tide-js/Cryptide/Components/Schemes/Ed25519/Ed25519Scheme.d.ts +0 -12
  441. package/dist/types/modules/tide-js/Cryptide/Components/Schemes/SchemeRegistry.d.ts +0 -3
  442. package/dist/types/modules/tide-js/Cryptide/Ed25519.d.ts +0 -114
  443. package/dist/types/modules/tide-js/Cryptide/Encryption/AES.d.ts +0 -30
  444. package/dist/types/modules/tide-js/Cryptide/Encryption/DH.d.ts +0 -12
  445. package/dist/types/modules/tide-js/Cryptide/Encryption/ElGamal.d.ts +0 -25
  446. package/dist/types/modules/tide-js/Cryptide/Hashing/H2P.d.ts +0 -7
  447. package/dist/types/modules/tide-js/Cryptide/Hashing/Hash.d.ts +0 -16
  448. package/dist/types/modules/tide-js/Cryptide/Interpolation.d.ts +0 -47
  449. package/dist/types/modules/tide-js/Cryptide/Math.d.ts +0 -45
  450. package/dist/types/modules/tide-js/Cryptide/Serialization.d.ts +0 -195
  451. package/dist/types/modules/tide-js/Cryptide/Signing/BlindSig.d.ts +0 -32
  452. package/dist/types/modules/tide-js/Cryptide/Signing/EdDSA.d.ts +0 -24
  453. package/dist/types/modules/tide-js/Cryptide/Signing/TideSignature.d.ts +0 -50
  454. package/dist/types/modules/tide-js/Cryptide/TideKey.d.ts +0 -26
  455. package/dist/types/modules/tide-js/Cryptide/TideMemoryObjects.d.ts +0 -15
  456. package/dist/types/modules/tide-js/Cryptide/index.d.ts +0 -10
  457. package/dist/types/modules/tide-js/Flow/AuthenticationFlows/dCMKAcceptAdminFlow.d.ts +0 -2
  458. package/dist/types/modules/tide-js/Flow/AuthenticationFlows/dCMKPasswordFlow.d.ts +0 -63
  459. package/dist/types/modules/tide-js/Flow/AuthenticationFlows/dCMKPasswordlessFlow.d.ts +0 -37
  460. package/dist/types/modules/tide-js/Flow/AuthenticationFlows/dMobileAuthenticationFlow.d.ts +0 -39
  461. package/dist/types/modules/tide-js/Flow/DecryptionFlows/dVVKDecryptionFlow.d.ts +0 -31
  462. package/dist/types/modules/tide-js/Flow/EncryptionFlows/AuthorizedEncryptionFlow.d.ts +0 -75
  463. package/dist/types/modules/tide-js/Flow/SigningFlows/AuthorizedSigningFlow.d.ts +0 -51
  464. package/dist/types/modules/tide-js/Flow/SigningFlows/dTestVVkSigningFlow.d.ts +0 -25
  465. package/dist/types/modules/tide-js/Flow/SigningFlows/dVVKSigningFlow.d.ts +0 -32
  466. package/dist/types/modules/tide-js/Flow/SigningFlows/dVVKSigningFlow2Step.d.ts +0 -69
  467. package/dist/types/modules/tide-js/Flow/SigningFlows/dVVKSigningFlow_DEPRECATED.d.ts +0 -30
  468. package/dist/types/modules/tide-js/Flow/SimulatorFlow.d.ts +0 -13
  469. package/dist/types/modules/tide-js/Flow/VoucherFlows/VoucherFlow.d.ts +0 -23
  470. package/dist/types/modules/tide-js/Flow/dAccountRecoveryFlow.d.ts +0 -41
  471. package/dist/types/modules/tide-js/Flow/dKeyGenerationFlow.d.ts +0 -88
  472. package/dist/types/modules/tide-js/Math/DecryptRequest.d.ts +0 -19
  473. package/dist/types/modules/tide-js/Math/EncryptRequest.d.ts +0 -57
  474. package/dist/types/modules/tide-js/Math/KeyAuthentication.d.ts +0 -144
  475. package/dist/types/modules/tide-js/Math/KeyDecryption.d.ts +0 -7
  476. package/dist/types/modules/tide-js/Math/KeyGeneration.d.ts +0 -42
  477. package/dist/types/modules/tide-js/Math/KeySigning.d.ts +0 -10
  478. package/dist/types/modules/tide-js/Models/AdminAuthorization.d.ts +0 -16
  479. package/dist/types/modules/tide-js/Models/AuthRequest.d.ts +0 -28
  480. package/dist/types/modules/tide-js/Models/AuthorizationBuilder.d.ts +0 -17
  481. package/dist/types/modules/tide-js/Models/BaseTideRequest.d.ts +0 -61
  482. package/dist/types/modules/tide-js/Models/Cardano/CardanoTxBody.d.ts +0 -16
  483. package/dist/types/modules/tide-js/Models/Datum.d.ts +0 -14
  484. package/dist/types/modules/tide-js/Models/Doken.d.ts +0 -52
  485. package/dist/types/modules/tide-js/Models/EnclaveEntry.d.ts +0 -22
  486. package/dist/types/modules/tide-js/Models/Infos/KeyInfo.d.ts +0 -30
  487. package/dist/types/modules/tide-js/Models/Infos/OrkInfo.d.ts +0 -24
  488. package/dist/types/modules/tide-js/Models/InitializationCertificate.d.ts +0 -21
  489. package/dist/types/modules/tide-js/Models/ModelRegistry.d.ts +0 -15
  490. package/dist/types/modules/tide-js/Models/Responses/KeyAuth/Authenticate/AuthenticateResponse.d.ts +0 -9
  491. package/dist/types/modules/tide-js/Models/Responses/KeyAuth/Convert/CMKConvertResponse.d.ts +0 -11
  492. package/dist/types/modules/tide-js/Models/Responses/KeyAuth/Convert/ConvertRememberedResponse.d.ts +0 -11
  493. package/dist/types/modules/tide-js/Models/Responses/KeyAuth/Convert/DecryptedCMKConvertResponse.d.ts +0 -9
  494. package/dist/types/modules/tide-js/Models/Responses/KeyAuth/Convert/DecryptedConvertRememberedResponse.d.ts +0 -11
  495. package/dist/types/modules/tide-js/Models/Responses/KeyAuth/Convert/DecryptedDeviceConvertResponse.d.ts +0 -15
  496. package/dist/types/modules/tide-js/Models/Responses/KeyAuth/Convert/DecryptedPrismConvertResponse.d.ts +0 -12
  497. package/dist/types/modules/tide-js/Models/Responses/KeyAuth/Convert/DeviceConvertResponse.d.ts +0 -11
  498. package/dist/types/modules/tide-js/Models/Responses/KeyAuth/Convert/PrismConvertResponse.d.ts +0 -11
  499. package/dist/types/modules/tide-js/Models/Responses/KeyGen/GenShard/DecryptedGenShardResponse.d.ts +0 -18
  500. package/dist/types/modules/tide-js/Models/Responses/KeyGen/GenShard/GenShardResponse.d.ts +0 -10
  501. package/dist/types/modules/tide-js/Models/Responses/KeyGen/SetShard/DecryptedSetShardResponse.d.ts +0 -10
  502. package/dist/types/modules/tide-js/Models/Responses/KeyGen/SetShard/SetShardResponse.d.ts +0 -8
  503. package/dist/types/modules/tide-js/Models/Responses/Reservation/ReservationConfirmation.d.ts +0 -14
  504. package/dist/types/modules/tide-js/Models/Responses/Vendor/VoucherResponse.d.ts +0 -25
  505. package/dist/types/modules/tide-js/Models/Rules/RuleSettingSignRequest.d.ts +0 -39
  506. package/dist/types/modules/tide-js/Models/Rules/RuleSettings.d.ts +0 -12
  507. package/dist/types/modules/tide-js/Models/SerializedField.d.ts +0 -20
  508. package/dist/types/modules/tide-js/Models/Transactions/CardanoTxBodySignRequest.d.ts +0 -29
  509. package/dist/types/modules/tide-js/Models/VendorData.d.ts +0 -17
  510. package/dist/types/modules/tide-js/Models/VendorSettings.d.ts +0 -14
  511. package/dist/types/modules/tide-js/RulesEngine/RuleEngineService.d.ts +0 -25
  512. package/dist/types/modules/tide-js/RulesEngine/helperFunctions.d.ts +0 -7
  513. package/dist/types/modules/tide-js/RulesEngine/jsonHelpers.d.ts +0 -11
  514. package/dist/types/modules/tide-js/RulesEngine/thresholdRules.d.ts +0 -17
  515. package/dist/types/modules/tide-js/Tests/AccountRecovery.d.ts +0 -1
  516. package/dist/types/modules/tide-js/Tests/Components.d.ts +0 -1
  517. package/dist/types/modules/tide-js/Tests/Encryption.d.ts +0 -3
  518. package/dist/types/modules/tide-js/Tests/KeyAuthentication.d.ts +0 -6
  519. package/dist/types/modules/tide-js/Tests/KeyGeneration.d.ts +0 -4
  520. package/dist/types/modules/tide-js/Tests/StripeLicensing.d.ts +0 -2
  521. package/dist/types/modules/tide-js/Tests/TideKey.d.ts +0 -1
  522. package/dist/types/modules/tide-js/Tests/Tunelling.d.ts +0 -2
  523. package/dist/types/modules/tide-js/Tests/Verifier.d.ts +0 -1
  524. package/dist/types/modules/tide-js/Tests/index.d.ts +0 -44
  525. package/dist/types/modules/tide-js/Tools/Utils.d.ts +0 -34
  526. package/dist/types/modules/tide-js/index.d.ts +0 -8
  527. package/scripts/postinstall.js +0 -43
  528. /package/dist/types/{modules/tide-js/Flow/AuthenticationFlows/dCVKAuthenticationFlow.d.ts → policy-react.d.ts} +0 -0
@@ -1,535 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.verifyAsync = exports.verify = exports.utils = exports.signNonDeterministicAsync = exports.signAsync = exports.sign = exports.getPublicKeyAsync = exports.getPublicKey = exports.Point = exports.etc = exports.CURVE = void 0;
4
- //
5
- // Tide Protocol - Infrastructure for a TRUE Zero-Trust paradigm
6
- // Copyright (C) 2022 Tide Foundation Ltd
7
- //
8
- // This program is free software and is subject to the terms of
9
- // the Tide Community Open Code License as published by the
10
- // Tide Foundation Limited. You may modify it and redistribute
11
- // it in accordance with and subject to the terms of that License.
12
- // This program is distributed WITHOUT WARRANTY of any kind,
13
- // including without any implied warranty of MERCHANTABILITY or
14
- // FITNESS FOR A PARTICULAR PURPOSE.
15
- // See the Tide Community Open Code License for more details.
16
- // You should have received a copy of the Tide Community Open
17
- // Code License along with this program.
18
- // If not, see https://tide.org/licenses_tcoc2-0-0-en
19
- //
20
- // Some parts of the code were taken from @noble/curves project and are protected under the following license:
21
- //
22
- // The MIT License (MIT)
23
- //
24
- // Copyright (c) 2022 Paul Miller (https://paulmillr.com)
25
- //
26
- // Permission is hereby granted, free of charge, to any person obtaining a copy
27
- // of this software and associated documentation files (the "Software"), to deal
28
- // in the Software without restriction, including without limitation the rights
29
- // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
30
- // copies of the Software, and to permit persons to whom the Software is
31
- // furnished to do so, subject to the following conditions:
32
- //
33
- // The above copyright notice and this permission notice shall be included in
34
- // all copies or substantial portions of the Software.
35
- //
36
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
37
- // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
38
- // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
39
- // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
40
- // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
41
- // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
42
- // THE SOFTWARE.
43
- //
44
- const Serialization_js_1 = require("./Serialization.js");
45
- const Hash_js_1 = require("./Hashing/Hash.js");
46
- const P = 2n ** 255n - 19n; // ed25519 is twisted edwards curve
47
- const N = 2n ** 252n + 27742317777372353535851937790883648493n; // curve's (group) order
48
- const Gx = 0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51an; // base point x
49
- const Gy = 0x6666666666666666666666666666666666666666666666666666666666666658n; // base point y
50
- const _d = 37095705934669439343138083508754565189542113879843219016388785533085940283555n;
51
- const MASK = 2n ** 256n;
52
- /**
53
- * ed25519 curve parameters. Equation is −x² + y² = -a + dx²y².
54
- * Gx and Gy are generator coordinates. p is field order, n is group order.
55
- * h is cofactor.
56
- */
57
- const CURVE = {
58
- a: -1n, // -1 mod p
59
- d: _d, // -(121665/121666) mod p
60
- p: P, n: N, h: 8, Gx: Gx, Gy: Gy // field prime, curve (group) order, cofactor
61
- };
62
- exports.CURVE = CURVE;
63
- const err = (m = '') => { throw new Error(m); }; // error helper, messes-up stack trace
64
- const isS = (s) => typeof s === 'string'; // is string
65
- const isB = (s) => typeof s === 'bigint'; // is bigint
66
- const isu8 = (a) => (a instanceof Uint8Array || (ArrayBuffer.isView(a) && a.constructor.name === 'Uint8Array'));
67
- const au8 = (a, l) => // is Uint8Array (of specific length)
68
- !isu8(a) || (typeof l === 'number' && l > 0 && a.length !== l) ?
69
- err('Uint8Array of valid length expected') : a;
70
- const u8n = (len) => new Uint8Array(len); // creates Uint8Array
71
- const u8fr = (buf) => Uint8Array.from(buf);
72
- const toU8 = (a, len) => au8(isS(a) ? h2b(a) : u8fr(au8(a)), len); // norm(hex/u8a) to u8a
73
- const M = (a, b = P) => { let r = a % b; return r >= 0n ? r : b + r; }; // mod division
74
- const arange = (n, min, max = MASK, msg = 'bad number: out of range') => isB(n) && min <= n && n < max ? n : err(msg);
75
- const apoint = (p) => (p instanceof Point ? p : err('Point expected')); // is xyzt point
76
- /** Point in xyzt extended coordinates. */
77
- class Point {
78
- constructor(ex, ey, ez, et) {
79
- this.ex = arange(ex, 0n);
80
- this.ey = arange(ey, 0n);
81
- this.ez = arange(ez, 1n);
82
- this.et = arange(et, 0n);
83
- Object.freeze(this);
84
- }
85
- static fromAffine(p) { return new Point(p.x, p.y, 1n, M(p.x * p.y)); }
86
- /** RFC8032 5.1.3: hex / Uint8Array to Point. */
87
- static fromHex(hex) {
88
- hex = toU8(hex, 32);
89
- return this.fromBytes(hex);
90
- }
91
- static fromBase64(b64string) {
92
- if (isS(b64string))
93
- return this.fromBytes((0, Serialization_js_1.base64ToBytes)(b64string));
94
- else
95
- err("Point.fromBase64 not provided with a string");
96
- }
97
- static fromBytes(bytes, zip215 = false) {
98
- const { d } = CURVE;
99
- const normed = bytes.slice(); // copy the array to not mess it up
100
- const lastByte = bytes[31];
101
- normed[31] = lastByte & ~0x80; // adjust first LE byte = last BE byte
102
- const y = b2n_LE(normed); // decode as little-endian, convert to num
103
- const max = zip215 ? MASK : P; // RFC8032 prohibits >= p, ZIP215 doesn't
104
- arange(y, 0n, max); // zip215=true: 0 <= y < 2^256
105
- // zip215=false: 0 <= y < 2^255-19
106
- const y2 = M(y * y); // y²
107
- const u = M(y2 - 1n); // u=y²-1
108
- const v = M(d * y2 + 1n); // v=dy²+1
109
- let { isValid, value: x } = uvRatio(u, v); // (uv³)(uv⁷)^(p-5)/8; square root
110
- if (!isValid)
111
- err('bad y coord 3'); // not square root: bad point
112
- const isXOdd = (x & 1n) === 1n; // adjust sign of x coordinate
113
- const isLastByteOdd = (lastByte & 0x80) !== 0; // x_0, last bit
114
- if (!zip215 && x === 0n && isLastByteOdd)
115
- err('bad y coord 4'); // x=0 and x_0 = 1
116
- if (isLastByteOdd !== isXOdd)
117
- x = M(-x);
118
- return new Point(x, y, 1n, M(x * y)); // Z=1, T=xy
119
- }
120
- get x() { return this.toAffine().x; } // .x, .y will call expensive toAffine.
121
- get y() { return this.toAffine().y; } // Should be used with care.
122
- assertValidity() {
123
- const { a, d } = CURVE;
124
- const p = this;
125
- if (p.is0())
126
- throw new Error('bad point: ZERO'); // TODO: optimize, with vars below?
127
- // Equation in affine coordinates: ax² + y² = 1 + dx²y²
128
- // Equation in projective coordinates (X/Z, Y/Z, Z): (aX² + Y²)Z² = Z⁴ + dX²Y²
129
- const { ex: X, ey: Y, ez: Z, et: T } = p;
130
- const X2 = M(X * X); // X²
131
- const Y2 = M(Y * Y); // Y²
132
- const Z2 = M(Z * Z); // Z²
133
- const Z4 = M(Z2 * Z2); // Z⁴
134
- const aX2 = M(X2 * a); // aX²
135
- const left = M(Z2 * M(aX2 + Y2)); // (aX² + Y²)Z²
136
- const right = M(Z4 + M(d * M(X2 * Y2))); // Z⁴ + dX²Y²
137
- if (left !== right)
138
- throw new Error('bad point: equation left != right (1)');
139
- // In Extended coordinates we also have T, which is x*y=T/Z: check X*Y == Z*T
140
- const XY = M(X * Y);
141
- const ZT = M(Z * T);
142
- if (XY !== ZT)
143
- throw new Error('bad point: equation left != right (2)');
144
- return true;
145
- }
146
- equals(other) {
147
- const { ex: X1, ey: Y1, ez: Z1 } = this;
148
- const { ex: X2, ey: Y2, ez: Z2 } = apoint(other); // isPoint() checks class equality
149
- const X1Z2 = M(X1 * Z2), X2Z1 = M(X2 * Z1);
150
- const Y1Z2 = M(Y1 * Z2), Y2Z1 = M(Y2 * Z1);
151
- return X1Z2 === X2Z1 && Y1Z2 === Y2Z1;
152
- }
153
- is0() { return this.equals(I); }
154
- negate() {
155
- return new Point(M(-this.ex), this.ey, this.ez, M(-this.et));
156
- }
157
- /** Point doubling. Complete formula. */
158
- double() {
159
- const { ex: X1, ey: Y1, ez: Z1 } = this; // Cost: 4M + 4S + 1*a + 6add + 1*2
160
- const { a } = CURVE; // https://hyperelliptic.org/EFD/g1p/auto-twisted-extended.html#doubling-dbl-2008-hwcd
161
- const A = M(X1 * X1);
162
- const B = M(Y1 * Y1);
163
- const C = M(2n * M(Z1 * Z1));
164
- const D = M(a * A);
165
- const x1y1 = X1 + Y1;
166
- const E = M(M(x1y1 * x1y1) - A - B);
167
- const G = D + B;
168
- const F = G - C;
169
- const H = D - B;
170
- const X3 = M(E * F);
171
- const Y3 = M(G * H);
172
- const T3 = M(E * H);
173
- const Z3 = M(F * G);
174
- return new Point(X3, Y3, Z3, T3);
175
- }
176
- /** Point addition. Complete formula. */
177
- add(other) {
178
- const { ex: X1, ey: Y1, ez: Z1, et: T1 } = this; // Cost: 8M + 1*k + 8add + 1*2.
179
- const { ex: X2, ey: Y2, ez: Z2, et: T2 } = apoint(other); // doesn't check if other on-curve
180
- const { a, d } = CURVE; // http://hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html#addition-add-2008-hwcd-3
181
- const A = M(X1 * X2);
182
- const B = M(Y1 * Y2);
183
- const C = M(T1 * d * T2);
184
- const D = M(Z1 * Z2);
185
- const E = M((X1 + Y1) * (X2 + Y2) - A - B);
186
- const F = M(D - C);
187
- const G = M(D + C);
188
- const H = M(B - a * A);
189
- const X3 = M(E * F);
190
- const Y3 = M(G * H);
191
- const T3 = M(E * H);
192
- const Z3 = M(F * G);
193
- return new Point(X3, Y3, Z3, T3);
194
- }
195
- mul(n, safe = true) {
196
- if (n === 0n)
197
- return safe === true ? err('cannot multiply by 0') : I;
198
- arange(n, 1n, N);
199
- if (n === 1n || (!safe && this.is0()))
200
- return this; // safe=true bans 0. safe=false allows 0.
201
- if (this.equals(G))
202
- return wNAF(n).p; // use wNAF precomputes for base points
203
- let p = I, f = G; // init result point & fake point
204
- for (let d = this; n > 0n; d = d.double(), n >>= 1n) { // double-and-add ladder
205
- if (n & 1n)
206
- p = p.add(d); // if bit is present, add to point
207
- else if (safe)
208
- f = f.add(d); // if not, add to fake for timing safety
209
- }
210
- return p;
211
- }
212
- multiply(scalar) { return this.mul(scalar); } // Aliases for compatibilty
213
- divide(scalar) { return this.mul(invert(scalar, CURVE.n)); }
214
- clearCofactor() { return this.mul(BigInt(CURVE.h), false); } // multiply by cofactor
215
- isSmallOrder() { return this.clearCofactor().is0(); } // check if P is small order
216
- isTorsionFree() {
217
- let p = this.mul(N / 2n, false).double(); // ensures the point is not "bad".
218
- if (N % 2n)
219
- p = p.add(this); // P^(N+1) // P*N == (P*(N/2))*2+P
220
- return p.is0();
221
- }
222
- /** converts point to 2d xy affine point. (x, y, z, t) ∋ (x=x/z, y=y/z, t=xy). */
223
- toAffine() {
224
- const { ex: x, ey: y, ez: z } = this;
225
- if (this.equals(I))
226
- return { x: 0n, y: 1n }; // fast-path for zero point
227
- const iz = invert(z, P); // z^-1: invert z
228
- if (M(z * iz) !== 1n)
229
- err('invalid inverse'); // (z * z^-1) must be 1, otherwise bad math
230
- return { x: M(x * iz), y: M(y * iz) }; // x = x*z^-1; y = y*z^-1
231
- }
232
- toRawBytes() {
233
- const { x, y } = this.toAffine(); // convert to affine 2d point
234
- this.assertValidity();
235
- const b = n2b_32LE(y); // encode number to 32 bytes
236
- b[31] |= x & 1n ? 0x80 : 0; // store sign in first LE byte
237
- return b;
238
- }
239
- toHex() { return b2h(this.toRawBytes()); } // encode to hex string
240
- toBase64() { return (0, Serialization_js_1.bytesToBase64)(this.toRawBytes()); }
241
- async hash() { return M(b2n_LE(await (0, Hash_js_1.SHA256_Digest)(this.toRawBytes())), CURVE.n); }
242
- }
243
- exports.Point = Point;
244
- /** Generator / Base point */
245
- Point.BASE = new Point(Gx, Gy, 1n, M(Gx * Gy));
246
- /** Identity / Zero point */
247
- Point.ZERO = new Point(0n, 1n, 1n, 0n);
248
- const { BASE: G, ZERO: I } = Point; // Generator, identity points
249
- const padh = (num, pad) => num.toString(16).padStart(pad, '0');
250
- const b2h = (b) => Array.from(au8(b)).map(e => padh(e, 2)).join(''); // bytes to hex
251
- const C = { _0: 48, _9: 57, A: 65, F: 70, a: 97, f: 102 }; // ASCII characters
252
- const _ch = (ch) => {
253
- if (ch >= C._0 && ch <= C._9)
254
- return ch - C._0; // '2' => 50-48
255
- if (ch >= C.A && ch <= C.F)
256
- return ch - (C.A - 10); // 'B' => 66-(65-10)
257
- if (ch >= C.a && ch <= C.f)
258
- return ch - (C.a - 10); // 'b' => 98-(97-10)
259
- return;
260
- };
261
- const h2b = (hex) => {
262
- const e = 'hex invalid';
263
- if (!isS(hex))
264
- return err(e);
265
- const hl = hex.length, al = hl / 2;
266
- if (hl % 2)
267
- return err(e);
268
- const array = u8n(al);
269
- for (let ai = 0, hi = 0; ai < al; ai++, hi += 2) { // treat each char as ASCII
270
- const n1 = _ch(hex.charCodeAt(hi)); // parse first char, multiply it by 16
271
- const n2 = _ch(hex.charCodeAt(hi + 1)); // parse second char
272
- if (n1 === undefined || n2 === undefined)
273
- return err(e);
274
- array[ai] = n1 * 16 + n2; // example: 'A9' => 10*16 + 9
275
- }
276
- return array;
277
- };
278
- const n2b_32LE = (num) => h2b(padh(num, 32 * 2)).reverse(); // number to bytes LE
279
- const b2n_LE = (b) => BigInt('0x' + b2h(u8fr(au8(b)).reverse())); // bytes LE to num
280
- const concatB = (...arrs) => {
281
- const r = u8n(arrs.reduce((sum, a) => sum + au8(a).length, 0)); // create u8a of summed length
282
- let pad = 0; // walk through each array,
283
- arrs.forEach(a => { r.set(a, pad); pad += a.length; }); // ensure they have proper type
284
- return r;
285
- };
286
- const invert = (num, md) => {
287
- if (!isB(num))
288
- throw Error("Expecting bigint");
289
- if (num === 0n || md <= 0n)
290
- err('no inverse n=' + num + ' mod=' + md); // no neg exponent for now
291
- let a = M(num, md), b = md, x = 0n, y = 1n, u = 1n, v = 0n;
292
- while (a !== 0n) { // uses euclidean gcd algorithm
293
- const q = b / a, r = b % a; // not constant-time
294
- const m = x - u * q, n = y - v * q;
295
- b = a, a = r, x = u, y = v, u = m, v = n;
296
- }
297
- return b === 1n ? M(x, md) : err('no inverse'); // b is gcd at this point
298
- };
299
- const pow2 = (x, power) => {
300
- let r = x;
301
- while (power-- > 0n) {
302
- r *= r;
303
- r %= P;
304
- }
305
- return r;
306
- };
307
- const pow_2_252_3 = (x) => {
308
- const x2 = (x * x) % P; // x^2, bits 1
309
- const b2 = (x2 * x) % P; // x^3, bits 11
310
- const b4 = (pow2(b2, 2n) * b2) % P; // x^(2^4-1), bits 1111
311
- const b5 = (pow2(b4, 1n) * x) % P; // x^(2^5-1), bits 11111
312
- const b10 = (pow2(b5, 5n) * b5) % P; // x^(2^10)
313
- const b20 = (pow2(b10, 10n) * b10) % P; // x^(2^20)
314
- const b40 = (pow2(b20, 20n) * b20) % P; // x^(2^40)
315
- const b80 = (pow2(b40, 40n) * b40) % P; // x^(2^80)
316
- const b160 = (pow2(b80, 80n) * b80) % P; // x^(2^160)
317
- const b240 = (pow2(b160, 80n) * b80) % P; // x^(2^240)
318
- const b250 = (pow2(b240, 10n) * b10) % P; // x^(2^250)
319
- const pow_p_5_8 = (pow2(b250, 2n) * x) % P; // < To pow to (p+3)/8, multiply it by x.
320
- return { pow_p_5_8, b2 };
321
- };
322
- const RM1 = 19681161376707505956807079304988542015446066515923890162744021073123829784752n; // √-1
323
- const uvRatio = (u, v) => {
324
- const v3 = M(v * v * v); // v³
325
- const v7 = M(v3 * v3 * v); // v⁷
326
- const pow = pow_2_252_3(u * v7).pow_p_5_8; // (uv⁷)^(p-5)/8
327
- let x = M(u * v3 * pow); // (uv³)(uv⁷)^(p-5)/8
328
- const vx2 = M(v * x * x); // vx²
329
- const root1 = x; // First root candidate
330
- const root2 = M(x * RM1); // Second root candidate; RM1 is √-1
331
- const useRoot1 = vx2 === u; // If vx² = u (mod p), x is a square root
332
- const useRoot2 = vx2 === M(-u); // If vx² = -u, set x <-- x * 2^((p-1)/4)
333
- const noRoot = vx2 === M(-u * RM1); // There is no valid root, vx² = -u√-1
334
- if (useRoot1)
335
- x = root1;
336
- if (useRoot2 || noRoot)
337
- x = root2; // We return root2 anyway, for const-time
338
- if ((M(x) & 1n) === 1n)
339
- x = M(-x); // edIsNegative
340
- return { isValid: useRoot1 || useRoot2, value: x };
341
- };
342
- const modL_LE = (hash) => M(b2n_LE(hash), N); // modulo L; but little-endian
343
- const sha512a = (...m) => etc.sha512Async(...m); // Async SHA512
344
- const sha512s = (...m) => {
345
- const fn = etc.sha512Sync;
346
- if (typeof fn !== 'function')
347
- err('etc.sha512Sync not set');
348
- return fn(...m);
349
- };
350
- const hash2extK = (hashed) => {
351
- const head = hashed.slice(0, 32); // slice creates a copy, unlike subarray
352
- head[0] &= 248; // Clamp bits: 0b1111_1000,
353
- head[31] &= 127; // 0b0111_1111,
354
- head[31] |= 64; // 0b0100_0000
355
- const prefix = hashed.slice(32, 64); // private key "prefix"
356
- const scalar = modL_LE(head); // modular division over curve order
357
- const point = G.mul(scalar); // public key point
358
- const pointBytes = point.toRawBytes(); // point serialized to Uint8Array
359
- return { head, prefix, scalar, point, pointBytes };
360
- };
361
- // RFC8032 5.1.5; getPublicKey async, sync. Hash priv key and extract point.
362
- const getExtendedPublicKeyAsync = (priv) => sha512a(toU8(priv, 32)).then(hash2extK);
363
- const getExtendedNonDeterministicPublicKeyAsync = (priv) => {
364
- const prefix = etc.randomBytes(32); // private key "prefix"
365
- const point = G.mul(priv); // public key point
366
- const pointBytes = point.toRawBytes(); // point serialized to Uint8Array
367
- return { head: undefined, prefix, scalar: priv, point, pointBytes }; // head is undefined as we didn't hash the priv
368
- };
369
- const getExtendedPublicKey = (priv) => hash2extK(sha512s(toU8(priv, 32)));
370
- /** Creates 32-byte ed25519 public key from 32-byte private key. Async. */
371
- const getPublicKeyAsync = (priv) => getExtendedPublicKeyAsync(priv).then(p => p.pointBytes);
372
- exports.getPublicKeyAsync = getPublicKeyAsync;
373
- /** Creates 32-byte ed25519 public key from 32-byte private key. To use, set `etc.sha512Sync` first. */
374
- const getPublicKey = (priv) => getExtendedPublicKey(priv).pointBytes;
375
- exports.getPublicKey = getPublicKey;
376
- function hashFinish(asynchronous, res) {
377
- if (asynchronous)
378
- return sha512a(res.hashable).then(res.finish);
379
- return res.finish(sha512s(res.hashable));
380
- }
381
- const _sign = (e, rBytes, msg) => {
382
- const { pointBytes: P, scalar: s } = e;
383
- const r = modL_LE(rBytes); // r was created outside, reduce it modulo L
384
- const R = G.mul(r).toRawBytes(); // R = [r]B
385
- const hashable = concatB(R, P, msg); // dom2(F, C) || R || A || PH(M)
386
- const finish = (hashed) => {
387
- const S = M(r + modL_LE(hashed) * s, N); // S = (r + k * s) mod L; 0 <= s < l
388
- return au8(concatB(R, n2b_32LE(S)), 64); // 64-byte sig: 32b R.x + 32b LE(S)
389
- };
390
- return { hashable, finish };
391
- };
392
- /** Signs message (NOT message hash) using private key. Async. */
393
- const signAsync = async (msg, privKey) => {
394
- const m = toU8(msg); // RFC8032 5.1.6: sign msg with key async
395
- const e = await getExtendedPublicKeyAsync(privKey); // pub,prfx
396
- const rBytes = await sha512a(e.prefix, m); // r = SHA512(dom2(F, C) || prefix || PH(M))
397
- return hashFinish(true, _sign(e, rBytes, m)); // gen R, k, S, then 64-byte signature
398
- };
399
- exports.signAsync = signAsync;
400
- /** Signs message (NOT message hash) using private key without determinism. Async. */
401
- const signNonDeterministicAsync = async (msg, privKey) => {
402
- const m = toU8(msg); // RFC8032 5.1.6: sign msg with key async
403
- const e = await getExtendedNonDeterministicPublicKeyAsync(privKey); // pub,prfx
404
- const rBytes = await sha512a(e.prefix, m); // r = SHA512(dom2(F, C) || prefix || PH(M))
405
- return hashFinish(true, _sign(e, rBytes, m)); // gen R, k, S, then 64-byte signature
406
- };
407
- exports.signNonDeterministicAsync = signNonDeterministicAsync;
408
- /** Signs message (NOT message hash) using private key. To use, set `etc.sha512Sync` first. */
409
- const sign = (msg, privKey) => {
410
- const m = toU8(msg); // RFC8032 5.1.6: sign msg with key sync
411
- const e = getExtendedPublicKey(privKey); // pub,prfx
412
- const rBytes = sha512s(e.prefix, m); // r = SHA512(dom2(F, C) || prefix || PH(M))
413
- return hashFinish(false, _sign(e, rBytes, m)); // gen R, k, S, then 64-byte signature
414
- };
415
- exports.sign = sign;
416
- const dvo = { zip215: false }; // Julio set this to false
417
- const _verify = (sig, msg, pub, opts = dvo) => {
418
- sig = toU8(sig, 64); // Signature hex str/Bytes, must be 64 bytes
419
- msg = toU8(msg); // Message hex str/Bytes
420
- pub = toU8(pub, 32);
421
- const { zip215 } = opts; // switch between zip215 and rfc8032 verif
422
- let A, R, s, SB, hashable = new Uint8Array();
423
- try {
424
- A = Point.fromHex(pub, zip215); // public key A decoded
425
- R = Point.fromHex(sig.slice(0, 32), zip215); // 0 <= R < 2^256: ZIP215 R can be >= P
426
- s = b2n_LE(sig.slice(32, 64)); // Decode second half as an integer S
427
- SB = G.mul(s, false); // in the range 0 <= s < L
428
- hashable = concatB(R.toRawBytes(), A.toRawBytes(), msg); // dom2(F, C) || R || A || PH(M)
429
- }
430
- catch (error) { }
431
- const finish = (hashed) => {
432
- if (SB == null)
433
- return false; // false if try-catch catched an error
434
- if (!zip215 && A.isSmallOrder())
435
- return false; // false for SBS: Strongly Binding Signature
436
- const k = modL_LE(hashed); // decode in little-endian, modulo L
437
- const RkA = R.add(A.mul(k, false)); // [8]R + [8][k]A'
438
- return RkA.add(SB.negate()).clearCofactor().is0(); // [8][S]B = [8]R + [8][k]A'
439
- };
440
- return { hashable, finish };
441
- };
442
- // RFC8032 5.1.7: verification async, sync
443
- /** Verifies signature on message and public key. Async. */
444
- const verifyAsync = async (s, m, p, opts = dvo) => hashFinish(true, _verify(s, m, p, opts));
445
- exports.verifyAsync = verifyAsync;
446
- /** Verifies signature on message and public key. To use, set `etc.sha512Sync` first. */
447
- const verify = (s, m, p, opts = dvo) => hashFinish(false, _verify(s, m, p, opts));
448
- exports.verify = verify;
449
- const cr = () => // We support: 1) browsers 2) node.js 19+
450
- typeof globalThis === 'object' && 'crypto' in globalThis ? globalThis.crypto : undefined;
451
- const subtle = () => {
452
- const c = cr();
453
- return c && c.subtle || err('crypto.subtle must be defined');
454
- };
455
- /** Math, hex, byte helpers. Not in `utils` because utils share API with noble-curves. */
456
- const etc = {
457
- bytesToHex: b2h,
458
- hexToBytes: h2b,
459
- concatBytes: concatB,
460
- mod: M,
461
- invert: invert,
462
- randomBytes: (len = 32) => {
463
- const c = cr(); // Can be shimmed in node.js <= 18 to prevent error:
464
- // import { webcrypto } from 'node:crypto';
465
- // if (!globalThis.crypto) globalThis.crypto = webcrypto;
466
- if (!c || !c.getRandomValues)
467
- err('crypto.getRandomValues must be defined');
468
- return c.getRandomValues(u8n(len));
469
- },
470
- sha512Async: async (...messages) => {
471
- const s = subtle();
472
- const m = concatB(...messages);
473
- return u8n(await s.digest('SHA-512', m.buffer));
474
- },
475
- sha512Sync: undefined, // Actual logic below
476
- bigIntToBytes: n2b_32LE,
477
- bytesToBigInt: b2n_LE
478
- };
479
- exports.etc = etc;
480
- /** ed25519-specific key utilities. */
481
- const utils = {
482
- getExtendedPublicKeyAsync: getExtendedPublicKeyAsync,
483
- getExtendedPublicKey: getExtendedPublicKey,
484
- randomPrivateKey: () => etc.randomBytes(32),
485
- precompute: (w = 8, p = G) => { p.multiply(3n); w; return p; }, // no-op
486
- };
487
- exports.utils = utils;
488
- const W = 8; // Precomputes-related code. W = window size
489
- const scalarBits = 256;
490
- const pwindows = Math.ceil(scalarBits / W) + 1;
491
- const pwindowSize = 2 ** (W - 1);
492
- const precompute = () => {
493
- const points = []; // 10x sign(), 2x verify(). To achieve this,
494
- let p = G, b = p; // a lot of points related to base point G.
495
- for (let w = 0; w < pwindows; w++) { // Points are stored in array and used
496
- b = p; // any time Gx multiplication is done.
497
- points.push(b); // They consume 16-32 MiB of RAM.
498
- for (let i = 1; i < pwindowSize; i++) {
499
- b = b.add(p);
500
- points.push(b);
501
- }
502
- p = b.double(); // Precomputes don't speed-up getSharedKey,
503
- } // which multiplies user point by scalar,
504
- return points; // when precomputes are using base point
505
- };
506
- let Gpows = undefined; // precomputes for base point G
507
- const wNAF = (n) => {
508
- // Compared to other point mult methods,
509
- const comp = Gpows || (Gpows = precompute()); // stores 2x less points using subtraction
510
- const ctneg = (cnd, p) => { let n = p.negate(); return cnd ? n : p; }; // negate
511
- let p = I, f = G; // f must be G, or could become I in the end
512
- const pow_2_w = 2 ** W; // W=8 256
513
- const maxNum = pow_2_w; // W=8 256
514
- const mask = BigInt(pow_2_w - 1); // W=8 255 == mask 0b11111111
515
- const shiftBy = BigInt(W); // W=8 8
516
- for (let w = 0; w < pwindows; w++) {
517
- let wbits = Number(n & mask); // extract W bits.
518
- n >>= shiftBy; // shift number by W bits.
519
- if (wbits > pwindowSize) {
520
- wbits -= maxNum;
521
- n += 1n;
522
- } // split if bits > max: +224 => 256-32
523
- const off = w * pwindowSize;
524
- const offF = off, offP = off + Math.abs(wbits) - 1; // offsets, evaluate both
525
- const isEven = w % 2 !== 0, isNeg = wbits < 0; // conditions, evaluate both
526
- if (wbits === 0) {
527
- f = f.add(ctneg(isEven, comp[offF])); // bits are 0: add garbage to fake point
528
- }
529
- else { // ^ can't add off2, off2 = I
530
- p = p.add(ctneg(isNeg, comp[offP])); // bits are 1: add to result point
531
- }
532
- }
533
- return { p, f }; // return both real and fake points for JIT
534
- }; // !! you can disable precomputes by commenting-out call of the wNAF() inside Point#mul()
535
- //# sourceMappingURL=Ed25519.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Ed25519.js","sourceRoot":"","sources":["../../../../../modules/tide-js/Cryptide/Ed25519.js"],"names":[],"mappings":"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"}