@fhevm/sdk 0.0.1 → 1.0.0-alpha.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 (2049) hide show
  1. package/README.md +59 -0
  2. package/_cjs/core/_version.js +6 -0
  3. package/_cjs/core/_version.js.map +1 -0
  4. package/_cjs/core/actions/base/canReadPublicValue.js +13 -0
  5. package/_cjs/core/actions/base/canReadPublicValue.js.map +1 -0
  6. package/_cjs/core/actions/base/canReadPublicValues.js +13 -0
  7. package/_cjs/core/actions/base/canReadPublicValues.js.map +1 -0
  8. package/_cjs/core/actions/base/createVerifiedInputProofFromRawBytes.js +10 -0
  9. package/_cjs/core/actions/base/createVerifiedInputProofFromRawBytes.js.map +1 -0
  10. package/_cjs/core/actions/base/fetchKmsSignedcryptedShares.js +19 -0
  11. package/_cjs/core/actions/base/fetchKmsSignedcryptedShares.js.map +1 -0
  12. package/_cjs/core/actions/base/fetchVerifiedInputProof.js +11 -0
  13. package/_cjs/core/actions/base/fetchVerifiedInputProof.js.map +1 -0
  14. package/_cjs/core/actions/base/index.js +30 -0
  15. package/_cjs/core/actions/base/index.js.map +1 -0
  16. package/_cjs/core/actions/base/readCoprocessorSignersContext.js +10 -0
  17. package/_cjs/core/actions/base/readCoprocessorSignersContext.js.map +1 -0
  18. package/_cjs/core/actions/base/readKmsSignersContext.js +10 -0
  19. package/_cjs/core/actions/base/readKmsSignersContext.js.map +1 -0
  20. package/_cjs/core/actions/base/readPublicValue.js +13 -0
  21. package/_cjs/core/actions/base/readPublicValue.js.map +1 -0
  22. package/_cjs/core/actions/base/readPublicValues.js +13 -0
  23. package/_cjs/core/actions/base/readPublicValues.js.map +1 -0
  24. package/_cjs/core/actions/base/readPublicValuesWithSignatures.js +21 -0
  25. package/_cjs/core/actions/base/readPublicValuesWithSignatures.js.map +1 -0
  26. package/_cjs/core/actions/base/signDecryptionPermit.js +11 -0
  27. package/_cjs/core/actions/base/signDecryptionPermit.js.map +1 -0
  28. package/_cjs/core/actions/base/verifyHandlesCoprocessorSignatures.js +31 -0
  29. package/_cjs/core/actions/base/verifyHandlesCoprocessorSignatures.js.map +1 -0
  30. package/_cjs/core/actions/base/verifyInputProof.js +24 -0
  31. package/_cjs/core/actions/base/verifyInputProof.js.map +1 -0
  32. package/_cjs/core/actions/base/verifyZkProofCoprocessorSignatures.js +17 -0
  33. package/_cjs/core/actions/base/verifyZkProofCoprocessorSignatures.js.map +1 -0
  34. package/_cjs/core/actions/chain/createCoprocessorEip712Domain.js +11 -0
  35. package/_cjs/core/actions/chain/createCoprocessorEip712Domain.js.map +1 -0
  36. package/_cjs/core/actions/chain/createKmsDelegatedUserDecryptEip712.js +17 -0
  37. package/_cjs/core/actions/chain/createKmsDelegatedUserDecryptEip712.js.map +1 -0
  38. package/_cjs/core/actions/chain/createKmsEip712Domain.js +11 -0
  39. package/_cjs/core/actions/chain/createKmsEip712Domain.js.map +1 -0
  40. package/_cjs/core/actions/chain/createKmsUserDecryptEip712.js +16 -0
  41. package/_cjs/core/actions/chain/createKmsUserDecryptEip712.js.map +1 -0
  42. package/_cjs/core/actions/chain/fetchFheEncryptionKeyBytes.js +8 -0
  43. package/_cjs/core/actions/chain/fetchFheEncryptionKeyBytes.js.map +1 -0
  44. package/_cjs/core/actions/chain/index.js +28 -0
  45. package/_cjs/core/actions/chain/index.js.map +1 -0
  46. package/_cjs/core/actions/chain/parseSignedDecryptionPermit.js +10 -0
  47. package/_cjs/core/actions/chain/parseSignedDecryptionPermit.js.map +1 -0
  48. package/_cjs/core/actions/chain/parseTransportKeypair.js +9 -0
  49. package/_cjs/core/actions/chain/parseTransportKeypair.js.map +1 -0
  50. package/_cjs/core/actions/chain/serializeSignedDecryptionPermit.js +8 -0
  51. package/_cjs/core/actions/chain/serializeSignedDecryptionPermit.js.map +1 -0
  52. package/_cjs/core/actions/chain/serializeTransportKeypair.js +8 -0
  53. package/_cjs/core/actions/chain/serializeTransportKeypair.js.map +1 -0
  54. package/_cjs/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.js +8 -0
  55. package/_cjs/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.js.map +1 -0
  56. package/_cjs/core/actions/chain/verifyKmsUserDecryptEip712.js +8 -0
  57. package/_cjs/core/actions/chain/verifyKmsUserDecryptEip712.js.map +1 -0
  58. package/_cjs/core/actions/decrypt/canDecryptValue.js +20 -0
  59. package/_cjs/core/actions/decrypt/canDecryptValue.js.map +1 -0
  60. package/_cjs/core/actions/decrypt/canDecryptValues.js +23 -0
  61. package/_cjs/core/actions/decrypt/canDecryptValues.js.map +1 -0
  62. package/_cjs/core/actions/decrypt/canDecryptValuesFromPairs.js +19 -0
  63. package/_cjs/core/actions/decrypt/canDecryptValuesFromPairs.js.map +1 -0
  64. package/_cjs/core/actions/decrypt/decryptKmsSignedcryptedShares.js +11 -0
  65. package/_cjs/core/actions/decrypt/decryptKmsSignedcryptedShares.js.map +1 -0
  66. package/_cjs/core/actions/decrypt/decryptValue.js +20 -0
  67. package/_cjs/core/actions/decrypt/decryptValue.js.map +1 -0
  68. package/_cjs/core/actions/decrypt/decryptValues.js +19 -0
  69. package/_cjs/core/actions/decrypt/decryptValues.js.map +1 -0
  70. package/_cjs/core/actions/decrypt/decryptValuesFromPairs.js +18 -0
  71. package/_cjs/core/actions/decrypt/decryptValuesFromPairs.js.map +1 -0
  72. package/_cjs/core/actions/decrypt/generateTransportKeypair.js +8 -0
  73. package/_cjs/core/actions/decrypt/generateTransportKeypair.js.map +1 -0
  74. package/_cjs/core/actions/decrypt/index.js +20 -0
  75. package/_cjs/core/actions/decrypt/index.js.map +1 -0
  76. package/_cjs/core/actions/encrypt/encryptValue.js +24 -0
  77. package/_cjs/core/actions/encrypt/encryptValue.js.map +1 -0
  78. package/_cjs/core/actions/encrypt/encryptValues.js +23 -0
  79. package/_cjs/core/actions/encrypt/encryptValues.js.map +1 -0
  80. package/_cjs/core/actions/encrypt/generateZkProof.js +17 -0
  81. package/_cjs/core/actions/encrypt/generateZkProof.js.map +1 -0
  82. package/_cjs/core/actions/encrypt/index.js +10 -0
  83. package/_cjs/core/actions/encrypt/index.js.map +1 -0
  84. package/_cjs/core/actions/host/getUserDecryptionDelegationExpirationDate.js +21 -0
  85. package/_cjs/core/actions/host/getUserDecryptionDelegationExpirationDate.js.map +1 -0
  86. package/_cjs/core/actions/host/index.js +18 -0
  87. package/_cjs/core/actions/host/index.js.map +1 -0
  88. package/_cjs/core/actions/host/isAllowedForDecryption.js +20 -0
  89. package/_cjs/core/actions/host/isAllowedForDecryption.js.map +1 -0
  90. package/_cjs/core/actions/host/persistAllowed.js +20 -0
  91. package/_cjs/core/actions/host/persistAllowed.js.map +1 -0
  92. package/_cjs/core/actions/host/readFhevmExecutorContractData.js +46 -0
  93. package/_cjs/core/actions/host/readFhevmExecutorContractData.js.map +1 -0
  94. package/_cjs/core/actions/host/readInputVerifierContractData.js +41 -0
  95. package/_cjs/core/actions/host/readInputVerifierContractData.js.map +1 -0
  96. package/_cjs/core/actions/host/readKmsVerifierContractData.js +41 -0
  97. package/_cjs/core/actions/host/readKmsVerifierContractData.js.map +1 -0
  98. package/_cjs/core/actions/host/resolveChainId.js +23 -0
  99. package/_cjs/core/actions/host/resolveChainId.js.map +1 -0
  100. package/_cjs/core/actions/host/resolveFhevmConfig.js +85 -0
  101. package/_cjs/core/actions/host/resolveFhevmConfig.js.map +1 -0
  102. package/_cjs/core/base/address.js +182 -0
  103. package/_cjs/core/base/address.js.map +1 -0
  104. package/_cjs/core/base/auth.js +32 -0
  105. package/_cjs/core/base/auth.js.map +1 -0
  106. package/_cjs/core/base/boolean.js +33 -0
  107. package/_cjs/core/base/boolean.js.map +1 -0
  108. package/_cjs/core/base/bytes.js +1016 -0
  109. package/_cjs/core/base/bytes.js.map +1 -0
  110. package/_cjs/core/base/cachedFetch.js +78 -0
  111. package/_cjs/core/base/cachedFetch.js.map +1 -0
  112. package/_cjs/core/base/errors/AddressError.js +15 -0
  113. package/_cjs/core/base/errors/AddressError.js.map +1 -0
  114. package/_cjs/core/base/errors/ChecksummedAddressError.js +17 -0
  115. package/_cjs/core/base/errors/ChecksummedAddressError.js.map +1 -0
  116. package/_cjs/core/base/errors/ErrorBase.js +70 -0
  117. package/_cjs/core/base/errors/ErrorBase.js.map +1 -0
  118. package/_cjs/core/base/errors/FetchError.js +33 -0
  119. package/_cjs/core/base/errors/FetchError.js.map +1 -0
  120. package/_cjs/core/base/errors/FheTypeError.js +45 -0
  121. package/_cjs/core/base/errors/FheTypeError.js.map +1 -0
  122. package/_cjs/core/base/errors/InternalError.js +21 -0
  123. package/_cjs/core/base/errors/InternalError.js.map +1 -0
  124. package/_cjs/core/base/errors/InvalidPropertyError.js +72 -0
  125. package/_cjs/core/base/errors/InvalidPropertyError.js.map +1 -0
  126. package/_cjs/core/base/errors/InvalidTypeError.js +31 -0
  127. package/_cjs/core/base/errors/InvalidTypeError.js.map +1 -0
  128. package/_cjs/core/base/errors/utils.js +40 -0
  129. package/_cjs/core/base/errors/utils.js.map +1 -0
  130. package/_cjs/core/base/fetch.js +98 -0
  131. package/_cjs/core/base/fetch.js.map +1 -0
  132. package/_cjs/core/base/index.js +7 -0
  133. package/_cjs/core/base/index.js.map +1 -0
  134. package/_cjs/core/base/isomorphicWorker.js +209 -0
  135. package/_cjs/core/base/isomorphicWorker.js.map +1 -0
  136. package/_cjs/core/base/object.js +30 -0
  137. package/_cjs/core/base/object.js.map +1 -0
  138. package/_cjs/core/base/promise.js +14 -0
  139. package/_cjs/core/base/promise.js.map +1 -0
  140. package/_cjs/core/base/record.js +81 -0
  141. package/_cjs/core/base/record.js.map +1 -0
  142. package/_cjs/core/base/string.js +133 -0
  143. package/_cjs/core/base/string.js.map +1 -0
  144. package/_cjs/core/base/timeout.js +19 -0
  145. package/_cjs/core/base/timeout.js.map +1 -0
  146. package/_cjs/core/base/trustedValue.js +50 -0
  147. package/_cjs/core/base/trustedValue.js.map +1 -0
  148. package/_cjs/core/base/typedValue.js +184 -0
  149. package/_cjs/core/base/typedValue.js.map +1 -0
  150. package/_cjs/core/base/uid.js +19 -0
  151. package/_cjs/core/base/uid.js.map +1 -0
  152. package/_cjs/core/base/uint.js +414 -0
  153. package/_cjs/core/base/uint.js.map +1 -0
  154. package/_cjs/core/base/wasm.js +91 -0
  155. package/_cjs/core/base/wasm.js.map +1 -0
  156. package/_cjs/core/chains/definitions/localTestnet.js +33 -0
  157. package/_cjs/core/chains/definitions/localTestnet.js.map +1 -0
  158. package/_cjs/core/chains/definitions/mainnet.js +33 -0
  159. package/_cjs/core/chains/definitions/mainnet.js.map +1 -0
  160. package/_cjs/core/chains/definitions/sepolia.js +33 -0
  161. package/_cjs/core/chains/definitions/sepolia.js.map +1 -0
  162. package/_cjs/core/chains/index.js +10 -0
  163. package/_cjs/core/chains/index.js.map +1 -0
  164. package/_cjs/core/chains/utils.js +8 -0
  165. package/_cjs/core/chains/utils.js.map +1 -0
  166. package/_cjs/core/clients/decorators/base.js +34 -0
  167. package/_cjs/core/clients/decorators/base.js.map +1 -0
  168. package/_cjs/core/clients/decorators/decrypt.js +30 -0
  169. package/_cjs/core/clients/decorators/decrypt.js.map +1 -0
  170. package/_cjs/core/clients/decorators/encrypt-p.js +13 -0
  171. package/_cjs/core/clients/decorators/encrypt-p.js.map +1 -0
  172. package/_cjs/core/clients/decorators/encrypt.js +23 -0
  173. package/_cjs/core/clients/decorators/encrypt.js.map +1 -0
  174. package/_cjs/core/coprocessor/InputProof-p.js +236 -0
  175. package/_cjs/core/coprocessor/InputProof-p.js.map +1 -0
  176. package/_cjs/core/coprocessor/ZkProof-p.js +241 -0
  177. package/_cjs/core/coprocessor/ZkProof-p.js.map +1 -0
  178. package/_cjs/core/coprocessor/ZkProofBuilder-p.js +192 -0
  179. package/_cjs/core/coprocessor/ZkProofBuilder-p.js.map +1 -0
  180. package/_cjs/core/coprocessor/assertIsCoprocessorEip712Domain.js +19 -0
  181. package/_cjs/core/coprocessor/assertIsCoprocessorEip712Domain.js.map +1 -0
  182. package/_cjs/core/coprocessor/coprocessorEip712Types.js +17 -0
  183. package/_cjs/core/coprocessor/coprocessorEip712Types.js.map +1 -0
  184. package/_cjs/core/coprocessor/createCoprocessorEip712.js +41 -0
  185. package/_cjs/core/coprocessor/createCoprocessorEip712.js.map +1 -0
  186. package/_cjs/core/coprocessor/createCoprocessorEip712Domain.js +18 -0
  187. package/_cjs/core/coprocessor/createCoprocessorEip712Domain.js.map +1 -0
  188. package/_cjs/core/coprocessor/encrypt.js +20 -0
  189. package/_cjs/core/coprocessor/encrypt.js.map +1 -0
  190. package/_cjs/core/coprocessor/fetchVerifiedInputProof.js +41 -0
  191. package/_cjs/core/coprocessor/fetchVerifiedInputProof.js.map +1 -0
  192. package/_cjs/core/coprocessor/verifyHandlesCoprocessorSignatures.js +33 -0
  193. package/_cjs/core/coprocessor/verifyHandlesCoprocessorSignatures.js.map +1 -0
  194. package/_cjs/core/coprocessor/verifyInputProof.js +24 -0
  195. package/_cjs/core/coprocessor/verifyInputProof.js.map +1 -0
  196. package/_cjs/core/errors/AclError.js +48 -0
  197. package/_cjs/core/errors/AclError.js.map +1 -0
  198. package/_cjs/core/errors/ContractErrorBase.js +34 -0
  199. package/_cjs/core/errors/ContractErrorBase.js.map +1 -0
  200. package/_cjs/core/errors/EncryptionError.js +14 -0
  201. package/_cjs/core/errors/EncryptionError.js.map +1 -0
  202. package/_cjs/core/errors/FhevmConfigError.js +14 -0
  203. package/_cjs/core/errors/FhevmConfigError.js.map +1 -0
  204. package/_cjs/core/errors/FhevmErrorBase.js +66 -0
  205. package/_cjs/core/errors/FhevmErrorBase.js.map +1 -0
  206. package/_cjs/core/errors/FhevmHandleError.js +15 -0
  207. package/_cjs/core/errors/FhevmHandleError.js.map +1 -0
  208. package/_cjs/core/errors/InputProofError.js +25 -0
  209. package/_cjs/core/errors/InputProofError.js.map +1 -0
  210. package/_cjs/core/errors/RelayerAbortError.js +16 -0
  211. package/_cjs/core/errors/RelayerAbortError.js.map +1 -0
  212. package/_cjs/core/errors/RelayerErrorBase.js +85 -0
  213. package/_cjs/core/errors/RelayerErrorBase.js.map +1 -0
  214. package/_cjs/core/errors/RelayerFetchError.js +19 -0
  215. package/_cjs/core/errors/RelayerFetchError.js.map +1 -0
  216. package/_cjs/core/errors/RelayerFetchErrorBase.js +74 -0
  217. package/_cjs/core/errors/RelayerFetchErrorBase.js.map +1 -0
  218. package/_cjs/core/errors/RelayerMaxRetryError.js +17 -0
  219. package/_cjs/core/errors/RelayerMaxRetryError.js.map +1 -0
  220. package/_cjs/core/errors/RelayerRequestErrorBase.js +48 -0
  221. package/_cjs/core/errors/RelayerRequestErrorBase.js.map +1 -0
  222. package/_cjs/core/errors/RelayerRequestInternalError.js +45 -0
  223. package/_cjs/core/errors/RelayerRequestInternalError.js.map +1 -0
  224. package/_cjs/core/errors/RelayerResponseApiError.js +36 -0
  225. package/_cjs/core/errors/RelayerResponseApiError.js.map +1 -0
  226. package/_cjs/core/errors/RelayerResponseErrorBase.js +33 -0
  227. package/_cjs/core/errors/RelayerResponseErrorBase.js.map +1 -0
  228. package/_cjs/core/errors/RelayerResponseInputProofRejectedError.js +15 -0
  229. package/_cjs/core/errors/RelayerResponseInputProofRejectedError.js.map +1 -0
  230. package/_cjs/core/errors/RelayerResponseInvalidBodyError.js +36 -0
  231. package/_cjs/core/errors/RelayerResponseInvalidBodyError.js.map +1 -0
  232. package/_cjs/core/errors/RelayerResponseStatusError.js +17 -0
  233. package/_cjs/core/errors/RelayerResponseStatusError.js.map +1 -0
  234. package/_cjs/core/errors/RelayerStateError.js +33 -0
  235. package/_cjs/core/errors/RelayerStateError.js.map +1 -0
  236. package/_cjs/core/errors/RelayerTimeoutError.js +16 -0
  237. package/_cjs/core/errors/RelayerTimeoutError.js.map +1 -0
  238. package/_cjs/core/errors/SignersError.js +35 -0
  239. package/_cjs/core/errors/SignersError.js.map +1 -0
  240. package/_cjs/core/errors/TfheError.js +14 -0
  241. package/_cjs/core/errors/TfheError.js.map +1 -0
  242. package/_cjs/core/errors/ZkProofError.js +15 -0
  243. package/_cjs/core/errors/ZkProofError.js.map +1 -0
  244. package/_cjs/core/handle/ClearValue.js +185 -0
  245. package/_cjs/core/handle/ClearValue.js.map +1 -0
  246. package/_cjs/core/handle/EncryptedValue.js +32 -0
  247. package/_cjs/core/handle/EncryptedValue.js.map +1 -0
  248. package/_cjs/core/handle/FheType.js +298 -0
  249. package/_cjs/core/handle/FheType.js.map +1 -0
  250. package/_cjs/core/handle/FhevmHandle.js +352 -0
  251. package/_cjs/core/handle/FhevmHandle.js.map +1 -0
  252. package/_cjs/core/host-contracts/CoprocessorSignersContext-p.js +119 -0
  253. package/_cjs/core/host-contracts/CoprocessorSignersContext-p.js.map +1 -0
  254. package/_cjs/core/host-contracts/FhevmExecutorContractData-p.js +96 -0
  255. package/_cjs/core/host-contracts/FhevmExecutorContractData-p.js.map +1 -0
  256. package/_cjs/core/host-contracts/HostContractVersion-p.js +86 -0
  257. package/_cjs/core/host-contracts/HostContractVersion-p.js.map +1 -0
  258. package/_cjs/core/host-contracts/InputVerifierContractData-p.js +95 -0
  259. package/_cjs/core/host-contracts/InputVerifierContractData-p.js.map +1 -0
  260. package/_cjs/core/host-contracts/KmsSignersContext-p.js +165 -0
  261. package/_cjs/core/host-contracts/KmsSignersContext-p.js.map +1 -0
  262. package/_cjs/core/host-contracts/KmsVerifierContractData-p.js +77 -0
  263. package/_cjs/core/host-contracts/KmsVerifierContractData-p.js.map +1 -0
  264. package/_cjs/core/host-contracts/abi-fragments/fragments.js +336 -0
  265. package/_cjs/core/host-contracts/abi-fragments/fragments.js.map +1 -0
  266. package/_cjs/core/host-contracts/canDecryptValuesFromPairs.js +47 -0
  267. package/_cjs/core/host-contracts/canDecryptValuesFromPairs.js.map +1 -0
  268. package/_cjs/core/host-contracts/checkAllowedForDecryption.js +17 -0
  269. package/_cjs/core/host-contracts/checkAllowedForDecryption.js.map +1 -0
  270. package/_cjs/core/host-contracts/checkPersistAllowed.js +75 -0
  271. package/_cjs/core/host-contracts/checkPersistAllowed.js.map +1 -0
  272. package/_cjs/core/host-contracts/decryptionResultTypehash-p.js +26 -0
  273. package/_cjs/core/host-contracts/decryptionResultTypehash-p.js.map +1 -0
  274. package/_cjs/core/host-contracts/eip712Domain-p.js +43 -0
  275. package/_cjs/core/host-contracts/eip712Domain-p.js.map +1 -0
  276. package/_cjs/core/host-contracts/eip712InputVerificationTypehash-p.js +26 -0
  277. package/_cjs/core/host-contracts/eip712InputVerificationTypehash-p.js.map +1 -0
  278. package/_cjs/core/host-contracts/getAclAddress-p.js +26 -0
  279. package/_cjs/core/host-contracts/getAclAddress-p.js.map +1 -0
  280. package/_cjs/core/host-contracts/getCoprocessorContextSignersAndThreshold-p.js +72 -0
  281. package/_cjs/core/host-contracts/getCoprocessorContextSignersAndThreshold-p.js.map +1 -0
  282. package/_cjs/core/host-contracts/getCoprocessorSigners-p.js +26 -0
  283. package/_cjs/core/host-contracts/getCoprocessorSigners-p.js.map +1 -0
  284. package/_cjs/core/host-contracts/getCurrentKmsContextId-p.js +40 -0
  285. package/_cjs/core/host-contracts/getCurrentKmsContextId-p.js.map +1 -0
  286. package/_cjs/core/host-contracts/getFhevmExecutorAddress-p.js +26 -0
  287. package/_cjs/core/host-contracts/getFhevmExecutorAddress-p.js.map +1 -0
  288. package/_cjs/core/host-contracts/getHandleVersion-p.js +21 -0
  289. package/_cjs/core/host-contracts/getHandleVersion-p.js.map +1 -0
  290. package/_cjs/core/host-contracts/getHcuLimitAddress-p.js +26 -0
  291. package/_cjs/core/host-contracts/getHcuLimitAddress-p.js.map +1 -0
  292. package/_cjs/core/host-contracts/getInputVerifierAddress-p.js +26 -0
  293. package/_cjs/core/host-contracts/getInputVerifierAddress-p.js.map +1 -0
  294. package/_cjs/core/host-contracts/getKmsContextSignersAndThreshold-p.js +78 -0
  295. package/_cjs/core/host-contracts/getKmsContextSignersAndThreshold-p.js.map +1 -0
  296. package/_cjs/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.js +57 -0
  297. package/_cjs/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.js.map +1 -0
  298. package/_cjs/core/host-contracts/getSignersForKmsContext-p.js +54 -0
  299. package/_cjs/core/host-contracts/getSignersForKmsContext-p.js.map +1 -0
  300. package/_cjs/core/host-contracts/isAllowedForDecryption.js +30 -0
  301. package/_cjs/core/host-contracts/isAllowedForDecryption.js.map +1 -0
  302. package/_cjs/core/host-contracts/isUserDecryptable.js +54 -0
  303. package/_cjs/core/host-contracts/isUserDecryptable.js.map +1 -0
  304. package/_cjs/core/host-contracts/persistAllowed.js +31 -0
  305. package/_cjs/core/host-contracts/persistAllowed.js.map +1 -0
  306. package/_cjs/core/host-contracts/readCoprocessorSignersContext-p.js +15 -0
  307. package/_cjs/core/host-contracts/readCoprocessorSignersContext-p.js.map +1 -0
  308. package/_cjs/core/host-contracts/readKmsSignersContext-p.js +103 -0
  309. package/_cjs/core/host-contracts/readKmsSignersContext-p.js.map +1 -0
  310. package/_cjs/core/key/FheEncryptionKeyCache-p.js +221 -0
  311. package/_cjs/core/key/FheEncryptionKeyCache-p.js.map +1 -0
  312. package/_cjs/core/key/FheEncryptionKeyWasm-p.js +66 -0
  313. package/_cjs/core/key/FheEncryptionKeyWasm-p.js.map +1 -0
  314. package/_cjs/core/key/deserializeFheEncryptionKey.js +18 -0
  315. package/_cjs/core/key/deserializeFheEncryptionKey.js.map +1 -0
  316. package/_cjs/core/key/fetchFheEncryptionKey.js +30 -0
  317. package/_cjs/core/key/fetchFheEncryptionKey.js.map +1 -0
  318. package/_cjs/core/key/fetchFheEncryptionKeyBytes.js +39 -0
  319. package/_cjs/core/key/fetchFheEncryptionKeyBytes.js.map +1 -0
  320. package/_cjs/core/key/fetchFheEncryptionKeyBytesWithSource.js +53 -0
  321. package/_cjs/core/key/fetchFheEncryptionKeyBytesWithSource.js.map +1 -0
  322. package/_cjs/core/key/serializeFheEncryptionKey.js +22 -0
  323. package/_cjs/core/key/serializeFheEncryptionKey.js.map +1 -0
  324. package/_cjs/core/kms/KmsSigncryptedShares-p.js +94 -0
  325. package/_cjs/core/kms/KmsSigncryptedShares-p.js.map +1 -0
  326. package/_cjs/core/kms/PublicDecryptionProof-p.js +95 -0
  327. package/_cjs/core/kms/PublicDecryptionProof-p.js.map +1 -0
  328. package/_cjs/core/kms/PublicDecryptionProof.js +8 -0
  329. package/_cjs/core/kms/PublicDecryptionProof.js.map +1 -0
  330. package/_cjs/core/kms/SignedDecryptionPermit-p.js +230 -0
  331. package/_cjs/core/kms/SignedDecryptionPermit-p.js.map +1 -0
  332. package/_cjs/core/kms/TransportKeypair-p.js +153 -0
  333. package/_cjs/core/kms/TransportKeypair-p.js.map +1 -0
  334. package/_cjs/core/kms/createKmsDelegatedUserDecryptEip712.js +72 -0
  335. package/_cjs/core/kms/createKmsDelegatedUserDecryptEip712.js.map +1 -0
  336. package/_cjs/core/kms/createKmsEip712Domain.js +33 -0
  337. package/_cjs/core/kms/createKmsEip712Domain.js.map +1 -0
  338. package/_cjs/core/kms/createKmsPublicDecryptEip712.js +39 -0
  339. package/_cjs/core/kms/createKmsPublicDecryptEip712.js.map +1 -0
  340. package/_cjs/core/kms/createKmsUserDecryptEip712.js +91 -0
  341. package/_cjs/core/kms/createKmsUserDecryptEip712.js.map +1 -0
  342. package/_cjs/core/kms/decryptKmsSignedcryptedShares-p.js +14 -0
  343. package/_cjs/core/kms/decryptKmsSignedcryptedShares-p.js.map +1 -0
  344. package/_cjs/core/kms/decryptValuesFromPairs.js +14 -0
  345. package/_cjs/core/kms/decryptValuesFromPairs.js.map +1 -0
  346. package/_cjs/core/kms/fetchKmsSignedcryptedShares-p.js +89 -0
  347. package/_cjs/core/kms/fetchKmsSignedcryptedShares-p.js.map +1 -0
  348. package/_cjs/core/kms/index.js +3 -0
  349. package/_cjs/core/kms/index.js.map +1 -0
  350. package/_cjs/core/kms/kmsDelegatedUserDecryptEip712Types.js +25 -0
  351. package/_cjs/core/kms/kmsDelegatedUserDecryptEip712Types.js.map +1 -0
  352. package/_cjs/core/kms/kmsExtraData.js +33 -0
  353. package/_cjs/core/kms/kmsExtraData.js.map +1 -0
  354. package/_cjs/core/kms/kmsPublicDecryptEip712Types.js +22 -0
  355. package/_cjs/core/kms/kmsPublicDecryptEip712Types.js.map +1 -0
  356. package/_cjs/core/kms/kmsUserDecryptEip712Types.js +24 -0
  357. package/_cjs/core/kms/kmsUserDecryptEip712Types.js.map +1 -0
  358. package/_cjs/core/kms/publicDecrypt.js +55 -0
  359. package/_cjs/core/kms/publicDecrypt.js.map +1 -0
  360. package/_cjs/core/kms/utils.js +34 -0
  361. package/_cjs/core/kms/utils.js.map +1 -0
  362. package/_cjs/core/kms/verifyKmsPublicDecryptEip712-p.js +34 -0
  363. package/_cjs/core/kms/verifyKmsPublicDecryptEip712-p.js.map +1 -0
  364. package/_cjs/core/modules/decrypt/mock.js +69 -0
  365. package/_cjs/core/modules/decrypt/mock.js.map +1 -0
  366. package/_cjs/core/modules/decrypt/module/api-p.js +197 -0
  367. package/_cjs/core/modules/decrypt/module/api-p.js.map +1 -0
  368. package/_cjs/core/modules/decrypt/module/index.js +43 -0
  369. package/_cjs/core/modules/decrypt/module/index.js.map +1 -0
  370. package/_cjs/core/modules/decrypt/module/init-p.js +124 -0
  371. package/_cjs/core/modules/decrypt/module/init-p.js.map +1 -0
  372. package/_cjs/core/modules/decrypt/types.js +3 -0
  373. package/_cjs/core/modules/decrypt/types.js.map +1 -0
  374. package/_cjs/core/modules/encrypt/mock.js +50 -0
  375. package/_cjs/core/modules/encrypt/mock.js.map +1 -0
  376. package/_cjs/core/modules/encrypt/module/api-p.js +263 -0
  377. package/_cjs/core/modules/encrypt/module/api-p.js.map +1 -0
  378. package/_cjs/core/modules/encrypt/module/index.js +22 -0
  379. package/_cjs/core/modules/encrypt/module/index.js.map +1 -0
  380. package/_cjs/core/modules/encrypt/module/init-p.js +175 -0
  381. package/_cjs/core/modules/encrypt/module/init-p.js.map +1 -0
  382. package/_cjs/core/modules/encrypt/types.js +3 -0
  383. package/_cjs/core/modules/encrypt/types.js.map +1 -0
  384. package/_cjs/core/modules/ethereum/createTrustedClient.js +9 -0
  385. package/_cjs/core/modules/ethereum/createTrustedClient.js.map +1 -0
  386. package/_cjs/core/modules/ethereum/types.js +3 -0
  387. package/_cjs/core/modules/ethereum/types.js.map +1 -0
  388. package/_cjs/core/modules/relayer/mock.js +29 -0
  389. package/_cjs/core/modules/relayer/mock.js.map +1 -0
  390. package/_cjs/core/modules/relayer/module/RelayerAsyncRequest.js +1231 -0
  391. package/_cjs/core/modules/relayer/module/RelayerAsyncRequest.js.map +1 -0
  392. package/_cjs/core/modules/relayer/module/fetchCoprocessorSignatures.js +30 -0
  393. package/_cjs/core/modules/relayer/module/fetchCoprocessorSignatures.js.map +1 -0
  394. package/_cjs/core/modules/relayer/module/fetchDelegatedUserDecrypt.js +47 -0
  395. package/_cjs/core/modules/relayer/module/fetchDelegatedUserDecrypt.js.map +1 -0
  396. package/_cjs/core/modules/relayer/module/fetchFheEncryptionKeyBytes.js +19 -0
  397. package/_cjs/core/modules/relayer/module/fetchFheEncryptionKeyBytes.js.map +1 -0
  398. package/_cjs/core/modules/relayer/module/fetchFheEncryptionKeySource.js +124 -0
  399. package/_cjs/core/modules/relayer/module/fetchFheEncryptionKeySource.js.map +1 -0
  400. package/_cjs/core/modules/relayer/module/fetchPublicDecrypt.js +27 -0
  401. package/_cjs/core/modules/relayer/module/fetchPublicDecrypt.js.map +1 -0
  402. package/_cjs/core/modules/relayer/module/fetchUserDecrypt.js +48 -0
  403. package/_cjs/core/modules/relayer/module/fetchUserDecrypt.js.map +1 -0
  404. package/_cjs/core/modules/relayer/module/guards/RelayerInputProofSucceeded.js +39 -0
  405. package/_cjs/core/modules/relayer/module/guards/RelayerInputProofSucceeded.js.map +1 -0
  406. package/_cjs/core/modules/relayer/module/guards/RelayerPublicDecryptSucceeded.js +21 -0
  407. package/_cjs/core/modules/relayer/module/guards/RelayerPublicDecryptSucceeded.js.map +1 -0
  408. package/_cjs/core/modules/relayer/module/guards/RelayerResponseFailed.js +122 -0
  409. package/_cjs/core/modules/relayer/module/guards/RelayerResponseFailed.js.map +1 -0
  410. package/_cjs/core/modules/relayer/module/guards/RelayerResponseQueued.js +23 -0
  411. package/_cjs/core/modules/relayer/module/guards/RelayerResponseQueued.js.map +1 -0
  412. package/_cjs/core/modules/relayer/module/guards/RelayerUserDecryptSucceeded.js +27 -0
  413. package/_cjs/core/modules/relayer/module/guards/RelayerUserDecryptSucceeded.js.map +1 -0
  414. package/_cjs/core/modules/relayer/module/guards/api-errors/RelayerApiError400NoDetails.js +39 -0
  415. package/_cjs/core/modules/relayer/module/guards/api-errors/RelayerApiError400NoDetails.js.map +1 -0
  416. package/_cjs/core/modules/relayer/module/guards/api-errors/RelayerApiError400WithDetails.js +56 -0
  417. package/_cjs/core/modules/relayer/module/guards/api-errors/RelayerApiError400WithDetails.js.map +1 -0
  418. package/_cjs/core/modules/relayer/module/guards/api-errors/RelayerApiError404.js +12 -0
  419. package/_cjs/core/modules/relayer/module/guards/api-errors/RelayerApiError404.js.map +1 -0
  420. package/_cjs/core/modules/relayer/module/guards/api-errors/RelayerApiError429.js +12 -0
  421. package/_cjs/core/modules/relayer/module/guards/api-errors/RelayerApiError429.js.map +1 -0
  422. package/_cjs/core/modules/relayer/module/guards/api-errors/RelayerApiError500.js +12 -0
  423. package/_cjs/core/modules/relayer/module/guards/api-errors/RelayerApiError500.js.map +1 -0
  424. package/_cjs/core/modules/relayer/module/guards/api-errors/RelayerApiError503.js +17 -0
  425. package/_cjs/core/modules/relayer/module/guards/api-errors/RelayerApiError503.js.map +1 -0
  426. package/_cjs/core/modules/relayer/module/index.js +23 -0
  427. package/_cjs/core/modules/relayer/module/index.js.map +1 -0
  428. package/_cjs/core/modules/relayer/module/relayerUrl.js +36 -0
  429. package/_cjs/core/modules/relayer/module/relayerUrl.js.map +1 -0
  430. package/_cjs/core/modules/relayer/module/utils.js +22 -0
  431. package/_cjs/core/modules/relayer/module/utils.js.map +1 -0
  432. package/_cjs/core/modules/relayer/types.js +3 -0
  433. package/_cjs/core/modules/relayer/types.js.map +1 -0
  434. package/_cjs/core/runtime/CoreFhevm-p.js +221 -0
  435. package/_cjs/core/runtime/CoreFhevm-p.js.map +1 -0
  436. package/_cjs/core/runtime/CoreFhevmRuntime-p.js +156 -0
  437. package/_cjs/core/runtime/CoreFhevmRuntime-p.js.map +1 -0
  438. package/_cjs/core/runtime/FhevmRuntime.js +9 -0
  439. package/_cjs/core/runtime/FhevmRuntime.js.map +1 -0
  440. package/_cjs/core/runtime/initFhevmDecryptRuntime-p.js +11 -0
  441. package/_cjs/core/runtime/initFhevmDecryptRuntime-p.js.map +1 -0
  442. package/_cjs/core/runtime/initFhevmEncryptRuntime-p.js +11 -0
  443. package/_cjs/core/runtime/initFhevmEncryptRuntime-p.js.map +1 -0
  444. package/_cjs/core/runtime/initFhevmRuntime-p.js +12 -0
  445. package/_cjs/core/runtime/initFhevmRuntime-p.js.map +1 -0
  446. package/_cjs/core/types/auth.js +3 -0
  447. package/_cjs/core/types/auth.js.map +1 -0
  448. package/_cjs/core/types/configs.js +3 -0
  449. package/_cjs/core/types/configs.js.map +1 -0
  450. package/_cjs/core/types/coprocessor.js +3 -0
  451. package/_cjs/core/types/coprocessor.js.map +1 -0
  452. package/_cjs/core/types/coprocessorSignersContext.js +3 -0
  453. package/_cjs/core/types/coprocessorSignersContext.js.map +1 -0
  454. package/_cjs/core/types/coreFhevmClient.js +3 -0
  455. package/_cjs/core/types/coreFhevmClient.js.map +1 -0
  456. package/_cjs/core/types/coreFhevmRuntime.js +3 -0
  457. package/_cjs/core/types/coreFhevmRuntime.js.map +1 -0
  458. package/_cjs/core/types/encryptedTypes-p.js +3 -0
  459. package/_cjs/core/types/encryptedTypes-p.js.map +1 -0
  460. package/_cjs/core/types/encryptedTypes.js +3 -0
  461. package/_cjs/core/types/encryptedTypes.js.map +1 -0
  462. package/_cjs/core/types/fheEncryptionKey.js +3 -0
  463. package/_cjs/core/types/fheEncryptionKey.js.map +1 -0
  464. package/_cjs/core/types/fheType.js +3 -0
  465. package/_cjs/core/types/fheType.js.map +1 -0
  466. package/_cjs/core/types/fhevmChain.js +3 -0
  467. package/_cjs/core/types/fhevmChain.js.map +1 -0
  468. package/_cjs/core/types/fhevmClient.js +3 -0
  469. package/_cjs/core/types/fhevmClient.js.map +1 -0
  470. package/_cjs/core/types/fhevmDecryptionKey.js +3 -0
  471. package/_cjs/core/types/fhevmDecryptionKey.js.map +1 -0
  472. package/_cjs/core/types/fhevmUser.js +3 -0
  473. package/_cjs/core/types/fhevmUser.js.map +1 -0
  474. package/_cjs/core/types/hostContract.js +3 -0
  475. package/_cjs/core/types/hostContract.js.map +1 -0
  476. package/_cjs/core/types/index.js +3 -0
  477. package/_cjs/core/types/index.js.map +1 -0
  478. package/_cjs/core/types/inputProof.js +3 -0
  479. package/_cjs/core/types/inputProof.js.map +1 -0
  480. package/_cjs/core/types/kms-p.js +3 -0
  481. package/_cjs/core/types/kms-p.js.map +1 -0
  482. package/_cjs/core/types/kms.js +3 -0
  483. package/_cjs/core/types/kms.js.map +1 -0
  484. package/_cjs/core/types/kmsSignersContext.js +3 -0
  485. package/_cjs/core/types/kmsSignersContext.js.map +1 -0
  486. package/_cjs/core/types/logger.js +3 -0
  487. package/_cjs/core/types/logger.js.map +1 -0
  488. package/_cjs/core/types/other-p.js +3 -0
  489. package/_cjs/core/types/other-p.js.map +1 -0
  490. package/_cjs/core/types/primitives.js +3 -0
  491. package/_cjs/core/types/primitives.js.map +1 -0
  492. package/_cjs/core/types/publicDecryptionProof-p.js +3 -0
  493. package/_cjs/core/types/publicDecryptionProof-p.js.map +1 -0
  494. package/_cjs/core/types/record-p.js +3 -0
  495. package/_cjs/core/types/record-p.js.map +1 -0
  496. package/_cjs/core/types/relayer-p.js +3 -0
  497. package/_cjs/core/types/relayer-p.js.map +1 -0
  498. package/_cjs/core/types/relayer.js +3 -0
  499. package/_cjs/core/types/relayer.js.map +1 -0
  500. package/_cjs/core/types/signedDecryptionPermit.js +3 -0
  501. package/_cjs/core/types/signedDecryptionPermit.js.map +1 -0
  502. package/_cjs/core/types/tkms-p.js +3 -0
  503. package/_cjs/core/types/tkms-p.js.map +1 -0
  504. package/_cjs/core/types/utils.js +3 -0
  505. package/_cjs/core/types/utils.js.map +1 -0
  506. package/_cjs/core/types/zkProof-p.js +3 -0
  507. package/_cjs/core/types/zkProof-p.js.map +1 -0
  508. package/_cjs/core/types/zkProofBuilder.js +3 -0
  509. package/_cjs/core/types/zkProofBuilder.js.map +1 -0
  510. package/_cjs/core/utils-p/decrypt/assertPermitMatchesKeypair.js +14 -0
  511. package/_cjs/core/utils-p/decrypt/assertPermitMatchesKeypair.js.map +1 -0
  512. package/_cjs/core/utils-p/decrypt/verifyKmsDelegatedUserDecryptEip712.js +32 -0
  513. package/_cjs/core/utils-p/decrypt/verifyKmsDelegatedUserDecryptEip712.js.map +1 -0
  514. package/_cjs/core/utils-p/decrypt/verifyKmsUserDecryptEip712.js +32 -0
  515. package/_cjs/core/utils-p/decrypt/verifyKmsUserDecryptEip712.js.map +1 -0
  516. package/_cjs/core/utils-p/decrypt/verifyTkmsPublicKey.js +13 -0
  517. package/_cjs/core/utils-p/decrypt/verifyTkmsPublicKey.js.map +1 -0
  518. package/_cjs/core/utils-p/runtime/recoverSigners.js +23 -0
  519. package/_cjs/core/utils-p/runtime/recoverSigners.js.map +1 -0
  520. package/_cjs/ethers/clients/createFhevmBaseClient.js +16 -0
  521. package/_cjs/ethers/clients/createFhevmBaseClient.js.map +1 -0
  522. package/_cjs/ethers/clients/createFhevmClient.js +11 -0
  523. package/_cjs/ethers/clients/createFhevmClient.js.map +1 -0
  524. package/_cjs/ethers/clients/createFhevmDecryptClient.js +10 -0
  525. package/_cjs/ethers/clients/createFhevmDecryptClient.js.map +1 -0
  526. package/_cjs/ethers/clients/createFhevmEncryptClient.js +10 -0
  527. package/_cjs/ethers/clients/createFhevmEncryptClient.js.map +1 -0
  528. package/_cjs/ethers/decorators/decrypt.js +9 -0
  529. package/_cjs/ethers/decorators/decrypt.js.map +1 -0
  530. package/_cjs/ethers/decorators/encrypt.js +9 -0
  531. package/_cjs/ethers/decorators/encrypt.js.map +1 -0
  532. package/_cjs/ethers/index.js +20 -0
  533. package/_cjs/ethers/index.js.map +1 -0
  534. package/_cjs/ethers/internal/ethereum.js +80 -0
  535. package/_cjs/ethers/internal/ethereum.js.map +1 -0
  536. package/_cjs/ethers/internal/ethers-p.js +52 -0
  537. package/_cjs/ethers/internal/ethers-p.js.map +1 -0
  538. package/_cjs/ethers/internal/utils.js +26 -0
  539. package/_cjs/ethers/internal/utils.js.map +1 -0
  540. package/_cjs/ethers/runtime/initFhevmDecryptRuntime.js +9 -0
  541. package/_cjs/ethers/runtime/initFhevmDecryptRuntime.js.map +1 -0
  542. package/_cjs/ethers/runtime/initFhevmEncryptRuntime.js +9 -0
  543. package/_cjs/ethers/runtime/initFhevmEncryptRuntime.js.map +1 -0
  544. package/_cjs/ethers/runtime/initFhevmRuntime.js +9 -0
  545. package/_cjs/ethers/runtime/initFhevmRuntime.js.map +1 -0
  546. package/_cjs/package.json +1 -0
  547. package/_cjs/viem/clients/createFhevmBaseClient.js +16 -0
  548. package/_cjs/viem/clients/createFhevmBaseClient.js.map +1 -0
  549. package/_cjs/viem/clients/createFhevmClient.js +11 -0
  550. package/_cjs/viem/clients/createFhevmClient.js.map +1 -0
  551. package/_cjs/viem/clients/createFhevmDecryptClient.js +10 -0
  552. package/_cjs/viem/clients/createFhevmDecryptClient.js.map +1 -0
  553. package/_cjs/viem/clients/createFhevmEncryptClient.js +10 -0
  554. package/_cjs/viem/clients/createFhevmEncryptClient.js.map +1 -0
  555. package/_cjs/viem/decorators/decrypt.js +9 -0
  556. package/_cjs/viem/decorators/decrypt.js.map +1 -0
  557. package/_cjs/viem/decorators/encrypt.js +9 -0
  558. package/_cjs/viem/decorators/encrypt.js.map +1 -0
  559. package/_cjs/viem/index.js +20 -0
  560. package/_cjs/viem/index.js.map +1 -0
  561. package/_cjs/viem/internal/ethereum.js +68 -0
  562. package/_cjs/viem/internal/ethereum.js.map +1 -0
  563. package/_cjs/viem/internal/viem-p.js +52 -0
  564. package/_cjs/viem/internal/viem-p.js.map +1 -0
  565. package/_cjs/viem/runtime/initFhevmDecryptRuntime.js +9 -0
  566. package/_cjs/viem/runtime/initFhevmDecryptRuntime.js.map +1 -0
  567. package/_cjs/viem/runtime/initFhevmEncryptRuntime.js +9 -0
  568. package/_cjs/viem/runtime/initFhevmEncryptRuntime.js.map +1 -0
  569. package/_cjs/viem/runtime/initFhevmRuntime.js +9 -0
  570. package/_cjs/viem/runtime/initFhevmRuntime.js.map +1 -0
  571. package/_cjs/wasm/tfhe/compile-worker.js +8 -0
  572. package/_cjs/wasm/tfhe/startWorkers.v1.5.3.js +426 -0
  573. package/_cjs/wasm/tfhe/tfhe-worker.v1.5.3.inline.js +7 -0
  574. package/_cjs/wasm/tfhe/tfhe-worker.v1.5.3.mjs +745 -0
  575. package/_cjs/wasm/tfhe/tfhe.v1.5.3.d.ts +10793 -0
  576. package/_cjs/wasm/tfhe/tfhe.v1.5.3.js +28645 -0
  577. package/_cjs/wasm/tfhe/tfhe_bg.v1.5.3.wasm +0 -0
  578. package/_cjs/wasm/tfhe/tfhe_bg.v1.5.3.wasm.base64.d.ts +1 -0
  579. package/_cjs/wasm/tfhe/tfhe_bg.v1.5.3.wasm.base64.js +1 -0
  580. package/_cjs/wasm/tkms/kms_lib.v0.13.10.d.ts +586 -0
  581. package/_cjs/wasm/tkms/kms_lib.v0.13.10.js +2117 -0
  582. package/_cjs/wasm/tkms/kms_lib_bg.v0.13.10.wasm +0 -0
  583. package/_cjs/wasm/tkms/kms_lib_bg.v0.13.10.wasm.base64.d.ts +1 -0
  584. package/_cjs/wasm/tkms/kms_lib_bg.v0.13.10.wasm.base64.js +3 -0
  585. package/_cjs/wasm/wasmBaseUrl.d.ts +7 -0
  586. package/_cjs/wasm/wasmBaseUrl.js +14 -0
  587. package/_esm/core/_version.js +4 -0
  588. package/_esm/core/_version.js.map +1 -0
  589. package/_esm/core/actions/base/canReadPublicValue.js +11 -0
  590. package/_esm/core/actions/base/canReadPublicValue.js.map +1 -0
  591. package/_esm/core/actions/base/canReadPublicValues.js +11 -0
  592. package/_esm/core/actions/base/canReadPublicValues.js.map +1 -0
  593. package/_esm/core/actions/base/createVerifiedInputProofFromRawBytes.js +7 -0
  594. package/_esm/core/actions/base/createVerifiedInputProofFromRawBytes.js.map +1 -0
  595. package/_esm/core/actions/base/fetchKmsSignedcryptedShares.js +17 -0
  596. package/_esm/core/actions/base/fetchKmsSignedcryptedShares.js.map +1 -0
  597. package/_esm/core/actions/base/fetchVerifiedInputProof.js +8 -0
  598. package/_esm/core/actions/base/fetchVerifiedInputProof.js.map +1 -0
  599. package/_esm/core/actions/base/index.js +14 -0
  600. package/_esm/core/actions/base/index.js.map +1 -0
  601. package/_esm/core/actions/base/readCoprocessorSignersContext.js +9 -0
  602. package/_esm/core/actions/base/readCoprocessorSignersContext.js.map +1 -0
  603. package/_esm/core/actions/base/readKmsSignersContext.js +9 -0
  604. package/_esm/core/actions/base/readKmsSignersContext.js.map +1 -0
  605. package/_esm/core/actions/base/readPublicValue.js +11 -0
  606. package/_esm/core/actions/base/readPublicValue.js.map +1 -0
  607. package/_esm/core/actions/base/readPublicValues.js +11 -0
  608. package/_esm/core/actions/base/readPublicValues.js.map +1 -0
  609. package/_esm/core/actions/base/readPublicValuesWithSignatures.js +19 -0
  610. package/_esm/core/actions/base/readPublicValuesWithSignatures.js.map +1 -0
  611. package/_esm/core/actions/base/signDecryptionPermit.js +11 -0
  612. package/_esm/core/actions/base/signDecryptionPermit.js.map +1 -0
  613. package/_esm/core/actions/base/verifyHandlesCoprocessorSignatures.js +35 -0
  614. package/_esm/core/actions/base/verifyHandlesCoprocessorSignatures.js.map +1 -0
  615. package/_esm/core/actions/base/verifyInputProof.js +22 -0
  616. package/_esm/core/actions/base/verifyInputProof.js.map +1 -0
  617. package/_esm/core/actions/base/verifyZkProofCoprocessorSignatures.js +14 -0
  618. package/_esm/core/actions/base/verifyZkProofCoprocessorSignatures.js.map +1 -0
  619. package/_esm/core/actions/chain/createCoprocessorEip712Domain.js +8 -0
  620. package/_esm/core/actions/chain/createCoprocessorEip712Domain.js.map +1 -0
  621. package/_esm/core/actions/chain/createKmsDelegatedUserDecryptEip712.js +15 -0
  622. package/_esm/core/actions/chain/createKmsDelegatedUserDecryptEip712.js.map +1 -0
  623. package/_esm/core/actions/chain/createKmsEip712Domain.js +8 -0
  624. package/_esm/core/actions/chain/createKmsEip712Domain.js.map +1 -0
  625. package/_esm/core/actions/chain/createKmsUserDecryptEip712.js +14 -0
  626. package/_esm/core/actions/chain/createKmsUserDecryptEip712.js.map +1 -0
  627. package/_esm/core/actions/chain/fetchFheEncryptionKeyBytes.js +6 -0
  628. package/_esm/core/actions/chain/fetchFheEncryptionKeyBytes.js.map +1 -0
  629. package/_esm/core/actions/chain/index.js +13 -0
  630. package/_esm/core/actions/chain/index.js.map +1 -0
  631. package/_esm/core/actions/chain/parseSignedDecryptionPermit.js +15 -0
  632. package/_esm/core/actions/chain/parseSignedDecryptionPermit.js.map +1 -0
  633. package/_esm/core/actions/chain/parseTransportKeypair.js +7 -0
  634. package/_esm/core/actions/chain/parseTransportKeypair.js.map +1 -0
  635. package/_esm/core/actions/chain/serializeSignedDecryptionPermit.js +11 -0
  636. package/_esm/core/actions/chain/serializeSignedDecryptionPermit.js.map +1 -0
  637. package/_esm/core/actions/chain/serializeTransportKeypair.js +6 -0
  638. package/_esm/core/actions/chain/serializeTransportKeypair.js.map +1 -0
  639. package/_esm/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.js +5 -0
  640. package/_esm/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.js.map +1 -0
  641. package/_esm/core/actions/chain/verifyKmsUserDecryptEip712.js +5 -0
  642. package/_esm/core/actions/chain/verifyKmsUserDecryptEip712.js.map +1 -0
  643. package/_esm/core/actions/decrypt/canDecryptValue.js +18 -0
  644. package/_esm/core/actions/decrypt/canDecryptValue.js.map +1 -0
  645. package/_esm/core/actions/decrypt/canDecryptValues.js +20 -0
  646. package/_esm/core/actions/decrypt/canDecryptValues.js.map +1 -0
  647. package/_esm/core/actions/decrypt/canDecryptValuesFromPairs.js +16 -0
  648. package/_esm/core/actions/decrypt/canDecryptValuesFromPairs.js.map +1 -0
  649. package/_esm/core/actions/decrypt/decryptKmsSignedcryptedShares.js +9 -0
  650. package/_esm/core/actions/decrypt/decryptKmsSignedcryptedShares.js.map +1 -0
  651. package/_esm/core/actions/decrypt/decryptValue.js +18 -0
  652. package/_esm/core/actions/decrypt/decryptValue.js.map +1 -0
  653. package/_esm/core/actions/decrypt/decryptValues.js +16 -0
  654. package/_esm/core/actions/decrypt/decryptValues.js.map +1 -0
  655. package/_esm/core/actions/decrypt/decryptValuesFromPairs.js +15 -0
  656. package/_esm/core/actions/decrypt/decryptValuesFromPairs.js.map +1 -0
  657. package/_esm/core/actions/decrypt/generateTransportKeypair.js +6 -0
  658. package/_esm/core/actions/decrypt/generateTransportKeypair.js.map +1 -0
  659. package/_esm/core/actions/decrypt/index.js +9 -0
  660. package/_esm/core/actions/decrypt/index.js.map +1 -0
  661. package/_esm/core/actions/encrypt/encryptValue.js +24 -0
  662. package/_esm/core/actions/encrypt/encryptValue.js.map +1 -0
  663. package/_esm/core/actions/encrypt/encryptValues.js +22 -0
  664. package/_esm/core/actions/encrypt/encryptValues.js.map +1 -0
  665. package/_esm/core/actions/encrypt/generateZkProof.js +15 -0
  666. package/_esm/core/actions/encrypt/generateZkProof.js.map +1 -0
  667. package/_esm/core/actions/encrypt/index.js +4 -0
  668. package/_esm/core/actions/encrypt/index.js.map +1 -0
  669. package/_esm/core/actions/host/getUserDecryptionDelegationExpirationDate.js +18 -0
  670. package/_esm/core/actions/host/getUserDecryptionDelegationExpirationDate.js.map +1 -0
  671. package/_esm/core/actions/host/index.js +8 -0
  672. package/_esm/core/actions/host/index.js.map +1 -0
  673. package/_esm/core/actions/host/isAllowedForDecryption.js +18 -0
  674. package/_esm/core/actions/host/isAllowedForDecryption.js.map +1 -0
  675. package/_esm/core/actions/host/persistAllowed.js +17 -0
  676. package/_esm/core/actions/host/persistAllowed.js.map +1 -0
  677. package/_esm/core/actions/host/readFhevmExecutorContractData.js +53 -0
  678. package/_esm/core/actions/host/readFhevmExecutorContractData.js.map +1 -0
  679. package/_esm/core/actions/host/readInputVerifierContractData.js +49 -0
  680. package/_esm/core/actions/host/readInputVerifierContractData.js.map +1 -0
  681. package/_esm/core/actions/host/readKmsVerifierContractData.js +49 -0
  682. package/_esm/core/actions/host/readKmsVerifierContractData.js.map +1 -0
  683. package/_esm/core/actions/host/resolveChainId.js +24 -0
  684. package/_esm/core/actions/host/resolveChainId.js.map +1 -0
  685. package/_esm/core/actions/host/resolveFhevmConfig.js +89 -0
  686. package/_esm/core/actions/host/resolveFhevmConfig.js.map +1 -0
  687. package/_esm/core/base/address.js +210 -0
  688. package/_esm/core/base/address.js.map +1 -0
  689. package/_esm/core/base/auth.js +36 -0
  690. package/_esm/core/base/auth.js.map +1 -0
  691. package/_esm/core/base/boolean.js +62 -0
  692. package/_esm/core/base/boolean.js.map +1 -0
  693. package/_esm/core/base/bytes.js +1445 -0
  694. package/_esm/core/base/bytes.js.map +1 -0
  695. package/_esm/core/base/cachedFetch.js +88 -0
  696. package/_esm/core/base/cachedFetch.js.map +1 -0
  697. package/_esm/core/base/errors/AddressError.js +11 -0
  698. package/_esm/core/base/errors/AddressError.js.map +1 -0
  699. package/_esm/core/base/errors/ChecksummedAddressError.js +13 -0
  700. package/_esm/core/base/errors/ChecksummedAddressError.js.map +1 -0
  701. package/_esm/core/base/errors/ErrorBase.js +68 -0
  702. package/_esm/core/base/errors/ErrorBase.js.map +1 -0
  703. package/_esm/core/base/errors/FetchError.js +30 -0
  704. package/_esm/core/base/errors/FetchError.js.map +1 -0
  705. package/_esm/core/base/errors/FheTypeError.js +44 -0
  706. package/_esm/core/base/errors/FheTypeError.js.map +1 -0
  707. package/_esm/core/base/errors/InternalError.js +18 -0
  708. package/_esm/core/base/errors/InternalError.js.map +1 -0
  709. package/_esm/core/base/errors/InvalidPropertyError.js +183 -0
  710. package/_esm/core/base/errors/InvalidPropertyError.js.map +1 -0
  711. package/_esm/core/base/errors/InvalidTypeError.js +57 -0
  712. package/_esm/core/base/errors/InvalidTypeError.js.map +1 -0
  713. package/_esm/core/base/errors/utils.js +36 -0
  714. package/_esm/core/base/errors/utils.js.map +1 -0
  715. package/_esm/core/base/fetch.js +210 -0
  716. package/_esm/core/base/fetch.js.map +1 -0
  717. package/_esm/core/base/index.js +2 -0
  718. package/_esm/core/base/index.js.map +1 -0
  719. package/_esm/core/base/isomorphicWorker.js +235 -0
  720. package/_esm/core/base/isomorphicWorker.js.map +1 -0
  721. package/_esm/core/base/object.js +36 -0
  722. package/_esm/core/base/object.js.map +1 -0
  723. package/_esm/core/base/promise.js +31 -0
  724. package/_esm/core/base/promise.js.map +1 -0
  725. package/_esm/core/base/record.js +149 -0
  726. package/_esm/core/base/record.js.map +1 -0
  727. package/_esm/core/base/string.js +163 -0
  728. package/_esm/core/base/string.js.map +1 -0
  729. package/_esm/core/base/timeout.js +26 -0
  730. package/_esm/core/base/timeout.js.map +1 -0
  731. package/_esm/core/base/trustedValue.js +83 -0
  732. package/_esm/core/base/trustedValue.js.map +1 -0
  733. package/_esm/core/base/typedValue.js +236 -0
  734. package/_esm/core/base/typedValue.js.map +1 -0
  735. package/_esm/core/base/uid.js +17 -0
  736. package/_esm/core/base/uid.js.map +1 -0
  737. package/_esm/core/base/uint.js +402 -0
  738. package/_esm/core/base/uint.js.map +1 -0
  739. package/_esm/core/base/wasm.js +84 -0
  740. package/_esm/core/base/wasm.js.map +1 -0
  741. package/_esm/core/chains/definitions/localTestnet.js +30 -0
  742. package/_esm/core/chains/definitions/localTestnet.js.map +1 -0
  743. package/_esm/core/chains/definitions/mainnet.js +30 -0
  744. package/_esm/core/chains/definitions/mainnet.js.map +1 -0
  745. package/_esm/core/chains/definitions/sepolia.js +30 -0
  746. package/_esm/core/chains/definitions/sepolia.js.map +1 -0
  747. package/_esm/core/chains/index.js +4 -0
  748. package/_esm/core/chains/index.js.map +1 -0
  749. package/_esm/core/chains/utils.js +5 -0
  750. package/_esm/core/chains/utils.js.map +1 -0
  751. package/_esm/core/clients/decorators/base.js +36 -0
  752. package/_esm/core/clients/decorators/base.js.map +1 -0
  753. package/_esm/core/clients/decorators/decrypt.js +32 -0
  754. package/_esm/core/clients/decorators/decrypt.js.map +1 -0
  755. package/_esm/core/clients/decorators/encrypt-p.js +12 -0
  756. package/_esm/core/clients/decorators/encrypt-p.js.map +1 -0
  757. package/_esm/core/clients/decorators/encrypt.js +22 -0
  758. package/_esm/core/clients/decorators/encrypt.js.map +1 -0
  759. package/_esm/core/coprocessor/InputProof-p.js +268 -0
  760. package/_esm/core/coprocessor/InputProof-p.js.map +1 -0
  761. package/_esm/core/coprocessor/ZkProof-p.js +343 -0
  762. package/_esm/core/coprocessor/ZkProof-p.js.map +1 -0
  763. package/_esm/core/coprocessor/ZkProofBuilder-p.js +208 -0
  764. package/_esm/core/coprocessor/ZkProofBuilder-p.js.map +1 -0
  765. package/_esm/core/coprocessor/assertIsCoprocessorEip712Domain.js +16 -0
  766. package/_esm/core/coprocessor/assertIsCoprocessorEip712Domain.js.map +1 -0
  767. package/_esm/core/coprocessor/coprocessorEip712Types.js +34 -0
  768. package/_esm/core/coprocessor/coprocessorEip712Types.js.map +1 -0
  769. package/_esm/core/coprocessor/createCoprocessorEip712.js +41 -0
  770. package/_esm/core/coprocessor/createCoprocessorEip712.js.map +1 -0
  771. package/_esm/core/coprocessor/createCoprocessorEip712Domain.js +15 -0
  772. package/_esm/core/coprocessor/createCoprocessorEip712Domain.js.map +1 -0
  773. package/_esm/core/coprocessor/encrypt.js +18 -0
  774. package/_esm/core/coprocessor/encrypt.js.map +1 -0
  775. package/_esm/core/coprocessor/fetchVerifiedInputProof.js +47 -0
  776. package/_esm/core/coprocessor/fetchVerifiedInputProof.js.map +1 -0
  777. package/_esm/core/coprocessor/verifyHandlesCoprocessorSignatures.js +37 -0
  778. package/_esm/core/coprocessor/verifyHandlesCoprocessorSignatures.js.map +1 -0
  779. package/_esm/core/coprocessor/verifyInputProof.js +22 -0
  780. package/_esm/core/coprocessor/verifyInputProof.js.map +1 -0
  781. package/_esm/core/errors/AclError.js +43 -0
  782. package/_esm/core/errors/AclError.js.map +1 -0
  783. package/_esm/core/errors/ContractErrorBase.js +30 -0
  784. package/_esm/core/errors/ContractErrorBase.js.map +1 -0
  785. package/_esm/core/errors/EncryptionError.js +10 -0
  786. package/_esm/core/errors/EncryptionError.js.map +1 -0
  787. package/_esm/core/errors/FhevmConfigError.js +10 -0
  788. package/_esm/core/errors/FhevmConfigError.js.map +1 -0
  789. package/_esm/core/errors/FhevmErrorBase.js +62 -0
  790. package/_esm/core/errors/FhevmErrorBase.js.map +1 -0
  791. package/_esm/core/errors/FhevmHandleError.js +11 -0
  792. package/_esm/core/errors/FhevmHandleError.js.map +1 -0
  793. package/_esm/core/errors/InputProofError.js +20 -0
  794. package/_esm/core/errors/InputProofError.js.map +1 -0
  795. package/_esm/core/errors/RelayerAbortError.js +15 -0
  796. package/_esm/core/errors/RelayerAbortError.js.map +1 -0
  797. package/_esm/core/errors/RelayerErrorBase.js +83 -0
  798. package/_esm/core/errors/RelayerErrorBase.js.map +1 -0
  799. package/_esm/core/errors/RelayerFetchError.js +18 -0
  800. package/_esm/core/errors/RelayerFetchError.js.map +1 -0
  801. package/_esm/core/errors/RelayerFetchErrorBase.js +71 -0
  802. package/_esm/core/errors/RelayerFetchErrorBase.js.map +1 -0
  803. package/_esm/core/errors/RelayerMaxRetryError.js +16 -0
  804. package/_esm/core/errors/RelayerMaxRetryError.js.map +1 -0
  805. package/_esm/core/errors/RelayerRequestErrorBase.js +44 -0
  806. package/_esm/core/errors/RelayerRequestErrorBase.js.map +1 -0
  807. package/_esm/core/errors/RelayerRequestInternalError.js +44 -0
  808. package/_esm/core/errors/RelayerRequestInternalError.js.map +1 -0
  809. package/_esm/core/errors/RelayerResponseApiError.js +35 -0
  810. package/_esm/core/errors/RelayerResponseApiError.js.map +1 -0
  811. package/_esm/core/errors/RelayerResponseErrorBase.js +29 -0
  812. package/_esm/core/errors/RelayerResponseErrorBase.js.map +1 -0
  813. package/_esm/core/errors/RelayerResponseInputProofRejectedError.js +14 -0
  814. package/_esm/core/errors/RelayerResponseInputProofRejectedError.js.map +1 -0
  815. package/_esm/core/errors/RelayerResponseInvalidBodyError.js +35 -0
  816. package/_esm/core/errors/RelayerResponseInvalidBodyError.js.map +1 -0
  817. package/_esm/core/errors/RelayerResponseStatusError.js +16 -0
  818. package/_esm/core/errors/RelayerResponseStatusError.js.map +1 -0
  819. package/_esm/core/errors/RelayerStateError.js +32 -0
  820. package/_esm/core/errors/RelayerStateError.js.map +1 -0
  821. package/_esm/core/errors/RelayerTimeoutError.js +15 -0
  822. package/_esm/core/errors/RelayerTimeoutError.js.map +1 -0
  823. package/_esm/core/errors/SignersError.js +29 -0
  824. package/_esm/core/errors/SignersError.js.map +1 -0
  825. package/_esm/core/errors/TfheError.js +10 -0
  826. package/_esm/core/errors/TfheError.js.map +1 -0
  827. package/_esm/core/errors/ZkProofError.js +11 -0
  828. package/_esm/core/errors/ZkProofError.js.map +1 -0
  829. package/_esm/core/handle/ClearValue.js +272 -0
  830. package/_esm/core/handle/ClearValue.js.map +1 -0
  831. package/_esm/core/handle/EncryptedValue.js +26 -0
  832. package/_esm/core/handle/EncryptedValue.js.map +1 -0
  833. package/_esm/core/handle/FheType.js +430 -0
  834. package/_esm/core/handle/FheType.js.map +1 -0
  835. package/_esm/core/handle/FhevmHandle.js +545 -0
  836. package/_esm/core/handle/FhevmHandle.js.map +1 -0
  837. package/_esm/core/host-contracts/CoprocessorSignersContext-p.js +125 -0
  838. package/_esm/core/host-contracts/CoprocessorSignersContext-p.js.map +1 -0
  839. package/_esm/core/host-contracts/FhevmExecutorContractData-p.js +102 -0
  840. package/_esm/core/host-contracts/FhevmExecutorContractData-p.js.map +1 -0
  841. package/_esm/core/host-contracts/HostContractVersion-p.js +113 -0
  842. package/_esm/core/host-contracts/HostContractVersion-p.js.map +1 -0
  843. package/_esm/core/host-contracts/InputVerifierContractData-p.js +102 -0
  844. package/_esm/core/host-contracts/InputVerifierContractData-p.js.map +1 -0
  845. package/_esm/core/host-contracts/KmsSignersContext-p.js +177 -0
  846. package/_esm/core/host-contracts/KmsSignersContext-p.js.map +1 -0
  847. package/_esm/core/host-contracts/KmsVerifierContractData-p.js +84 -0
  848. package/_esm/core/host-contracts/KmsVerifierContractData-p.js.map +1 -0
  849. package/_esm/core/host-contracts/abi-fragments/fragments.js +393 -0
  850. package/_esm/core/host-contracts/abi-fragments/fragments.js.map +1 -0
  851. package/_esm/core/host-contracts/canDecryptValuesFromPairs.js +45 -0
  852. package/_esm/core/host-contracts/canDecryptValuesFromPairs.js.map +1 -0
  853. package/_esm/core/host-contracts/checkAllowedForDecryption.js +15 -0
  854. package/_esm/core/host-contracts/checkAllowedForDecryption.js.map +1 -0
  855. package/_esm/core/host-contracts/checkPersistAllowed.js +83 -0
  856. package/_esm/core/host-contracts/checkPersistAllowed.js.map +1 -0
  857. package/_esm/core/host-contracts/decryptionResultTypehash-p.js +29 -0
  858. package/_esm/core/host-contracts/decryptionResultTypehash-p.js.map +1 -0
  859. package/_esm/core/host-contracts/eip712Domain-p.js +46 -0
  860. package/_esm/core/host-contracts/eip712Domain-p.js.map +1 -0
  861. package/_esm/core/host-contracts/eip712InputVerificationTypehash-p.js +29 -0
  862. package/_esm/core/host-contracts/eip712InputVerificationTypehash-p.js.map +1 -0
  863. package/_esm/core/host-contracts/getAclAddress-p.js +29 -0
  864. package/_esm/core/host-contracts/getAclAddress-p.js.map +1 -0
  865. package/_esm/core/host-contracts/getCoprocessorContextSignersAndThreshold-p.js +92 -0
  866. package/_esm/core/host-contracts/getCoprocessorContextSignersAndThreshold-p.js.map +1 -0
  867. package/_esm/core/host-contracts/getCoprocessorSigners-p.js +29 -0
  868. package/_esm/core/host-contracts/getCoprocessorSigners-p.js.map +1 -0
  869. package/_esm/core/host-contracts/getCurrentKmsContextId-p.js +50 -0
  870. package/_esm/core/host-contracts/getCurrentKmsContextId-p.js.map +1 -0
  871. package/_esm/core/host-contracts/getFhevmExecutorAddress-p.js +29 -0
  872. package/_esm/core/host-contracts/getFhevmExecutorAddress-p.js.map +1 -0
  873. package/_esm/core/host-contracts/getHandleVersion-p.js +24 -0
  874. package/_esm/core/host-contracts/getHandleVersion-p.js.map +1 -0
  875. package/_esm/core/host-contracts/getHcuLimitAddress-p.js +29 -0
  876. package/_esm/core/host-contracts/getHcuLimitAddress-p.js.map +1 -0
  877. package/_esm/core/host-contracts/getInputVerifierAddress-p.js +29 -0
  878. package/_esm/core/host-contracts/getInputVerifierAddress-p.js.map +1 -0
  879. package/_esm/core/host-contracts/getKmsContextSignersAndThreshold-p.js +108 -0
  880. package/_esm/core/host-contracts/getKmsContextSignersAndThreshold-p.js.map +1 -0
  881. package/_esm/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.js +73 -0
  882. package/_esm/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.js.map +1 -0
  883. package/_esm/core/host-contracts/getSignersForKmsContext-p.js +64 -0
  884. package/_esm/core/host-contracts/getSignersForKmsContext-p.js.map +1 -0
  885. package/_esm/core/host-contracts/isAllowedForDecryption.js +29 -0
  886. package/_esm/core/host-contracts/isAllowedForDecryption.js.map +1 -0
  887. package/_esm/core/host-contracts/isUserDecryptable.js +56 -0
  888. package/_esm/core/host-contracts/isUserDecryptable.js.map +1 -0
  889. package/_esm/core/host-contracts/persistAllowed.js +30 -0
  890. package/_esm/core/host-contracts/persistAllowed.js.map +1 -0
  891. package/_esm/core/host-contracts/readCoprocessorSignersContext-p.js +14 -0
  892. package/_esm/core/host-contracts/readCoprocessorSignersContext-p.js.map +1 -0
  893. package/_esm/core/host-contracts/readKmsSignersContext-p.js +116 -0
  894. package/_esm/core/host-contracts/readKmsSignersContext-p.js.map +1 -0
  895. package/_esm/core/key/FheEncryptionKeyCache-p.js +278 -0
  896. package/_esm/core/key/FheEncryptionKeyCache-p.js.map +1 -0
  897. package/_esm/core/key/FheEncryptionKeyWasm-p.js +73 -0
  898. package/_esm/core/key/FheEncryptionKeyWasm-p.js.map +1 -0
  899. package/_esm/core/key/deserializeFheEncryptionKey.js +16 -0
  900. package/_esm/core/key/deserializeFheEncryptionKey.js.map +1 -0
  901. package/_esm/core/key/fetchFheEncryptionKey.js +29 -0
  902. package/_esm/core/key/fetchFheEncryptionKey.js.map +1 -0
  903. package/_esm/core/key/fetchFheEncryptionKeyBytes.js +46 -0
  904. package/_esm/core/key/fetchFheEncryptionKeyBytes.js.map +1 -0
  905. package/_esm/core/key/fetchFheEncryptionKeyBytesWithSource.js +57 -0
  906. package/_esm/core/key/fetchFheEncryptionKeyBytesWithSource.js.map +1 -0
  907. package/_esm/core/key/serializeFheEncryptionKey.js +21 -0
  908. package/_esm/core/key/serializeFheEncryptionKey.js.map +1 -0
  909. package/_esm/core/kms/KmsSigncryptedShares-p.js +141 -0
  910. package/_esm/core/kms/KmsSigncryptedShares-p.js.map +1 -0
  911. package/_esm/core/kms/PublicDecryptionProof-p.js +122 -0
  912. package/_esm/core/kms/PublicDecryptionProof-p.js.map +1 -0
  913. package/_esm/core/kms/PublicDecryptionProof.js +8 -0
  914. package/_esm/core/kms/PublicDecryptionProof.js.map +1 -0
  915. package/_esm/core/kms/SignedDecryptionPermit-p.js +286 -0
  916. package/_esm/core/kms/SignedDecryptionPermit-p.js.map +1 -0
  917. package/_esm/core/kms/TransportKeypair-p.js +211 -0
  918. package/_esm/core/kms/TransportKeypair-p.js.map +1 -0
  919. package/_esm/core/kms/createKmsDelegatedUserDecryptEip712.js +73 -0
  920. package/_esm/core/kms/createKmsDelegatedUserDecryptEip712.js.map +1 -0
  921. package/_esm/core/kms/createKmsEip712Domain.js +40 -0
  922. package/_esm/core/kms/createKmsEip712Domain.js.map +1 -0
  923. package/_esm/core/kms/createKmsPublicDecryptEip712.js +39 -0
  924. package/_esm/core/kms/createKmsPublicDecryptEip712.js.map +1 -0
  925. package/_esm/core/kms/createKmsUserDecryptEip712.js +100 -0
  926. package/_esm/core/kms/createKmsUserDecryptEip712.js.map +1 -0
  927. package/_esm/core/kms/decryptKmsSignedcryptedShares-p.js +14 -0
  928. package/_esm/core/kms/decryptKmsSignedcryptedShares-p.js.map +1 -0
  929. package/_esm/core/kms/decryptValuesFromPairs.js +14 -0
  930. package/_esm/core/kms/decryptValuesFromPairs.js.map +1 -0
  931. package/_esm/core/kms/fetchKmsSignedcryptedShares-p.js +124 -0
  932. package/_esm/core/kms/fetchKmsSignedcryptedShares-p.js.map +1 -0
  933. package/_esm/core/kms/index.js +2 -0
  934. package/_esm/core/kms/index.js.map +1 -0
  935. package/_esm/core/kms/kmsDelegatedUserDecryptEip712Types.js +28 -0
  936. package/_esm/core/kms/kmsDelegatedUserDecryptEip712Types.js.map +1 -0
  937. package/_esm/core/kms/kmsExtraData.js +35 -0
  938. package/_esm/core/kms/kmsExtraData.js.map +1 -0
  939. package/_esm/core/kms/kmsPublicDecryptEip712Types.js +25 -0
  940. package/_esm/core/kms/kmsPublicDecryptEip712Types.js.map +1 -0
  941. package/_esm/core/kms/kmsUserDecryptEip712Types.js +27 -0
  942. package/_esm/core/kms/kmsUserDecryptEip712Types.js.map +1 -0
  943. package/_esm/core/kms/publicDecrypt.js +65 -0
  944. package/_esm/core/kms/publicDecrypt.js.map +1 -0
  945. package/_esm/core/kms/utils.js +38 -0
  946. package/_esm/core/kms/utils.js.map +1 -0
  947. package/_esm/core/kms/verifyKmsPublicDecryptEip712-p.js +46 -0
  948. package/_esm/core/kms/verifyKmsPublicDecryptEip712-p.js.map +1 -0
  949. package/_esm/core/modules/decrypt/mock.js +82 -0
  950. package/_esm/core/modules/decrypt/mock.js.map +1 -0
  951. package/_esm/core/modules/decrypt/module/api-p.js +228 -0
  952. package/_esm/core/modules/decrypt/module/api-p.js.map +1 -0
  953. package/_esm/core/modules/decrypt/module/index.js +44 -0
  954. package/_esm/core/modules/decrypt/module/index.js.map +1 -0
  955. package/_esm/core/modules/decrypt/module/init-p.js +115 -0
  956. package/_esm/core/modules/decrypt/module/init-p.js.map +1 -0
  957. package/_esm/core/modules/decrypt/types.js +2 -0
  958. package/_esm/core/modules/decrypt/types.js.map +1 -0
  959. package/_esm/core/modules/encrypt/mock.js +63 -0
  960. package/_esm/core/modules/encrypt/mock.js.map +1 -0
  961. package/_esm/core/modules/encrypt/module/api-p.js +288 -0
  962. package/_esm/core/modules/encrypt/module/api-p.js.map +1 -0
  963. package/_esm/core/modules/encrypt/module/index.js +21 -0
  964. package/_esm/core/modules/encrypt/module/index.js.map +1 -0
  965. package/_esm/core/modules/encrypt/module/init-p.js +179 -0
  966. package/_esm/core/modules/encrypt/module/init-p.js.map +1 -0
  967. package/_esm/core/modules/encrypt/types.js +2 -0
  968. package/_esm/core/modules/encrypt/types.js.map +1 -0
  969. package/_esm/core/modules/ethereum/createTrustedClient.js +6 -0
  970. package/_esm/core/modules/ethereum/createTrustedClient.js.map +1 -0
  971. package/_esm/core/modules/ethereum/types.js +2 -0
  972. package/_esm/core/modules/ethereum/types.js.map +1 -0
  973. package/_esm/core/modules/relayer/mock.js +28 -0
  974. package/_esm/core/modules/relayer/mock.js.map +1 -0
  975. package/_esm/core/modules/relayer/module/RelayerAsyncRequest.js +1576 -0
  976. package/_esm/core/modules/relayer/module/RelayerAsyncRequest.js.map +1 -0
  977. package/_esm/core/modules/relayer/module/fetchCoprocessorSignatures.js +30 -0
  978. package/_esm/core/modules/relayer/module/fetchCoprocessorSignatures.js.map +1 -0
  979. package/_esm/core/modules/relayer/module/fetchDelegatedUserDecrypt.js +48 -0
  980. package/_esm/core/modules/relayer/module/fetchDelegatedUserDecrypt.js.map +1 -0
  981. package/_esm/core/modules/relayer/module/fetchFheEncryptionKeyBytes.js +21 -0
  982. package/_esm/core/modules/relayer/module/fetchFheEncryptionKeyBytes.js.map +1 -0
  983. package/_esm/core/modules/relayer/module/fetchFheEncryptionKeySource.js +137 -0
  984. package/_esm/core/modules/relayer/module/fetchFheEncryptionKeySource.js.map +1 -0
  985. package/_esm/core/modules/relayer/module/fetchPublicDecrypt.js +28 -0
  986. package/_esm/core/modules/relayer/module/fetchPublicDecrypt.js.map +1 -0
  987. package/_esm/core/modules/relayer/module/fetchUserDecrypt.js +49 -0
  988. package/_esm/core/modules/relayer/module/fetchUserDecrypt.js.map +1 -0
  989. package/_esm/core/modules/relayer/module/guards/RelayerInputProofSucceeded.js +74 -0
  990. package/_esm/core/modules/relayer/module/guards/RelayerInputProofSucceeded.js.map +1 -0
  991. package/_esm/core/modules/relayer/module/guards/RelayerPublicDecryptSucceeded.js +42 -0
  992. package/_esm/core/modules/relayer/module/guards/RelayerPublicDecryptSucceeded.js.map +1 -0
  993. package/_esm/core/modules/relayer/module/guards/RelayerResponseFailed.js +162 -0
  994. package/_esm/core/modules/relayer/module/guards/RelayerResponseFailed.js.map +1 -0
  995. package/_esm/core/modules/relayer/module/guards/RelayerResponseQueued.js +38 -0
  996. package/_esm/core/modules/relayer/module/guards/RelayerResponseQueued.js.map +1 -0
  997. package/_esm/core/modules/relayer/module/guards/RelayerUserDecryptSucceeded.js +52 -0
  998. package/_esm/core/modules/relayer/module/guards/RelayerUserDecryptSucceeded.js.map +1 -0
  999. package/_esm/core/modules/relayer/module/guards/api-errors/RelayerApiError400NoDetails.js +45 -0
  1000. package/_esm/core/modules/relayer/module/guards/api-errors/RelayerApiError400NoDetails.js.map +1 -0
  1001. package/_esm/core/modules/relayer/module/guards/api-errors/RelayerApiError400WithDetails.js +65 -0
  1002. package/_esm/core/modules/relayer/module/guards/api-errors/RelayerApiError400WithDetails.js.map +1 -0
  1003. package/_esm/core/modules/relayer/module/guards/api-errors/RelayerApiError404.js +18 -0
  1004. package/_esm/core/modules/relayer/module/guards/api-errors/RelayerApiError404.js.map +1 -0
  1005. package/_esm/core/modules/relayer/module/guards/api-errors/RelayerApiError429.js +18 -0
  1006. package/_esm/core/modules/relayer/module/guards/api-errors/RelayerApiError429.js.map +1 -0
  1007. package/_esm/core/modules/relayer/module/guards/api-errors/RelayerApiError500.js +18 -0
  1008. package/_esm/core/modules/relayer/module/guards/api-errors/RelayerApiError500.js.map +1 -0
  1009. package/_esm/core/modules/relayer/module/guards/api-errors/RelayerApiError503.js +23 -0
  1010. package/_esm/core/modules/relayer/module/guards/api-errors/RelayerApiError503.js.map +1 -0
  1011. package/_esm/core/modules/relayer/module/index.js +22 -0
  1012. package/_esm/core/modules/relayer/module/index.js.map +1 -0
  1013. package/_esm/core/modules/relayer/module/relayerUrl.js +33 -0
  1014. package/_esm/core/modules/relayer/module/relayerUrl.js.map +1 -0
  1015. package/_esm/core/modules/relayer/module/utils.js +19 -0
  1016. package/_esm/core/modules/relayer/module/utils.js.map +1 -0
  1017. package/_esm/core/modules/relayer/types.js +2 -0
  1018. package/_esm/core/modules/relayer/types.js.map +1 -0
  1019. package/_esm/core/runtime/CoreFhevm-p.js +248 -0
  1020. package/_esm/core/runtime/CoreFhevm-p.js.map +1 -0
  1021. package/_esm/core/runtime/CoreFhevmRuntime-p.js +190 -0
  1022. package/_esm/core/runtime/CoreFhevmRuntime-p.js.map +1 -0
  1023. package/_esm/core/runtime/FhevmRuntime.js +2 -0
  1024. package/_esm/core/runtime/FhevmRuntime.js.map +1 -0
  1025. package/_esm/core/runtime/initFhevmDecryptRuntime-p.js +8 -0
  1026. package/_esm/core/runtime/initFhevmDecryptRuntime-p.js.map +1 -0
  1027. package/_esm/core/runtime/initFhevmEncryptRuntime-p.js +8 -0
  1028. package/_esm/core/runtime/initFhevmEncryptRuntime-p.js.map +1 -0
  1029. package/_esm/core/runtime/initFhevmRuntime-p.js +9 -0
  1030. package/_esm/core/runtime/initFhevmRuntime-p.js.map +1 -0
  1031. package/_esm/core/types/auth.js +2 -0
  1032. package/_esm/core/types/auth.js.map +1 -0
  1033. package/_esm/core/types/configs.js +2 -0
  1034. package/_esm/core/types/configs.js.map +1 -0
  1035. package/_esm/core/types/coprocessor.js +2 -0
  1036. package/_esm/core/types/coprocessor.js.map +1 -0
  1037. package/_esm/core/types/coprocessorSignersContext.js +2 -0
  1038. package/_esm/core/types/coprocessorSignersContext.js.map +1 -0
  1039. package/_esm/core/types/coreFhevmClient.js +2 -0
  1040. package/_esm/core/types/coreFhevmClient.js.map +1 -0
  1041. package/_esm/core/types/coreFhevmRuntime.js +2 -0
  1042. package/_esm/core/types/coreFhevmRuntime.js.map +1 -0
  1043. package/_esm/core/types/encryptedTypes-p.js +2 -0
  1044. package/_esm/core/types/encryptedTypes-p.js.map +1 -0
  1045. package/_esm/core/types/encryptedTypes.js +2 -0
  1046. package/_esm/core/types/encryptedTypes.js.map +1 -0
  1047. package/_esm/core/types/fheEncryptionKey.js +2 -0
  1048. package/_esm/core/types/fheEncryptionKey.js.map +1 -0
  1049. package/_esm/core/types/fheType.js +2 -0
  1050. package/_esm/core/types/fheType.js.map +1 -0
  1051. package/_esm/core/types/fhevmChain.js +2 -0
  1052. package/_esm/core/types/fhevmChain.js.map +1 -0
  1053. package/_esm/core/types/fhevmClient.js +2 -0
  1054. package/_esm/core/types/fhevmClient.js.map +1 -0
  1055. package/_esm/core/types/fhevmDecryptionKey.js +2 -0
  1056. package/_esm/core/types/fhevmDecryptionKey.js.map +1 -0
  1057. package/_esm/core/types/fhevmUser.js +2 -0
  1058. package/_esm/core/types/fhevmUser.js.map +1 -0
  1059. package/_esm/core/types/hostContract.js +2 -0
  1060. package/_esm/core/types/hostContract.js.map +1 -0
  1061. package/_esm/core/types/index.js +2 -0
  1062. package/_esm/core/types/index.js.map +1 -0
  1063. package/_esm/core/types/inputProof.js +2 -0
  1064. package/_esm/core/types/inputProof.js.map +1 -0
  1065. package/_esm/core/types/kms-p.js +2 -0
  1066. package/_esm/core/types/kms-p.js.map +1 -0
  1067. package/_esm/core/types/kms.js +2 -0
  1068. package/_esm/core/types/kms.js.map +1 -0
  1069. package/_esm/core/types/kmsSignersContext.js +2 -0
  1070. package/_esm/core/types/kmsSignersContext.js.map +1 -0
  1071. package/_esm/core/types/logger.js +2 -0
  1072. package/_esm/core/types/logger.js.map +1 -0
  1073. package/_esm/core/types/other-p.js +2 -0
  1074. package/_esm/core/types/other-p.js.map +1 -0
  1075. package/_esm/core/types/primitives.js +3 -0
  1076. package/_esm/core/types/primitives.js.map +1 -0
  1077. package/_esm/core/types/publicDecryptionProof-p.js +2 -0
  1078. package/_esm/core/types/publicDecryptionProof-p.js.map +1 -0
  1079. package/_esm/core/types/record-p.js +2 -0
  1080. package/_esm/core/types/record-p.js.map +1 -0
  1081. package/_esm/core/types/relayer-p.js +2 -0
  1082. package/_esm/core/types/relayer-p.js.map +1 -0
  1083. package/_esm/core/types/relayer.js +2 -0
  1084. package/_esm/core/types/relayer.js.map +1 -0
  1085. package/_esm/core/types/signedDecryptionPermit.js +2 -0
  1086. package/_esm/core/types/signedDecryptionPermit.js.map +1 -0
  1087. package/_esm/core/types/tkms-p.js +2 -0
  1088. package/_esm/core/types/tkms-p.js.map +1 -0
  1089. package/_esm/core/types/utils.js +2 -0
  1090. package/_esm/core/types/utils.js.map +1 -0
  1091. package/_esm/core/types/zkProof-p.js +2 -0
  1092. package/_esm/core/types/zkProof-p.js.map +1 -0
  1093. package/_esm/core/types/zkProofBuilder.js +2 -0
  1094. package/_esm/core/types/zkProofBuilder.js.map +1 -0
  1095. package/_esm/core/utils-p/decrypt/assertPermitMatchesKeypair.js +19 -0
  1096. package/_esm/core/utils-p/decrypt/assertPermitMatchesKeypair.js.map +1 -0
  1097. package/_esm/core/utils-p/decrypt/verifyKmsDelegatedUserDecryptEip712.js +31 -0
  1098. package/_esm/core/utils-p/decrypt/verifyKmsDelegatedUserDecryptEip712.js.map +1 -0
  1099. package/_esm/core/utils-p/decrypt/verifyKmsUserDecryptEip712.js +31 -0
  1100. package/_esm/core/utils-p/decrypt/verifyKmsUserDecryptEip712.js.map +1 -0
  1101. package/_esm/core/utils-p/decrypt/verifyTkmsPublicKey.js +16 -0
  1102. package/_esm/core/utils-p/decrypt/verifyTkmsPublicKey.js.map +1 -0
  1103. package/_esm/core/utils-p/runtime/recoverSigners.js +21 -0
  1104. package/_esm/core/utils-p/runtime/recoverSigners.js.map +1 -0
  1105. package/_esm/ethers/clients/createFhevmBaseClient.js +14 -0
  1106. package/_esm/ethers/clients/createFhevmBaseClient.js.map +1 -0
  1107. package/_esm/ethers/clients/createFhevmClient.js +9 -0
  1108. package/_esm/ethers/clients/createFhevmClient.js.map +1 -0
  1109. package/_esm/ethers/clients/createFhevmDecryptClient.js +8 -0
  1110. package/_esm/ethers/clients/createFhevmDecryptClient.js.map +1 -0
  1111. package/_esm/ethers/clients/createFhevmEncryptClient.js +9 -0
  1112. package/_esm/ethers/clients/createFhevmEncryptClient.js.map +1 -0
  1113. package/_esm/ethers/decorators/decrypt.js +7 -0
  1114. package/_esm/ethers/decorators/decrypt.js.map +1 -0
  1115. package/_esm/ethers/decorators/encrypt.js +7 -0
  1116. package/_esm/ethers/decorators/encrypt.js.map +1 -0
  1117. package/_esm/ethers/index.js +9 -0
  1118. package/_esm/ethers/index.js.map +1 -0
  1119. package/_esm/ethers/internal/ethereum.js +112 -0
  1120. package/_esm/ethers/internal/ethereum.js.map +1 -0
  1121. package/_esm/ethers/internal/ethers-p.js +79 -0
  1122. package/_esm/ethers/internal/ethers-p.js.map +1 -0
  1123. package/_esm/ethers/internal/utils.js +27 -0
  1124. package/_esm/ethers/internal/utils.js.map +1 -0
  1125. package/_esm/ethers/runtime/initFhevmDecryptRuntime.js +7 -0
  1126. package/_esm/ethers/runtime/initFhevmDecryptRuntime.js.map +1 -0
  1127. package/_esm/ethers/runtime/initFhevmEncryptRuntime.js +7 -0
  1128. package/_esm/ethers/runtime/initFhevmEncryptRuntime.js.map +1 -0
  1129. package/_esm/ethers/runtime/initFhevmRuntime.js +7 -0
  1130. package/_esm/ethers/runtime/initFhevmRuntime.js.map +1 -0
  1131. package/_esm/package.json +1 -0
  1132. package/_esm/viem/clients/createFhevmBaseClient.js +14 -0
  1133. package/_esm/viem/clients/createFhevmBaseClient.js.map +1 -0
  1134. package/_esm/viem/clients/createFhevmClient.js +9 -0
  1135. package/_esm/viem/clients/createFhevmClient.js.map +1 -0
  1136. package/_esm/viem/clients/createFhevmDecryptClient.js +8 -0
  1137. package/_esm/viem/clients/createFhevmDecryptClient.js.map +1 -0
  1138. package/_esm/viem/clients/createFhevmEncryptClient.js +9 -0
  1139. package/_esm/viem/clients/createFhevmEncryptClient.js.map +1 -0
  1140. package/_esm/viem/decorators/decrypt.js +7 -0
  1141. package/_esm/viem/decorators/decrypt.js.map +1 -0
  1142. package/_esm/viem/decorators/encrypt.js +7 -0
  1143. package/_esm/viem/decorators/encrypt.js.map +1 -0
  1144. package/_esm/viem/index.js +9 -0
  1145. package/_esm/viem/index.js.map +1 -0
  1146. package/_esm/viem/internal/ethereum.js +99 -0
  1147. package/_esm/viem/internal/ethereum.js.map +1 -0
  1148. package/_esm/viem/internal/viem-p.js +79 -0
  1149. package/_esm/viem/internal/viem-p.js.map +1 -0
  1150. package/_esm/viem/runtime/initFhevmDecryptRuntime.js +7 -0
  1151. package/_esm/viem/runtime/initFhevmDecryptRuntime.js.map +1 -0
  1152. package/_esm/viem/runtime/initFhevmEncryptRuntime.js +7 -0
  1153. package/_esm/viem/runtime/initFhevmEncryptRuntime.js.map +1 -0
  1154. package/_esm/viem/runtime/initFhevmRuntime.js +7 -0
  1155. package/_esm/viem/runtime/initFhevmRuntime.js.map +1 -0
  1156. package/_esm/wasm/tfhe/compile-worker.js +8 -0
  1157. package/_esm/wasm/tfhe/startWorkers.v1.5.3.js +426 -0
  1158. package/_esm/wasm/tfhe/tfhe-worker.v1.5.3.inline.js +7 -0
  1159. package/_esm/wasm/tfhe/tfhe-worker.v1.5.3.mjs +745 -0
  1160. package/_esm/wasm/tfhe/tfhe.v1.5.3.d.ts +10793 -0
  1161. package/_esm/wasm/tfhe/tfhe.v1.5.3.js +28645 -0
  1162. package/_esm/wasm/tfhe/tfhe_bg.v1.5.3.wasm +0 -0
  1163. package/_esm/wasm/tfhe/tfhe_bg.v1.5.3.wasm.base64.d.ts +1 -0
  1164. package/_esm/wasm/tfhe/tfhe_bg.v1.5.3.wasm.base64.js +1 -0
  1165. package/_esm/wasm/tkms/kms_lib.v0.13.10.d.ts +586 -0
  1166. package/_esm/wasm/tkms/kms_lib.v0.13.10.js +2117 -0
  1167. package/_esm/wasm/tkms/kms_lib_bg.v0.13.10.wasm +0 -0
  1168. package/_esm/wasm/tkms/kms_lib_bg.v0.13.10.wasm.base64.d.ts +1 -0
  1169. package/_esm/wasm/tkms/kms_lib_bg.v0.13.10.wasm.base64.js +3 -0
  1170. package/_esm/wasm/wasmBaseUrl.d.ts +7 -0
  1171. package/_esm/wasm/wasmBaseUrl.js +14 -0
  1172. package/_types/core/_version.d.ts +3 -0
  1173. package/_types/core/_version.d.ts.map +1 -0
  1174. package/_types/core/actions/base/canReadPublicValue.d.ts +9 -0
  1175. package/_types/core/actions/base/canReadPublicValue.d.ts.map +1 -0
  1176. package/_types/core/actions/base/canReadPublicValues.d.ts +9 -0
  1177. package/_types/core/actions/base/canReadPublicValues.d.ts.map +1 -0
  1178. package/_types/core/actions/base/createVerifiedInputProofFromRawBytes.d.ts +14 -0
  1179. package/_types/core/actions/base/createVerifiedInputProofFromRawBytes.d.ts.map +1 -0
  1180. package/_types/core/actions/base/fetchKmsSignedcryptedShares.d.ts +41 -0
  1181. package/_types/core/actions/base/fetchKmsSignedcryptedShares.d.ts.map +1 -0
  1182. package/_types/core/actions/base/fetchVerifiedInputProof.d.ts +14 -0
  1183. package/_types/core/actions/base/fetchVerifiedInputProof.d.ts.map +1 -0
  1184. package/_types/core/actions/base/index.d.ts +15 -0
  1185. package/_types/core/actions/base/index.d.ts.map +1 -0
  1186. package/_types/core/actions/base/readCoprocessorSignersContext.d.ts +6 -0
  1187. package/_types/core/actions/base/readCoprocessorSignersContext.d.ts.map +1 -0
  1188. package/_types/core/actions/base/readKmsSignersContext.d.ts +6 -0
  1189. package/_types/core/actions/base/readKmsSignersContext.d.ts.map +1 -0
  1190. package/_types/core/actions/base/readPublicValue.d.ts +12 -0
  1191. package/_types/core/actions/base/readPublicValue.d.ts.map +1 -0
  1192. package/_types/core/actions/base/readPublicValues.d.ts +12 -0
  1193. package/_types/core/actions/base/readPublicValues.d.ts.map +1 -0
  1194. package/_types/core/actions/base/readPublicValuesWithSignatures.d.ts +21 -0
  1195. package/_types/core/actions/base/readPublicValuesWithSignatures.d.ts.map +1 -0
  1196. package/_types/core/actions/base/signDecryptionPermit.d.ts +9 -0
  1197. package/_types/core/actions/base/signDecryptionPermit.d.ts.map +1 -0
  1198. package/_types/core/actions/base/verifyHandlesCoprocessorSignatures.d.ts +14 -0
  1199. package/_types/core/actions/base/verifyHandlesCoprocessorSignatures.d.ts.map +1 -0
  1200. package/_types/core/actions/base/verifyInputProof.d.ts +14 -0
  1201. package/_types/core/actions/base/verifyInputProof.d.ts.map +1 -0
  1202. package/_types/core/actions/base/verifyZkProofCoprocessorSignatures.d.ts +11 -0
  1203. package/_types/core/actions/base/verifyZkProofCoprocessorSignatures.d.ts.map +1 -0
  1204. package/_types/core/actions/chain/createCoprocessorEip712Domain.d.ts +7 -0
  1205. package/_types/core/actions/chain/createCoprocessorEip712Domain.d.ts.map +1 -0
  1206. package/_types/core/actions/chain/createKmsDelegatedUserDecryptEip712.d.ts +15 -0
  1207. package/_types/core/actions/chain/createKmsDelegatedUserDecryptEip712.d.ts.map +1 -0
  1208. package/_types/core/actions/chain/createKmsEip712Domain.d.ts +7 -0
  1209. package/_types/core/actions/chain/createKmsEip712Domain.d.ts.map +1 -0
  1210. package/_types/core/actions/chain/createKmsUserDecryptEip712.d.ts +14 -0
  1211. package/_types/core/actions/chain/createKmsUserDecryptEip712.d.ts.map +1 -0
  1212. package/_types/core/actions/chain/fetchFheEncryptionKeyBytes.d.ts +12 -0
  1213. package/_types/core/actions/chain/fetchFheEncryptionKeyBytes.d.ts.map +1 -0
  1214. package/_types/core/actions/chain/index.d.ts +13 -0
  1215. package/_types/core/actions/chain/index.d.ts.map +1 -0
  1216. package/_types/core/actions/chain/parseSignedDecryptionPermit.d.ts +21 -0
  1217. package/_types/core/actions/chain/parseSignedDecryptionPermit.d.ts.map +1 -0
  1218. package/_types/core/actions/chain/parseTransportKeypair.d.ts +11 -0
  1219. package/_types/core/actions/chain/parseTransportKeypair.d.ts.map +1 -0
  1220. package/_types/core/actions/chain/serializeSignedDecryptionPermit.d.ts +21 -0
  1221. package/_types/core/actions/chain/serializeSignedDecryptionPermit.d.ts.map +1 -0
  1222. package/_types/core/actions/chain/serializeTransportKeypair.d.ts +14 -0
  1223. package/_types/core/actions/chain/serializeTransportKeypair.d.ts.map +1 -0
  1224. package/_types/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.d.ts +7 -0
  1225. package/_types/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.d.ts.map +1 -0
  1226. package/_types/core/actions/chain/verifyKmsUserDecryptEip712.d.ts +7 -0
  1227. package/_types/core/actions/chain/verifyKmsUserDecryptEip712.d.ts.map +1 -0
  1228. package/_types/core/actions/decrypt/canDecryptValue.d.ts +66 -0
  1229. package/_types/core/actions/decrypt/canDecryptValue.d.ts.map +1 -0
  1230. package/_types/core/actions/decrypt/canDecryptValues.d.ts +27 -0
  1231. package/_types/core/actions/decrypt/canDecryptValues.d.ts.map +1 -0
  1232. package/_types/core/actions/decrypt/canDecryptValuesFromPairs.d.ts +29 -0
  1233. package/_types/core/actions/decrypt/canDecryptValuesFromPairs.d.ts.map +1 -0
  1234. package/_types/core/actions/decrypt/decryptKmsSignedcryptedShares.d.ts +13 -0
  1235. package/_types/core/actions/decrypt/decryptKmsSignedcryptedShares.d.ts.map +1 -0
  1236. package/_types/core/actions/decrypt/decryptValue.d.ts +26 -0
  1237. package/_types/core/actions/decrypt/decryptValue.d.ts.map +1 -0
  1238. package/_types/core/actions/decrypt/decryptValues.d.ts +26 -0
  1239. package/_types/core/actions/decrypt/decryptValues.d.ts.map +1 -0
  1240. package/_types/core/actions/decrypt/decryptValuesFromPairs.d.ts +28 -0
  1241. package/_types/core/actions/decrypt/decryptValuesFromPairs.d.ts.map +1 -0
  1242. package/_types/core/actions/decrypt/generateTransportKeypair.d.ts +7 -0
  1243. package/_types/core/actions/decrypt/generateTransportKeypair.d.ts.map +1 -0
  1244. package/_types/core/actions/decrypt/index.d.ts +11 -0
  1245. package/_types/core/actions/decrypt/index.d.ts.map +1 -0
  1246. package/_types/core/actions/encrypt/encryptValue.d.ts +18 -0
  1247. package/_types/core/actions/encrypt/encryptValue.d.ts.map +1 -0
  1248. package/_types/core/actions/encrypt/encryptValues.d.ts +18 -0
  1249. package/_types/core/actions/encrypt/encryptValues.d.ts.map +1 -0
  1250. package/_types/core/actions/encrypt/generateZkProof.d.ts +13 -0
  1251. package/_types/core/actions/encrypt/generateZkProof.d.ts.map +1 -0
  1252. package/_types/core/actions/encrypt/index.d.ts +6 -0
  1253. package/_types/core/actions/encrypt/index.d.ts.map +1 -0
  1254. package/_types/core/actions/host/getUserDecryptionDelegationExpirationDate.d.ts +8 -0
  1255. package/_types/core/actions/host/getUserDecryptionDelegationExpirationDate.d.ts.map +1 -0
  1256. package/_types/core/actions/host/index.d.ts +8 -0
  1257. package/_types/core/actions/host/index.d.ts.map +1 -0
  1258. package/_types/core/actions/host/isAllowedForDecryption.d.ts +11 -0
  1259. package/_types/core/actions/host/isAllowedForDecryption.d.ts.map +1 -0
  1260. package/_types/core/actions/host/persistAllowed.d.ts +12 -0
  1261. package/_types/core/actions/host/persistAllowed.d.ts.map +1 -0
  1262. package/_types/core/actions/host/readFhevmExecutorContractData.d.ts +9 -0
  1263. package/_types/core/actions/host/readFhevmExecutorContractData.d.ts.map +1 -0
  1264. package/_types/core/actions/host/readInputVerifierContractData.d.ts +9 -0
  1265. package/_types/core/actions/host/readInputVerifierContractData.d.ts.map +1 -0
  1266. package/_types/core/actions/host/readKmsVerifierContractData.d.ts +9 -0
  1267. package/_types/core/actions/host/readKmsVerifierContractData.d.ts.map +1 -0
  1268. package/_types/core/actions/host/resolveChainId.d.ts +9 -0
  1269. package/_types/core/actions/host/resolveChainId.d.ts.map +1 -0
  1270. package/_types/core/actions/host/resolveFhevmConfig.d.ts +38 -0
  1271. package/_types/core/actions/host/resolveFhevmConfig.d.ts.map +1 -0
  1272. package/_types/core/base/address.d.ts +52 -0
  1273. package/_types/core/base/address.d.ts.map +1 -0
  1274. package/_types/core/base/auth.d.ts +10 -0
  1275. package/_types/core/base/auth.d.ts.map +1 -0
  1276. package/_types/core/base/boolean.d.ts +45 -0
  1277. package/_types/core/base/boolean.d.ts.map +1 -0
  1278. package/_types/core/base/bytes.d.ts +822 -0
  1279. package/_types/core/base/bytes.d.ts.map +1 -0
  1280. package/_types/core/base/cachedFetch.d.ts +75 -0
  1281. package/_types/core/base/cachedFetch.d.ts.map +1 -0
  1282. package/_types/core/base/errors/AddressError.d.ts +12 -0
  1283. package/_types/core/base/errors/AddressError.d.ts.map +1 -0
  1284. package/_types/core/base/errors/ChecksummedAddressError.d.ts +12 -0
  1285. package/_types/core/base/errors/ChecksummedAddressError.d.ts.map +1 -0
  1286. package/_types/core/base/errors/ErrorBase.d.ts +23 -0
  1287. package/_types/core/base/errors/ErrorBase.d.ts.map +1 -0
  1288. package/_types/core/base/errors/FetchError.d.ts +14 -0
  1289. package/_types/core/base/errors/FetchError.d.ts.map +1 -0
  1290. package/_types/core/base/errors/FheTypeError.d.ts +14 -0
  1291. package/_types/core/base/errors/FheTypeError.d.ts.map +1 -0
  1292. package/_types/core/base/errors/InternalError.d.ts +12 -0
  1293. package/_types/core/base/errors/InternalError.d.ts.map +1 -0
  1294. package/_types/core/base/errors/InvalidPropertyError.d.ts +116 -0
  1295. package/_types/core/base/errors/InvalidPropertyError.d.ts.map +1 -0
  1296. package/_types/core/base/errors/InvalidTypeError.d.ts +44 -0
  1297. package/_types/core/base/errors/InvalidTypeError.d.ts.map +1 -0
  1298. package/_types/core/base/errors/utils.d.ts +4 -0
  1299. package/_types/core/base/errors/utils.d.ts.map +1 -0
  1300. package/_types/core/base/fetch.d.ts +70 -0
  1301. package/_types/core/base/fetch.d.ts.map +1 -0
  1302. package/_types/core/base/index.d.ts +2 -0
  1303. package/_types/core/base/index.d.ts.map +1 -0
  1304. package/_types/core/base/isomorphicWorker.d.ts +50 -0
  1305. package/_types/core/base/isomorphicWorker.d.ts.map +1 -0
  1306. package/_types/core/base/object.d.ts +15 -0
  1307. package/_types/core/base/object.d.ts.map +1 -0
  1308. package/_types/core/base/promise.d.ts +22 -0
  1309. package/_types/core/base/promise.d.ts.map +1 -0
  1310. package/_types/core/base/record.d.ts +88 -0
  1311. package/_types/core/base/record.d.ts.map +1 -0
  1312. package/_types/core/base/string.d.ts +75 -0
  1313. package/_types/core/base/string.d.ts.map +1 -0
  1314. package/_types/core/base/timeout.d.ts +7 -0
  1315. package/_types/core/base/timeout.d.ts.map +1 -0
  1316. package/_types/core/base/trustedValue.d.ts +54 -0
  1317. package/_types/core/base/trustedValue.d.ts.map +1 -0
  1318. package/_types/core/base/typedValue.d.ts +104 -0
  1319. package/_types/core/base/typedValue.d.ts.map +1 -0
  1320. package/_types/core/base/uid.d.ts +2 -0
  1321. package/_types/core/base/uid.d.ts.map +1 -0
  1322. package/_types/core/base/uint.d.ts +128 -0
  1323. package/_types/core/base/uint.d.ts.map +1 -0
  1324. package/_types/core/base/wasm.d.ts +16 -0
  1325. package/_types/core/base/wasm.d.ts.map +1 -0
  1326. package/_types/core/chains/definitions/localTestnet.d.ts +29 -0
  1327. package/_types/core/chains/definitions/localTestnet.d.ts.map +1 -0
  1328. package/_types/core/chains/definitions/mainnet.d.ts +29 -0
  1329. package/_types/core/chains/definitions/mainnet.d.ts.map +1 -0
  1330. package/_types/core/chains/definitions/sepolia.d.ts +3 -0
  1331. package/_types/core/chains/definitions/sepolia.d.ts.map +1 -0
  1332. package/_types/core/chains/index.d.ts +5 -0
  1333. package/_types/core/chains/index.d.ts.map +1 -0
  1334. package/_types/core/chains/utils.d.ts +3 -0
  1335. package/_types/core/chains/utils.d.ts.map +1 -0
  1336. package/_types/core/clients/decorators/base.d.ts +117 -0
  1337. package/_types/core/clients/decorators/base.d.ts.map +1 -0
  1338. package/_types/core/clients/decorators/decrypt.d.ts +25 -0
  1339. package/_types/core/clients/decorators/decrypt.d.ts.map +1 -0
  1340. package/_types/core/clients/decorators/encrypt-p.d.ts +5 -0
  1341. package/_types/core/clients/decorators/encrypt-p.d.ts.map +1 -0
  1342. package/_types/core/clients/decorators/encrypt.d.ts +12 -0
  1343. package/_types/core/clients/decorators/encrypt.d.ts.map +1 -0
  1344. package/_types/core/coprocessor/InputProof-p.d.ts +55 -0
  1345. package/_types/core/coprocessor/InputProof-p.d.ts.map +1 -0
  1346. package/_types/core/coprocessor/ZkProof-p.d.ts +39 -0
  1347. package/_types/core/coprocessor/ZkProof-p.d.ts.map +1 -0
  1348. package/_types/core/coprocessor/ZkProofBuilder-p.d.ts +20 -0
  1349. package/_types/core/coprocessor/ZkProofBuilder-p.d.ts.map +1 -0
  1350. package/_types/core/coprocessor/assertIsCoprocessorEip712Domain.d.ts +4 -0
  1351. package/_types/core/coprocessor/assertIsCoprocessorEip712Domain.d.ts.map +1 -0
  1352. package/_types/core/coprocessor/coprocessorEip712Types.d.ts +4 -0
  1353. package/_types/core/coprocessor/coprocessorEip712Types.d.ts.map +1 -0
  1354. package/_types/core/coprocessor/createCoprocessorEip712.d.ts +13 -0
  1355. package/_types/core/coprocessor/createCoprocessorEip712.d.ts.map +1 -0
  1356. package/_types/core/coprocessor/createCoprocessorEip712Domain.d.ts +6 -0
  1357. package/_types/core/coprocessor/createCoprocessorEip712Domain.d.ts.map +1 -0
  1358. package/_types/core/coprocessor/encrypt.d.ts +26 -0
  1359. package/_types/core/coprocessor/encrypt.d.ts.map +1 -0
  1360. package/_types/core/coprocessor/fetchVerifiedInputProof.d.ts +23 -0
  1361. package/_types/core/coprocessor/fetchVerifiedInputProof.d.ts.map +1 -0
  1362. package/_types/core/coprocessor/verifyHandlesCoprocessorSignatures.d.ts +23 -0
  1363. package/_types/core/coprocessor/verifyHandlesCoprocessorSignatures.d.ts.map +1 -0
  1364. package/_types/core/coprocessor/verifyInputProof.d.ts +23 -0
  1365. package/_types/core/coprocessor/verifyInputProof.d.ts.map +1 -0
  1366. package/_types/core/errors/AclError.d.ts +28 -0
  1367. package/_types/core/errors/AclError.d.ts.map +1 -0
  1368. package/_types/core/errors/ContractErrorBase.d.ts +18 -0
  1369. package/_types/core/errors/ContractErrorBase.d.ts.map +1 -0
  1370. package/_types/core/errors/EncryptionError.d.ts +11 -0
  1371. package/_types/core/errors/EncryptionError.d.ts.map +1 -0
  1372. package/_types/core/errors/FhevmConfigError.d.ts +11 -0
  1373. package/_types/core/errors/FhevmConfigError.d.ts.map +1 -0
  1374. package/_types/core/errors/FhevmErrorBase.d.ts +21 -0
  1375. package/_types/core/errors/FhevmErrorBase.d.ts.map +1 -0
  1376. package/_types/core/errors/FhevmHandleError.d.ts +13 -0
  1377. package/_types/core/errors/FhevmHandleError.d.ts.map +1 -0
  1378. package/_types/core/errors/InputProofError.d.ts +20 -0
  1379. package/_types/core/errors/InputProofError.d.ts.map +1 -0
  1380. package/_types/core/errors/RelayerAbortError.d.ts +14 -0
  1381. package/_types/core/errors/RelayerAbortError.d.ts.map +1 -0
  1382. package/_types/core/errors/RelayerErrorBase.d.ts +23 -0
  1383. package/_types/core/errors/RelayerErrorBase.d.ts.map +1 -0
  1384. package/_types/core/errors/RelayerFetchError.d.ts +17 -0
  1385. package/_types/core/errors/RelayerFetchError.d.ts.map +1 -0
  1386. package/_types/core/errors/RelayerFetchErrorBase.d.ts +29 -0
  1387. package/_types/core/errors/RelayerFetchErrorBase.d.ts.map +1 -0
  1388. package/_types/core/errors/RelayerMaxRetryError.d.ts +14 -0
  1389. package/_types/core/errors/RelayerMaxRetryError.d.ts.map +1 -0
  1390. package/_types/core/errors/RelayerRequestErrorBase.d.ts +20 -0
  1391. package/_types/core/errors/RelayerRequestErrorBase.d.ts.map +1 -0
  1392. package/_types/core/errors/RelayerRequestInternalError.d.ts +20 -0
  1393. package/_types/core/errors/RelayerRequestInternalError.d.ts.map +1 -0
  1394. package/_types/core/errors/RelayerResponseApiError.d.ts +19 -0
  1395. package/_types/core/errors/RelayerResponseApiError.d.ts.map +1 -0
  1396. package/_types/core/errors/RelayerResponseErrorBase.d.ts +15 -0
  1397. package/_types/core/errors/RelayerResponseErrorBase.d.ts.map +1 -0
  1398. package/_types/core/errors/RelayerResponseInputProofRejectedError.d.ts +14 -0
  1399. package/_types/core/errors/RelayerResponseInputProofRejectedError.d.ts.map +1 -0
  1400. package/_types/core/errors/RelayerResponseInvalidBodyError.d.ts +20 -0
  1401. package/_types/core/errors/RelayerResponseInvalidBodyError.d.ts.map +1 -0
  1402. package/_types/core/errors/RelayerResponseStatusError.d.ts +17 -0
  1403. package/_types/core/errors/RelayerResponseStatusError.d.ts.map +1 -0
  1404. package/_types/core/errors/RelayerStateError.d.ts +20 -0
  1405. package/_types/core/errors/RelayerStateError.d.ts.map +1 -0
  1406. package/_types/core/errors/RelayerTimeoutError.d.ts +16 -0
  1407. package/_types/core/errors/RelayerTimeoutError.d.ts.map +1 -0
  1408. package/_types/core/errors/SignersError.d.ts +33 -0
  1409. package/_types/core/errors/SignersError.d.ts.map +1 -0
  1410. package/_types/core/errors/TfheError.d.ts +13 -0
  1411. package/_types/core/errors/TfheError.d.ts.map +1 -0
  1412. package/_types/core/errors/ZkProofError.d.ts +11 -0
  1413. package/_types/core/errors/ZkProofError.d.ts.map +1 -0
  1414. package/_types/core/handle/ClearValue.d.ts +88 -0
  1415. package/_types/core/handle/ClearValue.d.ts.map +1 -0
  1416. package/_types/core/handle/EncryptedValue.d.ts +6 -0
  1417. package/_types/core/handle/EncryptedValue.d.ts.map +1 -0
  1418. package/_types/core/handle/FheType.d.ts +164 -0
  1419. package/_types/core/handle/FheType.d.ts.map +1 -0
  1420. package/_types/core/handle/FhevmHandle.d.ts +118 -0
  1421. package/_types/core/handle/FhevmHandle.d.ts.map +1 -0
  1422. package/_types/core/host-contracts/CoprocessorSignersContext-p.d.ts +20 -0
  1423. package/_types/core/host-contracts/CoprocessorSignersContext-p.d.ts.map +1 -0
  1424. package/_types/core/host-contracts/FhevmExecutorContractData-p.d.ts +18 -0
  1425. package/_types/core/host-contracts/FhevmExecutorContractData-p.d.ts.map +1 -0
  1426. package/_types/core/host-contracts/HostContractVersion-p.d.ts +47 -0
  1427. package/_types/core/host-contracts/HostContractVersion-p.d.ts.map +1 -0
  1428. package/_types/core/host-contracts/InputVerifierContractData-p.d.ts +17 -0
  1429. package/_types/core/host-contracts/InputVerifierContractData-p.d.ts.map +1 -0
  1430. package/_types/core/host-contracts/KmsSignersContext-p.d.ts +39 -0
  1431. package/_types/core/host-contracts/KmsSignersContext-p.d.ts.map +1 -0
  1432. package/_types/core/host-contracts/KmsVerifierContractData-p.d.ts +17 -0
  1433. package/_types/core/host-contracts/KmsVerifierContractData-p.d.ts.map +1 -0
  1434. package/_types/core/host-contracts/abi-fragments/fragments.d.ts +78 -0
  1435. package/_types/core/host-contracts/abi-fragments/fragments.d.ts.map +1 -0
  1436. package/_types/core/host-contracts/canDecryptValuesFromPairs.d.ts +38 -0
  1437. package/_types/core/host-contracts/canDecryptValuesFromPairs.d.ts.map +1 -0
  1438. package/_types/core/host-contracts/checkAllowedForDecryption.d.ts +19 -0
  1439. package/_types/core/host-contracts/checkAllowedForDecryption.d.ts.map +1 -0
  1440. package/_types/core/host-contracts/checkPersistAllowed.d.ts +21 -0
  1441. package/_types/core/host-contracts/checkPersistAllowed.d.ts.map +1 -0
  1442. package/_types/core/host-contracts/decryptionResultTypehash-p.d.ts +18 -0
  1443. package/_types/core/host-contracts/decryptionResultTypehash-p.d.ts.map +1 -0
  1444. package/_types/core/host-contracts/eip712Domain-p.d.ts +23 -0
  1445. package/_types/core/host-contracts/eip712Domain-p.d.ts.map +1 -0
  1446. package/_types/core/host-contracts/eip712InputVerificationTypehash-p.d.ts +18 -0
  1447. package/_types/core/host-contracts/eip712InputVerificationTypehash-p.d.ts.map +1 -0
  1448. package/_types/core/host-contracts/getAclAddress-p.d.ts +18 -0
  1449. package/_types/core/host-contracts/getAclAddress-p.d.ts.map +1 -0
  1450. package/_types/core/host-contracts/getCoprocessorContextSignersAndThreshold-p.d.ts +28 -0
  1451. package/_types/core/host-contracts/getCoprocessorContextSignersAndThreshold-p.d.ts.map +1 -0
  1452. package/_types/core/host-contracts/getCoprocessorSigners-p.d.ts +18 -0
  1453. package/_types/core/host-contracts/getCoprocessorSigners-p.d.ts.map +1 -0
  1454. package/_types/core/host-contracts/getCurrentKmsContextId-p.d.ts +25 -0
  1455. package/_types/core/host-contracts/getCurrentKmsContextId-p.d.ts.map +1 -0
  1456. package/_types/core/host-contracts/getFhevmExecutorAddress-p.d.ts +18 -0
  1457. package/_types/core/host-contracts/getFhevmExecutorAddress-p.d.ts.map +1 -0
  1458. package/_types/core/host-contracts/getHandleVersion-p.d.ts +18 -0
  1459. package/_types/core/host-contracts/getHandleVersion-p.d.ts.map +1 -0
  1460. package/_types/core/host-contracts/getHcuLimitAddress-p.d.ts +18 -0
  1461. package/_types/core/host-contracts/getHcuLimitAddress-p.d.ts.map +1 -0
  1462. package/_types/core/host-contracts/getInputVerifierAddress-p.d.ts +18 -0
  1463. package/_types/core/host-contracts/getInputVerifierAddress-p.d.ts.map +1 -0
  1464. package/_types/core/host-contracts/getKmsContextSignersAndThreshold-p.d.ts +38 -0
  1465. package/_types/core/host-contracts/getKmsContextSignersAndThreshold-p.d.ts.map +1 -0
  1466. package/_types/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.d.ts +34 -0
  1467. package/_types/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.d.ts.map +1 -0
  1468. package/_types/core/host-contracts/getSignersForKmsContext-p.d.ts +27 -0
  1469. package/_types/core/host-contracts/getSignersForKmsContext-p.d.ts.map +1 -0
  1470. package/_types/core/host-contracts/isAllowedForDecryption.d.ts +18 -0
  1471. package/_types/core/host-contracts/isAllowedForDecryption.d.ts.map +1 -0
  1472. package/_types/core/host-contracts/isUserDecryptable.d.ts +29 -0
  1473. package/_types/core/host-contracts/isUserDecryptable.d.ts.map +1 -0
  1474. package/_types/core/host-contracts/persistAllowed.d.ts +18 -0
  1475. package/_types/core/host-contracts/persistAllowed.d.ts.map +1 -0
  1476. package/_types/core/host-contracts/readCoprocessorSignersContext-p.d.ts +17 -0
  1477. package/_types/core/host-contracts/readCoprocessorSignersContext-p.d.ts.map +1 -0
  1478. package/_types/core/host-contracts/readKmsSignersContext-p.d.ts +62 -0
  1479. package/_types/core/host-contracts/readKmsSignersContext-p.d.ts.map +1 -0
  1480. package/_types/core/key/FheEncryptionKeyCache-p.d.ts +93 -0
  1481. package/_types/core/key/FheEncryptionKeyCache-p.d.ts.map +1 -0
  1482. package/_types/core/key/FheEncryptionKeyWasm-p.d.ts +13 -0
  1483. package/_types/core/key/FheEncryptionKeyWasm-p.d.ts.map +1 -0
  1484. package/_types/core/key/deserializeFheEncryptionKey.d.ts +6 -0
  1485. package/_types/core/key/deserializeFheEncryptionKey.d.ts.map +1 -0
  1486. package/_types/core/key/fetchFheEncryptionKey.d.ts +12 -0
  1487. package/_types/core/key/fetchFheEncryptionKey.d.ts.map +1 -0
  1488. package/_types/core/key/fetchFheEncryptionKeyBytes.d.ts +12 -0
  1489. package/_types/core/key/fetchFheEncryptionKeyBytes.d.ts.map +1 -0
  1490. package/_types/core/key/fetchFheEncryptionKeyBytesWithSource.d.ts +4 -0
  1491. package/_types/core/key/fetchFheEncryptionKeyBytesWithSource.d.ts.map +1 -0
  1492. package/_types/core/key/serializeFheEncryptionKey.d.ts +6 -0
  1493. package/_types/core/key/serializeFheEncryptionKey.d.ts.map +1 -0
  1494. package/_types/core/kms/KmsSigncryptedShares-p.d.ts +39 -0
  1495. package/_types/core/kms/KmsSigncryptedShares-p.d.ts.map +1 -0
  1496. package/_types/core/kms/PublicDecryptionProof-p.d.ts +42 -0
  1497. package/_types/core/kms/PublicDecryptionProof-p.d.ts.map +1 -0
  1498. package/_types/core/kms/PublicDecryptionProof.d.ts +3 -0
  1499. package/_types/core/kms/PublicDecryptionProof.d.ts.map +1 -0
  1500. package/_types/core/kms/SignedDecryptionPermit-p.d.ts +78 -0
  1501. package/_types/core/kms/SignedDecryptionPermit-p.d.ts.map +1 -0
  1502. package/_types/core/kms/TransportKeypair-p.d.ts +54 -0
  1503. package/_types/core/kms/TransportKeypair-p.d.ts.map +1 -0
  1504. package/_types/core/kms/createKmsDelegatedUserDecryptEip712.d.ts +15 -0
  1505. package/_types/core/kms/createKmsDelegatedUserDecryptEip712.d.ts.map +1 -0
  1506. package/_types/core/kms/createKmsEip712Domain.d.ts +17 -0
  1507. package/_types/core/kms/createKmsEip712Domain.d.ts.map +1 -0
  1508. package/_types/core/kms/createKmsPublicDecryptEip712.d.ts +11 -0
  1509. package/_types/core/kms/createKmsPublicDecryptEip712.d.ts.map +1 -0
  1510. package/_types/core/kms/createKmsUserDecryptEip712.d.ts +26 -0
  1511. package/_types/core/kms/createKmsUserDecryptEip712.d.ts.map +1 -0
  1512. package/_types/core/kms/decryptKmsSignedcryptedShares-p.d.ts +15 -0
  1513. package/_types/core/kms/decryptKmsSignedcryptedShares-p.d.ts.map +1 -0
  1514. package/_types/core/kms/decryptValuesFromPairs.d.ts +36 -0
  1515. package/_types/core/kms/decryptValuesFromPairs.d.ts.map +1 -0
  1516. package/_types/core/kms/fetchKmsSignedcryptedShares-p.d.ts +34 -0
  1517. package/_types/core/kms/fetchKmsSignedcryptedShares-p.d.ts.map +1 -0
  1518. package/_types/core/kms/index.d.ts +2 -0
  1519. package/_types/core/kms/index.d.ts.map +1 -0
  1520. package/_types/core/kms/kmsDelegatedUserDecryptEip712Types.d.ts +3 -0
  1521. package/_types/core/kms/kmsDelegatedUserDecryptEip712Types.d.ts.map +1 -0
  1522. package/_types/core/kms/kmsExtraData.d.ts +18 -0
  1523. package/_types/core/kms/kmsExtraData.d.ts.map +1 -0
  1524. package/_types/core/kms/kmsPublicDecryptEip712Types.d.ts +3 -0
  1525. package/_types/core/kms/kmsPublicDecryptEip712Types.d.ts.map +1 -0
  1526. package/_types/core/kms/kmsUserDecryptEip712Types.d.ts +3 -0
  1527. package/_types/core/kms/kmsUserDecryptEip712Types.d.ts.map +1 -0
  1528. package/_types/core/kms/publicDecrypt.d.ts +22 -0
  1529. package/_types/core/kms/publicDecrypt.d.ts.map +1 -0
  1530. package/_types/core/kms/utils.d.ts +16 -0
  1531. package/_types/core/kms/utils.d.ts.map +1 -0
  1532. package/_types/core/kms/verifyKmsPublicDecryptEip712-p.d.ts +18 -0
  1533. package/_types/core/kms/verifyKmsPublicDecryptEip712-p.d.ts.map +1 -0
  1534. package/_types/core/modules/decrypt/mock.d.ts +11 -0
  1535. package/_types/core/modules/decrypt/mock.d.ts.map +1 -0
  1536. package/_types/core/modules/decrypt/module/api-p.d.ts +9 -0
  1537. package/_types/core/modules/decrypt/module/api-p.d.ts.map +1 -0
  1538. package/_types/core/modules/decrypt/module/index.d.ts +4 -0
  1539. package/_types/core/modules/decrypt/module/index.d.ts.map +1 -0
  1540. package/_types/core/modules/decrypt/module/init-p.d.ts +5 -0
  1541. package/_types/core/modules/decrypt/module/init-p.d.ts.map +1 -0
  1542. package/_types/core/modules/decrypt/types.d.ts +96 -0
  1543. package/_types/core/modules/decrypt/types.d.ts.map +1 -0
  1544. package/_types/core/modules/encrypt/mock.d.ts +10 -0
  1545. package/_types/core/modules/encrypt/mock.d.ts.map +1 -0
  1546. package/_types/core/modules/encrypt/module/api-p.d.ts +13 -0
  1547. package/_types/core/modules/encrypt/module/api-p.d.ts.map +1 -0
  1548. package/_types/core/modules/encrypt/module/index.d.ts +3 -0
  1549. package/_types/core/modules/encrypt/module/index.d.ts.map +1 -0
  1550. package/_types/core/modules/encrypt/module/init-p.d.ts +8 -0
  1551. package/_types/core/modules/encrypt/module/init-p.d.ts.map +1 -0
  1552. package/_types/core/modules/encrypt/types.d.ts +105 -0
  1553. package/_types/core/modules/encrypt/types.d.ts.map +1 -0
  1554. package/_types/core/modules/ethereum/createTrustedClient.d.ts +3 -0
  1555. package/_types/core/modules/ethereum/createTrustedClient.d.ts.map +1 -0
  1556. package/_types/core/modules/ethereum/types.d.ts +89 -0
  1557. package/_types/core/modules/ethereum/types.d.ts.map +1 -0
  1558. package/_types/core/modules/relayer/mock.d.ts +3 -0
  1559. package/_types/core/modules/relayer/mock.d.ts.map +1 -0
  1560. package/_types/core/modules/relayer/module/RelayerAsyncRequest.d.ts +190 -0
  1561. package/_types/core/modules/relayer/module/RelayerAsyncRequest.d.ts.map +1 -0
  1562. package/_types/core/modules/relayer/module/fetchCoprocessorSignatures.d.ts +3 -0
  1563. package/_types/core/modules/relayer/module/fetchCoprocessorSignatures.d.ts.map +1 -0
  1564. package/_types/core/modules/relayer/module/fetchDelegatedUserDecrypt.d.ts +3 -0
  1565. package/_types/core/modules/relayer/module/fetchDelegatedUserDecrypt.d.ts.map +1 -0
  1566. package/_types/core/modules/relayer/module/fetchFheEncryptionKeyBytes.d.ts +3 -0
  1567. package/_types/core/modules/relayer/module/fetchFheEncryptionKeyBytes.d.ts.map +1 -0
  1568. package/_types/core/modules/relayer/module/fetchFheEncryptionKeySource.d.ts +3 -0
  1569. package/_types/core/modules/relayer/module/fetchFheEncryptionKeySource.d.ts.map +1 -0
  1570. package/_types/core/modules/relayer/module/fetchPublicDecrypt.d.ts +3 -0
  1571. package/_types/core/modules/relayer/module/fetchPublicDecrypt.d.ts.map +1 -0
  1572. package/_types/core/modules/relayer/module/fetchUserDecrypt.d.ts +3 -0
  1573. package/_types/core/modules/relayer/module/fetchUserDecrypt.d.ts.map +1 -0
  1574. package/_types/core/modules/relayer/module/guards/RelayerInputProofSucceeded.d.ts +22 -0
  1575. package/_types/core/modules/relayer/module/guards/RelayerInputProofSucceeded.d.ts.map +1 -0
  1576. package/_types/core/modules/relayer/module/guards/RelayerPublicDecryptSucceeded.d.ts +18 -0
  1577. package/_types/core/modules/relayer/module/guards/RelayerPublicDecryptSucceeded.d.ts.map +1 -0
  1578. package/_types/core/modules/relayer/module/guards/RelayerResponseFailed.d.ts +55 -0
  1579. package/_types/core/modules/relayer/module/guards/RelayerResponseFailed.d.ts.map +1 -0
  1580. package/_types/core/modules/relayer/module/guards/RelayerResponseQueued.d.ts +24 -0
  1581. package/_types/core/modules/relayer/module/guards/RelayerResponseQueued.d.ts.map +1 -0
  1582. package/_types/core/modules/relayer/module/guards/RelayerUserDecryptSucceeded.d.ts +20 -0
  1583. package/_types/core/modules/relayer/module/guards/RelayerUserDecryptSucceeded.d.ts.map +1 -0
  1584. package/_types/core/modules/relayer/module/guards/api-errors/RelayerApiError400NoDetails.d.ts +15 -0
  1585. package/_types/core/modules/relayer/module/guards/api-errors/RelayerApiError400NoDetails.d.ts.map +1 -0
  1586. package/_types/core/modules/relayer/module/guards/api-errors/RelayerApiError400WithDetails.d.ts +18 -0
  1587. package/_types/core/modules/relayer/module/guards/api-errors/RelayerApiError400WithDetails.d.ts.map +1 -0
  1588. package/_types/core/modules/relayer/module/guards/api-errors/RelayerApiError404.d.ts +13 -0
  1589. package/_types/core/modules/relayer/module/guards/api-errors/RelayerApiError404.d.ts.map +1 -0
  1590. package/_types/core/modules/relayer/module/guards/api-errors/RelayerApiError429.d.ts +13 -0
  1591. package/_types/core/modules/relayer/module/guards/api-errors/RelayerApiError429.d.ts.map +1 -0
  1592. package/_types/core/modules/relayer/module/guards/api-errors/RelayerApiError500.d.ts +13 -0
  1593. package/_types/core/modules/relayer/module/guards/api-errors/RelayerApiError500.d.ts.map +1 -0
  1594. package/_types/core/modules/relayer/module/guards/api-errors/RelayerApiError503.d.ts +13 -0
  1595. package/_types/core/modules/relayer/module/guards/api-errors/RelayerApiError503.d.ts.map +1 -0
  1596. package/_types/core/modules/relayer/module/index.d.ts +3 -0
  1597. package/_types/core/modules/relayer/module/index.d.ts.map +1 -0
  1598. package/_types/core/modules/relayer/module/relayerUrl.d.ts +6 -0
  1599. package/_types/core/modules/relayer/module/relayerUrl.d.ts.map +1 -0
  1600. package/_types/core/modules/relayer/module/utils.d.ts +3 -0
  1601. package/_types/core/modules/relayer/module/utils.d.ts.map +1 -0
  1602. package/_types/core/modules/relayer/types.d.ts +96 -0
  1603. package/_types/core/modules/relayer/types.d.ts.map +1 -0
  1604. package/_types/core/runtime/CoreFhevm-p.d.ts +46 -0
  1605. package/_types/core/runtime/CoreFhevm-p.d.ts.map +1 -0
  1606. package/_types/core/runtime/CoreFhevmRuntime-p.d.ts +25 -0
  1607. package/_types/core/runtime/CoreFhevmRuntime-p.d.ts.map +1 -0
  1608. package/_types/core/runtime/FhevmRuntime.d.ts +3 -0
  1609. package/_types/core/runtime/FhevmRuntime.d.ts.map +1 -0
  1610. package/_types/core/runtime/initFhevmDecryptRuntime-p.d.ts +3 -0
  1611. package/_types/core/runtime/initFhevmDecryptRuntime-p.d.ts.map +1 -0
  1612. package/_types/core/runtime/initFhevmEncryptRuntime-p.d.ts +3 -0
  1613. package/_types/core/runtime/initFhevmEncryptRuntime-p.d.ts.map +1 -0
  1614. package/_types/core/runtime/initFhevmRuntime-p.d.ts +3 -0
  1615. package/_types/core/runtime/initFhevmRuntime-p.d.ts.map +1 -0
  1616. package/_types/core/types/auth.d.ts +41 -0
  1617. package/_types/core/types/auth.d.ts.map +1 -0
  1618. package/_types/core/types/configs.d.ts +21 -0
  1619. package/_types/core/types/configs.d.ts.map +1 -0
  1620. package/_types/core/types/coprocessor.d.ts +71 -0
  1621. package/_types/core/types/coprocessor.d.ts.map +1 -0
  1622. package/_types/core/types/coprocessorSignersContext.d.ts +14 -0
  1623. package/_types/core/types/coprocessorSignersContext.d.ts.map +1 -0
  1624. package/_types/core/types/coreFhevmClient.d.ts +33 -0
  1625. package/_types/core/types/coreFhevmClient.d.ts.map +1 -0
  1626. package/_types/core/types/coreFhevmRuntime.d.ts +36 -0
  1627. package/_types/core/types/coreFhevmRuntime.d.ts.map +1 -0
  1628. package/_types/core/types/encryptedTypes-p.d.ts +104 -0
  1629. package/_types/core/types/encryptedTypes-p.d.ts.map +1 -0
  1630. package/_types/core/types/encryptedTypes.d.ts +35 -0
  1631. package/_types/core/types/encryptedTypes.d.ts.map +1 -0
  1632. package/_types/core/types/fheEncryptionKey.d.ts +77 -0
  1633. package/_types/core/types/fheEncryptionKey.d.ts.map +1 -0
  1634. package/_types/core/types/fheType.d.ts +99 -0
  1635. package/_types/core/types/fheType.d.ts.map +1 -0
  1636. package/_types/core/types/fhevmChain.d.ts +75 -0
  1637. package/_types/core/types/fhevmChain.d.ts.map +1 -0
  1638. package/_types/core/types/fhevmClient.d.ts +11 -0
  1639. package/_types/core/types/fhevmClient.d.ts.map +1 -0
  1640. package/_types/core/types/fhevmDecryptionKey.d.ts +4 -0
  1641. package/_types/core/types/fhevmDecryptionKey.d.ts.map +1 -0
  1642. package/_types/core/types/fhevmUser.d.ts +7 -0
  1643. package/_types/core/types/fhevmUser.d.ts.map +1 -0
  1644. package/_types/core/types/hostContract.d.ts +22 -0
  1645. package/_types/core/types/hostContract.d.ts.map +1 -0
  1646. package/_types/core/types/index.d.ts +3 -0
  1647. package/_types/core/types/index.d.ts.map +1 -0
  1648. package/_types/core/types/inputProof.d.ts +74 -0
  1649. package/_types/core/types/inputProof.d.ts.map +1 -0
  1650. package/_types/core/types/kms-p.d.ts +17 -0
  1651. package/_types/core/types/kms-p.d.ts.map +1 -0
  1652. package/_types/core/types/kms.d.ts +179 -0
  1653. package/_types/core/types/kms.d.ts.map +1 -0
  1654. package/_types/core/types/kmsSignersContext.d.ts +48 -0
  1655. package/_types/core/types/kmsSignersContext.d.ts.map +1 -0
  1656. package/_types/core/types/logger.d.ts +5 -0
  1657. package/_types/core/types/logger.d.ts.map +1 -0
  1658. package/_types/core/types/other-p.d.ts +11 -0
  1659. package/_types/core/types/other-p.d.ts.map +1 -0
  1660. package/_types/core/types/primitives.d.ts +527 -0
  1661. package/_types/core/types/primitives.d.ts.map +1 -0
  1662. package/_types/core/types/publicDecryptionProof-p.d.ts +27 -0
  1663. package/_types/core/types/publicDecryptionProof-p.d.ts.map +1 -0
  1664. package/_types/core/types/record-p.d.ts +18 -0
  1665. package/_types/core/types/record-p.d.ts.map +1 -0
  1666. package/_types/core/types/relayer-p.d.ts +285 -0
  1667. package/_types/core/types/relayer-p.d.ts.map +1 -0
  1668. package/_types/core/types/relayer.d.ts +106 -0
  1669. package/_types/core/types/relayer.d.ts.map +1 -0
  1670. package/_types/core/types/signedDecryptionPermit.d.ts +46 -0
  1671. package/_types/core/types/signedDecryptionPermit.d.ts.map +1 -0
  1672. package/_types/core/types/tkms-p.d.ts +5 -0
  1673. package/_types/core/types/tkms-p.d.ts.map +1 -0
  1674. package/_types/core/types/utils.d.ts +34 -0
  1675. package/_types/core/types/utils.d.ts.map +1 -0
  1676. package/_types/core/types/zkProof-p.d.ts +21 -0
  1677. package/_types/core/types/zkProof-p.d.ts.map +1 -0
  1678. package/_types/core/types/zkProofBuilder.d.ts +23 -0
  1679. package/_types/core/types/zkProofBuilder.d.ts.map +1 -0
  1680. package/_types/core/utils-p/decrypt/assertPermitMatchesKeypair.d.ts +12 -0
  1681. package/_types/core/utils-p/decrypt/assertPermitMatchesKeypair.d.ts.map +1 -0
  1682. package/_types/core/utils-p/decrypt/verifyKmsDelegatedUserDecryptEip712.d.ts +14 -0
  1683. package/_types/core/utils-p/decrypt/verifyKmsDelegatedUserDecryptEip712.d.ts.map +1 -0
  1684. package/_types/core/utils-p/decrypt/verifyKmsUserDecryptEip712.d.ts +14 -0
  1685. package/_types/core/utils-p/decrypt/verifyKmsUserDecryptEip712.d.ts.map +1 -0
  1686. package/_types/core/utils-p/decrypt/verifyTkmsPublicKey.d.ts +16 -0
  1687. package/_types/core/utils-p/decrypt/verifyTkmsPublicKey.d.ts.map +1 -0
  1688. package/_types/core/utils-p/runtime/recoverSigners.d.ts +23 -0
  1689. package/_types/core/utils-p/runtime/recoverSigners.d.ts.map +1 -0
  1690. package/_types/ethers/clients/createFhevmBaseClient.d.ts +11 -0
  1691. package/_types/ethers/clients/createFhevmBaseClient.d.ts.map +1 -0
  1692. package/_types/ethers/clients/createFhevmClient.d.ts +11 -0
  1693. package/_types/ethers/clients/createFhevmClient.d.ts.map +1 -0
  1694. package/_types/ethers/clients/createFhevmDecryptClient.d.ts +11 -0
  1695. package/_types/ethers/clients/createFhevmDecryptClient.d.ts.map +1 -0
  1696. package/_types/ethers/clients/createFhevmEncryptClient.d.ts +11 -0
  1697. package/_types/ethers/clients/createFhevmEncryptClient.d.ts.map +1 -0
  1698. package/_types/ethers/decorators/decrypt.d.ts +6 -0
  1699. package/_types/ethers/decorators/decrypt.d.ts.map +1 -0
  1700. package/_types/ethers/decorators/encrypt.d.ts +6 -0
  1701. package/_types/ethers/decorators/encrypt.d.ts.map +1 -0
  1702. package/_types/ethers/index.d.ts +9 -0
  1703. package/_types/ethers/index.d.ts.map +1 -0
  1704. package/_types/ethers/internal/ethereum.d.ts +11 -0
  1705. package/_types/ethers/internal/ethereum.d.ts.map +1 -0
  1706. package/_types/ethers/internal/ethers-p.d.ts +39 -0
  1707. package/_types/ethers/internal/ethers-p.d.ts.map +1 -0
  1708. package/_types/ethers/internal/utils.d.ts +10 -0
  1709. package/_types/ethers/internal/utils.d.ts.map +1 -0
  1710. package/_types/ethers/runtime/initFhevmDecryptRuntime.d.ts +2 -0
  1711. package/_types/ethers/runtime/initFhevmDecryptRuntime.d.ts.map +1 -0
  1712. package/_types/ethers/runtime/initFhevmEncryptRuntime.d.ts +2 -0
  1713. package/_types/ethers/runtime/initFhevmEncryptRuntime.d.ts.map +1 -0
  1714. package/_types/ethers/runtime/initFhevmRuntime.d.ts +2 -0
  1715. package/_types/ethers/runtime/initFhevmRuntime.d.ts.map +1 -0
  1716. package/_types/viem/clients/createFhevmBaseClient.d.ts +11 -0
  1717. package/_types/viem/clients/createFhevmBaseClient.d.ts.map +1 -0
  1718. package/_types/viem/clients/createFhevmClient.d.ts +11 -0
  1719. package/_types/viem/clients/createFhevmClient.d.ts.map +1 -0
  1720. package/_types/viem/clients/createFhevmDecryptClient.d.ts +11 -0
  1721. package/_types/viem/clients/createFhevmDecryptClient.d.ts.map +1 -0
  1722. package/_types/viem/clients/createFhevmEncryptClient.d.ts +11 -0
  1723. package/_types/viem/clients/createFhevmEncryptClient.d.ts.map +1 -0
  1724. package/_types/viem/decorators/decrypt.d.ts +6 -0
  1725. package/_types/viem/decorators/decrypt.d.ts.map +1 -0
  1726. package/_types/viem/decorators/encrypt.d.ts +6 -0
  1727. package/_types/viem/decorators/encrypt.d.ts.map +1 -0
  1728. package/_types/viem/index.d.ts +9 -0
  1729. package/_types/viem/index.d.ts.map +1 -0
  1730. package/_types/viem/internal/ethereum.d.ts +11 -0
  1731. package/_types/viem/internal/ethereum.d.ts.map +1 -0
  1732. package/_types/viem/internal/viem-p.d.ts +39 -0
  1733. package/_types/viem/internal/viem-p.d.ts.map +1 -0
  1734. package/_types/viem/runtime/initFhevmDecryptRuntime.d.ts +2 -0
  1735. package/_types/viem/runtime/initFhevmDecryptRuntime.d.ts.map +1 -0
  1736. package/_types/viem/runtime/initFhevmEncryptRuntime.d.ts +2 -0
  1737. package/_types/viem/runtime/initFhevmEncryptRuntime.d.ts.map +1 -0
  1738. package/_types/viem/runtime/initFhevmRuntime.d.ts +2 -0
  1739. package/_types/viem/runtime/initFhevmRuntime.d.ts.map +1 -0
  1740. package/core/_version.ts +3 -0
  1741. package/core/actions/base/canReadPublicValue.ts +28 -0
  1742. package/core/actions/base/canReadPublicValues.ts +28 -0
  1743. package/core/actions/base/createVerifiedInputProofFromRawBytes.ts +24 -0
  1744. package/core/actions/base/fetchKmsSignedcryptedShares.ts +83 -0
  1745. package/core/actions/base/fetchVerifiedInputProof.ts +25 -0
  1746. package/core/actions/base/index.ts +69 -0
  1747. package/core/actions/base/package.json +6 -0
  1748. package/core/actions/base/readCoprocessorSignersContext.ts +21 -0
  1749. package/core/actions/base/readKmsSignersContext.ts +19 -0
  1750. package/core/actions/base/readPublicValue.ts +31 -0
  1751. package/core/actions/base/readPublicValues.ts +31 -0
  1752. package/core/actions/base/readPublicValuesWithSignatures.ts +53 -0
  1753. package/core/actions/base/signDecryptionPermit.ts +41 -0
  1754. package/core/actions/base/verifyHandlesCoprocessorSignatures.ts +60 -0
  1755. package/core/actions/base/verifyInputProof.ts +45 -0
  1756. package/core/actions/base/verifyZkProofCoprocessorSignatures.ts +32 -0
  1757. package/core/actions/chain/createCoprocessorEip712Domain.ts +16 -0
  1758. package/core/actions/chain/createKmsDelegatedUserDecryptEip712.ts +37 -0
  1759. package/core/actions/chain/createKmsEip712Domain.ts +16 -0
  1760. package/core/actions/chain/createKmsUserDecryptEip712.ts +35 -0
  1761. package/core/actions/chain/fetchFheEncryptionKeyBytes.ts +24 -0
  1762. package/core/actions/chain/index.ts +63 -0
  1763. package/core/actions/chain/package.json +6 -0
  1764. package/core/actions/chain/parseSignedDecryptionPermit.ts +35 -0
  1765. package/core/actions/chain/parseTransportKeypair.ts +24 -0
  1766. package/core/actions/chain/serializeSignedDecryptionPermit.ts +31 -0
  1767. package/core/actions/chain/serializeTransportKeypair.ts +28 -0
  1768. package/core/actions/chain/verifyKmsDelegatedUserDecryptEip712.ts +16 -0
  1769. package/core/actions/chain/verifyKmsUserDecryptEip712.ts +16 -0
  1770. package/core/actions/decrypt/canDecryptValue.ts +109 -0
  1771. package/core/actions/decrypt/canDecryptValues.ts +71 -0
  1772. package/core/actions/decrypt/canDecryptValuesFromPairs.ts +68 -0
  1773. package/core/actions/decrypt/decryptKmsSignedcryptedShares.ts +31 -0
  1774. package/core/actions/decrypt/decryptValue.ts +69 -0
  1775. package/core/actions/decrypt/decryptValues.ts +66 -0
  1776. package/core/actions/decrypt/decryptValuesFromPairs.ts +66 -0
  1777. package/core/actions/decrypt/generateTransportKeypair.ts +19 -0
  1778. package/core/actions/decrypt/index.ts +58 -0
  1779. package/core/actions/decrypt/package.json +6 -0
  1780. package/core/actions/encrypt/encryptValue.ts +52 -0
  1781. package/core/actions/encrypt/encryptValues.ts +51 -0
  1782. package/core/actions/encrypt/generateZkProof.ts +34 -0
  1783. package/core/actions/encrypt/index.ts +12 -0
  1784. package/core/actions/encrypt/package.json +6 -0
  1785. package/core/actions/host/getUserDecryptionDelegationExpirationDate.ts +32 -0
  1786. package/core/actions/host/index.ts +33 -0
  1787. package/core/actions/host/isAllowedForDecryption.ts +35 -0
  1788. package/core/actions/host/package.json +6 -0
  1789. package/core/actions/host/persistAllowed.ts +35 -0
  1790. package/core/actions/host/readFhevmExecutorContractData.ts +74 -0
  1791. package/core/actions/host/readInputVerifierContractData.ts +74 -0
  1792. package/core/actions/host/readKmsVerifierContractData.ts +75 -0
  1793. package/core/actions/host/resolveChainId.ts +42 -0
  1794. package/core/actions/host/resolveFhevmConfig.ts +191 -0
  1795. package/core/base/address.ts +303 -0
  1796. package/core/base/auth.ts +38 -0
  1797. package/core/base/boolean.ts +72 -0
  1798. package/core/base/bytes.ts +2060 -0
  1799. package/core/base/cachedFetch.ts +184 -0
  1800. package/core/base/errors/AddressError.ts +20 -0
  1801. package/core/base/errors/ChecksummedAddressError.ts +23 -0
  1802. package/core/base/errors/ErrorBase.ts +79 -0
  1803. package/core/base/errors/FetchError.ts +27 -0
  1804. package/core/base/errors/FheTypeError.ts +62 -0
  1805. package/core/base/errors/InternalError.ts +33 -0
  1806. package/core/base/errors/InvalidPropertyError.ts +232 -0
  1807. package/core/base/errors/InvalidTypeError.ts +87 -0
  1808. package/core/base/errors/utils.ts +41 -0
  1809. package/core/base/fetch.ts +284 -0
  1810. package/core/base/index.ts +1 -0
  1811. package/core/base/isomorphicWorker.ts +283 -0
  1812. package/core/base/object.ts +41 -0
  1813. package/core/base/promise.ts +31 -0
  1814. package/core/base/record.ts +201 -0
  1815. package/core/base/string.ts +214 -0
  1816. package/core/base/timeout.ts +32 -0
  1817. package/core/base/trustedValue.ts +110 -0
  1818. package/core/base/typedValue.ts +326 -0
  1819. package/core/base/uid.ts +17 -0
  1820. package/core/base/uint.ts +630 -0
  1821. package/core/base/wasm.ts +97 -0
  1822. package/core/chains/definitions/localTestnet.ts +30 -0
  1823. package/core/chains/definitions/mainnet.ts +30 -0
  1824. package/core/chains/definitions/sepolia.ts +32 -0
  1825. package/core/chains/index.ts +6 -0
  1826. package/core/chains/package.json +6 -0
  1827. package/core/chains/utils.ts +6 -0
  1828. package/core/clients/decorators/base.ts +203 -0
  1829. package/core/clients/decorators/decrypt.ts +85 -0
  1830. package/core/clients/decorators/encrypt-p.ts +18 -0
  1831. package/core/clients/decorators/encrypt.ts +47 -0
  1832. package/core/coprocessor/InputProof-p.ts +424 -0
  1833. package/core/coprocessor/ZkProof-p.ts +477 -0
  1834. package/core/coprocessor/ZkProofBuilder-p.ts +295 -0
  1835. package/core/coprocessor/assertIsCoprocessorEip712Domain.ts +23 -0
  1836. package/core/coprocessor/coprocessorEip712Types.ts +39 -0
  1837. package/core/coprocessor/createCoprocessorEip712.ts +69 -0
  1838. package/core/coprocessor/createCoprocessorEip712Domain.ts +25 -0
  1839. package/core/coprocessor/encrypt.ts +48 -0
  1840. package/core/coprocessor/fetchVerifiedInputProof.ts +84 -0
  1841. package/core/coprocessor/verifyHandlesCoprocessorSignatures.ts +66 -0
  1842. package/core/coprocessor/verifyInputProof.ts +50 -0
  1843. package/core/errors/AclError.ts +55 -0
  1844. package/core/errors/ContractErrorBase.ts +38 -0
  1845. package/core/errors/EncryptionError.ts +22 -0
  1846. package/core/errors/FhevmConfigError.ts +22 -0
  1847. package/core/errors/FhevmErrorBase.ts +53 -0
  1848. package/core/errors/FhevmHandleError.ts +20 -0
  1849. package/core/errors/InputProofError.ts +43 -0
  1850. package/core/errors/RelayerAbortError.ts +27 -0
  1851. package/core/errors/RelayerErrorBase.ts +81 -0
  1852. package/core/errors/RelayerFetchError.ts +35 -0
  1853. package/core/errors/RelayerFetchErrorBase.ts +90 -0
  1854. package/core/errors/RelayerMaxRetryError.ts +28 -0
  1855. package/core/errors/RelayerRequestErrorBase.ts +56 -0
  1856. package/core/errors/RelayerRequestInternalError.ts +52 -0
  1857. package/core/errors/RelayerResponseApiError.ts +43 -0
  1858. package/core/errors/RelayerResponseErrorBase.ts +35 -0
  1859. package/core/errors/RelayerResponseInputProofRejectedError.ts +28 -0
  1860. package/core/errors/RelayerResponseInvalidBodyError.ts +43 -0
  1861. package/core/errors/RelayerResponseStatusError.ts +33 -0
  1862. package/core/errors/RelayerStateError.ts +39 -0
  1863. package/core/errors/RelayerTimeoutError.ts +31 -0
  1864. package/core/errors/SignersError.ts +73 -0
  1865. package/core/errors/TfheError.ts +26 -0
  1866. package/core/errors/ZkProofError.ts +23 -0
  1867. package/core/handle/ClearValue.ts +341 -0
  1868. package/core/handle/EncryptedValue.ts +29 -0
  1869. package/core/handle/FheType.ts +545 -0
  1870. package/core/handle/FhevmHandle.ts +740 -0
  1871. package/core/host-contracts/CoprocessorSignersContext-p.ts +167 -0
  1872. package/core/host-contracts/FhevmExecutorContractData-p.ts +133 -0
  1873. package/core/host-contracts/HostContractVersion-p.ts +155 -0
  1874. package/core/host-contracts/InputVerifierContractData-p.ts +133 -0
  1875. package/core/host-contracts/KmsSignersContext-p.ts +238 -0
  1876. package/core/host-contracts/KmsVerifierContractData-p.ts +110 -0
  1877. package/core/host-contracts/abi-fragments/fragments.ts +460 -0
  1878. package/core/host-contracts/canDecryptValuesFromPairs.ts +94 -0
  1879. package/core/host-contracts/checkAllowedForDecryption.ts +36 -0
  1880. package/core/host-contracts/checkPersistAllowed.ts +115 -0
  1881. package/core/host-contracts/decryptionResultTypehash-p.ts +47 -0
  1882. package/core/host-contracts/eip712Domain-p.ts +75 -0
  1883. package/core/host-contracts/eip712InputVerificationTypehash-p.ts +47 -0
  1884. package/core/host-contracts/getAclAddress-p.ts +47 -0
  1885. package/core/host-contracts/getCoprocessorContextSignersAndThreshold-p.ts +136 -0
  1886. package/core/host-contracts/getCoprocessorSigners-p.ts +47 -0
  1887. package/core/host-contracts/getCurrentKmsContextId-p.ts +74 -0
  1888. package/core/host-contracts/getFhevmExecutorAddress-p.ts +47 -0
  1889. package/core/host-contracts/getHandleVersion-p.ts +43 -0
  1890. package/core/host-contracts/getHcuLimitAddress-p.ts +47 -0
  1891. package/core/host-contracts/getInputVerifierAddress-p.ts +47 -0
  1892. package/core/host-contracts/getKmsContextSignersAndThreshold-p.ts +149 -0
  1893. package/core/host-contracts/getKmsContextSignersAndThresholdFromExtraData-p.ts +110 -0
  1894. package/core/host-contracts/getSignersForKmsContext-p.ts +90 -0
  1895. package/core/host-contracts/isAllowedForDecryption.ts +65 -0
  1896. package/core/host-contracts/isUserDecryptable.ts +92 -0
  1897. package/core/host-contracts/persistAllowed.ts +68 -0
  1898. package/core/host-contracts/readCoprocessorSignersContext-p.ts +34 -0
  1899. package/core/host-contracts/readKmsSignersContext-p.ts +221 -0
  1900. package/core/key/FheEncryptionKeyCache-p.ts +326 -0
  1901. package/core/key/FheEncryptionKeyWasm-p.ts +97 -0
  1902. package/core/key/deserializeFheEncryptionKey.ts +24 -0
  1903. package/core/key/fetchFheEncryptionKey.ts +46 -0
  1904. package/core/key/fetchFheEncryptionKeyBytes.ts +69 -0
  1905. package/core/key/fetchFheEncryptionKeyBytesWithSource.ts +72 -0
  1906. package/core/key/serializeFheEncryptionKey.ts +36 -0
  1907. package/core/kms/KmsSigncryptedShares-p.ts +169 -0
  1908. package/core/kms/PublicDecryptionProof-p.ts +181 -0
  1909. package/core/kms/PublicDecryptionProof.ts +10 -0
  1910. package/core/kms/SignedDecryptionPermit-p.ts +453 -0
  1911. package/core/kms/TransportKeypair-p.ts +278 -0
  1912. package/core/kms/createKmsDelegatedUserDecryptEip712.ts +135 -0
  1913. package/core/kms/createKmsEip712Domain.ts +67 -0
  1914. package/core/kms/createKmsPublicDecryptEip712.ts +59 -0
  1915. package/core/kms/createKmsUserDecryptEip712.ts +172 -0
  1916. package/core/kms/decryptKmsSignedcryptedShares-p.ts +37 -0
  1917. package/core/kms/decryptValuesFromPairs.ts +57 -0
  1918. package/core/kms/fetchKmsSignedcryptedShares-p.ts +211 -0
  1919. package/core/kms/index.ts +1 -0
  1920. package/core/kms/kmsDelegatedUserDecryptEip712Types.ts +31 -0
  1921. package/core/kms/kmsExtraData.ts +51 -0
  1922. package/core/kms/kmsPublicDecryptEip712Types.ts +28 -0
  1923. package/core/kms/kmsUserDecryptEip712Types.ts +30 -0
  1924. package/core/kms/publicDecrypt.ts +109 -0
  1925. package/core/kms/utils.ts +60 -0
  1926. package/core/kms/verifyKmsPublicDecryptEip712-p.ts +75 -0
  1927. package/core/modules/decrypt/mock.ts +134 -0
  1928. package/core/modules/decrypt/module/api-p.ts +388 -0
  1929. package/core/modules/decrypt/module/index.ts +73 -0
  1930. package/core/modules/decrypt/module/init-p.ts +166 -0
  1931. package/core/modules/decrypt/types.ts +214 -0
  1932. package/core/modules/encrypt/mock.ts +111 -0
  1933. package/core/modules/encrypt/module/api-p.ts +433 -0
  1934. package/core/modules/encrypt/module/index.ts +47 -0
  1935. package/core/modules/encrypt/module/init-p.ts +249 -0
  1936. package/core/modules/encrypt/types.ts +225 -0
  1937. package/core/modules/ethereum/createTrustedClient.ts +9 -0
  1938. package/core/modules/ethereum/types.ts +153 -0
  1939. package/core/modules/relayer/mock.ts +47 -0
  1940. package/core/modules/relayer/module/RelayerAsyncRequest.ts +1771 -0
  1941. package/core/modules/relayer/module/fetchCoprocessorSignatures.ts +45 -0
  1942. package/core/modules/relayer/module/fetchDelegatedUserDecrypt.ts +67 -0
  1943. package/core/modules/relayer/module/fetchFheEncryptionKeyBytes.ts +34 -0
  1944. package/core/modules/relayer/module/fetchFheEncryptionKeySource.ts +166 -0
  1945. package/core/modules/relayer/module/fetchPublicDecrypt.ts +40 -0
  1946. package/core/modules/relayer/module/fetchUserDecrypt.ts +65 -0
  1947. package/core/modules/relayer/module/guards/RelayerInputProofSucceeded.ts +106 -0
  1948. package/core/modules/relayer/module/guards/RelayerPublicDecryptSucceeded.ts +59 -0
  1949. package/core/modules/relayer/module/guards/RelayerResponseFailed.ts +244 -0
  1950. package/core/modules/relayer/module/guards/RelayerResponseQueued.ts +51 -0
  1951. package/core/modules/relayer/module/guards/RelayerUserDecryptSucceeded.ts +77 -0
  1952. package/core/modules/relayer/module/guards/api-errors/RelayerApiError400NoDetails.ts +65 -0
  1953. package/core/modules/relayer/module/guards/api-errors/RelayerApiError400WithDetails.ts +87 -0
  1954. package/core/modules/relayer/module/guards/api-errors/RelayerApiError404.ts +25 -0
  1955. package/core/modules/relayer/module/guards/api-errors/RelayerApiError429.ts +25 -0
  1956. package/core/modules/relayer/module/guards/api-errors/RelayerApiError500.ts +25 -0
  1957. package/core/modules/relayer/module/guards/api-errors/RelayerApiError503.ts +30 -0
  1958. package/core/modules/relayer/module/index.ts +24 -0
  1959. package/core/modules/relayer/module/relayerUrl.ts +38 -0
  1960. package/core/modules/relayer/module/utils.ts +20 -0
  1961. package/core/modules/relayer/types.ts +183 -0
  1962. package/core/runtime/CoreFhevm-p.ts +409 -0
  1963. package/core/runtime/CoreFhevmRuntime-p.ts +266 -0
  1964. package/core/runtime/FhevmRuntime.ts +2 -0
  1965. package/core/runtime/initFhevmDecryptRuntime-p.ts +9 -0
  1966. package/core/runtime/initFhevmEncryptRuntime-p.ts +9 -0
  1967. package/core/runtime/initFhevmRuntime-p.ts +10 -0
  1968. package/core/types/auth.ts +44 -0
  1969. package/core/types/configs.ts +29 -0
  1970. package/core/types/coprocessor.ts +83 -0
  1971. package/core/types/coprocessorSignersContext.ts +15 -0
  1972. package/core/types/coreFhevmClient.ts +55 -0
  1973. package/core/types/coreFhevmRuntime.ts +44 -0
  1974. package/core/types/encryptedTypes-p.ts +226 -0
  1975. package/core/types/encryptedTypes.ts +41 -0
  1976. package/core/types/fheEncryptionKey.ts +106 -0
  1977. package/core/types/fheType.ts +137 -0
  1978. package/core/types/fhevmChain.ts +86 -0
  1979. package/core/types/fhevmClient.ts +30 -0
  1980. package/core/types/fhevmDecryptionKey.ts +8 -0
  1981. package/core/types/fhevmUser.ts +7 -0
  1982. package/core/types/hostContract.ts +27 -0
  1983. package/core/types/index.ts +2 -0
  1984. package/core/types/inputProof.ts +87 -0
  1985. package/core/types/kms-p.ts +18 -0
  1986. package/core/types/kms.ts +132 -0
  1987. package/core/types/kmsSignersContext.ts +48 -0
  1988. package/core/types/logger.ts +4 -0
  1989. package/core/types/other-p.ts +12 -0
  1990. package/core/types/primitives.ts +641 -0
  1991. package/core/types/publicDecryptionProof-p.ts +33 -0
  1992. package/core/types/record-p.ts +32 -0
  1993. package/core/types/relayer-p.ts +406 -0
  1994. package/core/types/relayer.ts +183 -0
  1995. package/core/types/signedDecryptionPermit.ts +50 -0
  1996. package/core/types/tkms-p.ts +5 -0
  1997. package/core/types/utils.ts +34 -0
  1998. package/core/types/zkProof-p.ts +29 -0
  1999. package/core/types/zkProofBuilder.ts +36 -0
  2000. package/core/utils-p/decrypt/assertPermitMatchesKeypair.ts +27 -0
  2001. package/core/utils-p/decrypt/verifyKmsDelegatedUserDecryptEip712.ts +47 -0
  2002. package/core/utils-p/decrypt/verifyKmsUserDecryptEip712.ts +47 -0
  2003. package/core/utils-p/decrypt/verifyTkmsPublicKey.ts +27 -0
  2004. package/core/utils-p/runtime/recoverSigners.ts +46 -0
  2005. package/ethers/clients/createFhevmBaseClient.ts +24 -0
  2006. package/ethers/clients/createFhevmClient.ts +20 -0
  2007. package/ethers/clients/createFhevmDecryptClient.ts +21 -0
  2008. package/ethers/clients/createFhevmEncryptClient.ts +24 -0
  2009. package/ethers/decorators/decrypt.ts +12 -0
  2010. package/ethers/decorators/encrypt.ts +12 -0
  2011. package/ethers/index.ts +10 -0
  2012. package/ethers/internal/ethereum.ts +165 -0
  2013. package/ethers/internal/ethers-p.ts +105 -0
  2014. package/ethers/internal/utils.ts +41 -0
  2015. package/ethers/package.json +6 -0
  2016. package/ethers/runtime/initFhevmDecryptRuntime.ts +8 -0
  2017. package/ethers/runtime/initFhevmEncryptRuntime.ts +8 -0
  2018. package/ethers/runtime/initFhevmRuntime.ts +8 -0
  2019. package/package.json +90 -2
  2020. package/tsconfig.json +9 -0
  2021. package/viem/clients/createFhevmBaseClient.ts +24 -0
  2022. package/viem/clients/createFhevmClient.ts +20 -0
  2023. package/viem/clients/createFhevmDecryptClient.ts +18 -0
  2024. package/viem/clients/createFhevmEncryptClient.ts +21 -0
  2025. package/viem/decorators/decrypt.ts +12 -0
  2026. package/viem/decorators/encrypt.ts +12 -0
  2027. package/viem/index.ts +10 -0
  2028. package/viem/internal/ethereum.ts +145 -0
  2029. package/viem/internal/viem-p.ts +105 -0
  2030. package/viem/package.json +6 -0
  2031. package/viem/runtime/initFhevmDecryptRuntime.ts +8 -0
  2032. package/viem/runtime/initFhevmEncryptRuntime.ts +8 -0
  2033. package/viem/runtime/initFhevmRuntime.ts +8 -0
  2034. package/wasm/tfhe/compile-worker.js +8 -0
  2035. package/wasm/tfhe/startWorkers.v1.5.3.js +426 -0
  2036. package/wasm/tfhe/tfhe-worker.v1.5.3.inline.js +7 -0
  2037. package/wasm/tfhe/tfhe-worker.v1.5.3.mjs +745 -0
  2038. package/wasm/tfhe/tfhe.v1.5.3.d.ts +10793 -0
  2039. package/wasm/tfhe/tfhe.v1.5.3.js +28645 -0
  2040. package/wasm/tfhe/tfhe_bg.v1.5.3.wasm +0 -0
  2041. package/wasm/tfhe/tfhe_bg.v1.5.3.wasm.base64.d.ts +1 -0
  2042. package/wasm/tfhe/tfhe_bg.v1.5.3.wasm.base64.js +1 -0
  2043. package/wasm/tkms/kms_lib.v0.13.10.d.ts +586 -0
  2044. package/wasm/tkms/kms_lib.v0.13.10.js +2117 -0
  2045. package/wasm/tkms/kms_lib_bg.v0.13.10.wasm +0 -0
  2046. package/wasm/tkms/kms_lib_bg.v0.13.10.wasm.base64.d.ts +1 -0
  2047. package/wasm/tkms/kms_lib_bg.v0.13.10.wasm.base64.js +3 -0
  2048. package/wasm/wasmBaseUrl.d.ts +7 -0
  2049. package/wasm/wasmBaseUrl.js +14 -0
@@ -0,0 +1,2060 @@
1
+ import type {
2
+ Bytes,
3
+ Bytes20,
4
+ Bytes20Hex,
5
+ Bytes20HexNo0x,
6
+ Bytes21,
7
+ Bytes21Hex,
8
+ Bytes21HexNo0x,
9
+ Bytes32,
10
+ Bytes32Hex,
11
+ Bytes32HexNo0x,
12
+ Bytes65,
13
+ Bytes65Hex,
14
+ Bytes65HexNo0x,
15
+ Bytes8,
16
+ Bytes8Hex,
17
+ Bytes8HexNo0x,
18
+ BytesHex,
19
+ BytesHexNo0x,
20
+ BytesTypeNameToByteLengthMap,
21
+ BytesTypeNameToTypeMap,
22
+ ByteLength,
23
+ Uint8Number,
24
+ Uint64BigInt,
25
+ UintNumber,
26
+ Bytes1Hex,
27
+ Bytes1,
28
+ Bytes1HexNo0x,
29
+ UintBigInt,
30
+ BytesTypeName,
31
+ BytesNMap,
32
+ } from '../types/primitives.js';
33
+ import type { RecordUint8ArrayPropertyType, RecordWithPropertyType } from '../types/record-p.js';
34
+ import type { ErrorMetadataParams } from './errors/ErrorBase.js';
35
+ import { assertRecordArrayProperty, isRecordNonNullableProperty, typeofProperty } from './record.js';
36
+ import { is0x, isNo0x, remove0x } from './string.js';
37
+ import { InvalidPropertyError } from './errors/InvalidPropertyError.js';
38
+ import { InvalidTypeError } from './errors/InvalidTypeError.js';
39
+ import { isUintForByteLength } from './uint.js';
40
+
41
+ ////////////////////////////////////////////////////////////////////////////////
42
+
43
+ /**
44
+ * Maps BytesXX type names to their corresponding byte lengths.
45
+ * Type is derived from BytesTypeNameToByteLengthMap to ensure consistency.
46
+ */
47
+ export const ByteLengthForType: BytesTypeNameToByteLengthMap = {
48
+ bytes1: 1,
49
+ bytes2: 2,
50
+ bytes4: 4,
51
+ bytes8: 8,
52
+ bytes20: 20,
53
+ bytes21: 21,
54
+ bytes32: 32,
55
+ bytes65: 65,
56
+ };
57
+ Object.freeze(ByteLengthForType);
58
+
59
+ ////////////////////////////////////////////////////////////////////////////////
60
+
61
+ const bytesHexRegex = /^0x[a-fA-F0-9]*$/;
62
+ const bytesHexNo0xRegex = /^[a-fA-F0-9]*$/;
63
+
64
+ ////////////////////////////////////////////////////////////////////////////////
65
+ // isBytesXX
66
+ ////////////////////////////////////////////////////////////////////////////////
67
+
68
+ export function isBytes(value: unknown, byteLength?: ByteLength): value is Bytes {
69
+ if (value === undefined || value === null) {
70
+ return false;
71
+ }
72
+
73
+ if (!(value instanceof Uint8Array)) {
74
+ return false;
75
+ }
76
+
77
+ return byteLength !== undefined ? value.length === byteLength : true;
78
+ }
79
+
80
+ ////////////////////////////////////////////////////////////////////////////////
81
+
82
+ export function isBytesForType<T extends BytesTypeName>(
83
+ value: unknown,
84
+ typeName?: T,
85
+ ): value is BytesTypeNameToTypeMap[T] {
86
+ return isBytes(value, typeName !== undefined ? ByteLengthForType[typeName] : undefined);
87
+ }
88
+
89
+ ////////////////////////////////////////////////////////////////////////////////
90
+
91
+ export function isBytes1(value: unknown): value is Bytes1 {
92
+ return isBytes(value, 1 satisfies ByteLength);
93
+ }
94
+
95
+ export function isBytes8(value: unknown): value is Bytes8 {
96
+ return isBytes(value, 8 satisfies ByteLength);
97
+ }
98
+
99
+ export function isBytes20(value: unknown): value is Bytes20 {
100
+ return isBytes(value, 20 satisfies ByteLength);
101
+ }
102
+
103
+ export function isBytes21(value: unknown): value is Bytes21 {
104
+ return isBytes(value, 21 satisfies ByteLength);
105
+ }
106
+
107
+ export function isBytes32(value: unknown): value is Bytes32 {
108
+ return isBytes(value, 32 satisfies ByteLength);
109
+ }
110
+
111
+ export function isBytes65(value: unknown): value is Bytes65 {
112
+ return isBytes(value, 65 satisfies ByteLength);
113
+ }
114
+
115
+ ////////////////////////////////////////////////////////////////////////////////
116
+ // isBytesXXHex
117
+ ////////////////////////////////////////////////////////////////////////////////
118
+
119
+ export function isBytesHex(value: unknown, byteLength?: ByteLength): value is BytesHex {
120
+ if (!is0x(value)) {
121
+ return false;
122
+ }
123
+
124
+ if (byteLength !== undefined && value.length !== 2 * byteLength + 2) {
125
+ return false;
126
+ }
127
+
128
+ if ((value.length - 2) % 2 !== 0) {
129
+ return false;
130
+ }
131
+
132
+ return bytesHexRegex.test(value);
133
+ }
134
+
135
+ ////////////////////////////////////////////////////////////////////////////////
136
+
137
+ export function isBytes1Hex(value: unknown): value is Bytes1Hex {
138
+ return isBytesHex(value, 1 satisfies ByteLength);
139
+ }
140
+
141
+ export function isBytes8Hex(value: unknown): value is Bytes8Hex {
142
+ return isBytesHex(value, 8 satisfies ByteLength);
143
+ }
144
+
145
+ export function isBytes20Hex(value: unknown): value is Bytes20Hex {
146
+ return isBytesHex(value, 20 satisfies ByteLength);
147
+ }
148
+
149
+ export function isBytes21Hex(value: unknown): value is Bytes21Hex {
150
+ return isBytesHex(value, 21 satisfies ByteLength);
151
+ }
152
+
153
+ export function isBytes32Hex(value: unknown): value is Bytes32Hex {
154
+ return isBytesHex(value, 32 satisfies ByteLength);
155
+ }
156
+
157
+ export function isBytes65Hex(value: unknown): value is Bytes65Hex {
158
+ return isBytesHex(value, 65 satisfies ByteLength);
159
+ }
160
+
161
+ ////////////////////////////////////////////////////////////////////////////////
162
+ // isBytesXXHexNo0x
163
+ ////////////////////////////////////////////////////////////////////////////////
164
+
165
+ export function isBytesHexNo0x(value: unknown, byteLength?: ByteLength): value is BytesHexNo0x {
166
+ if (!isNo0x(value)) {
167
+ return false;
168
+ }
169
+
170
+ if (byteLength !== undefined && value.length !== 2 * byteLength) {
171
+ return false;
172
+ }
173
+
174
+ if (value.length % 2 !== 0) {
175
+ return false;
176
+ }
177
+
178
+ if (!bytesHexNo0xRegex.test(value)) {
179
+ return false;
180
+ }
181
+
182
+ return true;
183
+ }
184
+
185
+ ////////////////////////////////////////////////////////////////////////////////
186
+
187
+ export function isBytes1HexNo0x(value: unknown): value is Bytes1HexNo0x {
188
+ return isBytesHexNo0x(value, 1 satisfies ByteLength);
189
+ }
190
+
191
+ export function isBytes8HexNo0x(value: unknown): value is Bytes8HexNo0x {
192
+ return isBytesHexNo0x(value, 8 satisfies ByteLength);
193
+ }
194
+
195
+ export function isBytes20HexNo0x(value: unknown): value is Bytes20HexNo0x {
196
+ return isBytesHexNo0x(value, 20 satisfies ByteLength);
197
+ }
198
+
199
+ export function isBytes21HexNo0x(value: unknown): value is Bytes21HexNo0x {
200
+ return isBytesHexNo0x(value, 21 satisfies ByteLength);
201
+ }
202
+
203
+ export function isBytes32HexNo0x(value: unknown): value is Bytes32HexNo0x {
204
+ return isBytesHexNo0x(value, 32 satisfies ByteLength);
205
+ }
206
+
207
+ export function isBytes65HexNo0x(value: unknown): value is Bytes65HexNo0x {
208
+ return isBytesHexNo0x(value, 65 satisfies ByteLength);
209
+ }
210
+
211
+ ////////////////////////////////////////////////////////////////////////////////
212
+ // assertIsBytesXX
213
+ ////////////////////////////////////////////////////////////////////////////////
214
+
215
+ export function assertIsBytes(
216
+ value: unknown,
217
+ options?: { byteLength?: ByteLength; subject?: string } & ErrorMetadataParams,
218
+ ): asserts value is Bytes {
219
+ if (!isBytes(value, options?.byteLength)) {
220
+ throw new InvalidTypeError(
221
+ {
222
+ subject: options?.subject,
223
+ expectedType: `bytes${options?.byteLength ?? ''}`,
224
+ },
225
+ options ?? {},
226
+ );
227
+ }
228
+ }
229
+
230
+ export function assertIsBytesForType<T extends BytesTypeName>(
231
+ value: unknown,
232
+ options?: {
233
+ typeName: T;
234
+ subject?: string;
235
+ } & ErrorMetadataParams,
236
+ ): asserts value is BytesNMap[T] {
237
+ if (!isBytesForType(value, options?.typeName)) {
238
+ throw new InvalidTypeError(
239
+ {
240
+ subject: options?.subject,
241
+ expectedType: options?.typeName ?? 'bytes',
242
+ },
243
+ options ?? {},
244
+ );
245
+ }
246
+ }
247
+
248
+ export function assertIsBytes1(
249
+ value: unknown,
250
+ options: { subject?: string } & ErrorMetadataParams,
251
+ ): asserts value is Bytes1 {
252
+ assertIsBytes(value, { byteLength: 1, ...options });
253
+ }
254
+
255
+ export function assertIsBytes8(
256
+ value: unknown,
257
+ options: { subject?: string } & ErrorMetadataParams,
258
+ ): asserts value is Bytes8 {
259
+ assertIsBytes(value, { byteLength: 8, ...options });
260
+ }
261
+
262
+ export function assertIsBytes20(
263
+ value: unknown,
264
+ options: { subject?: string } & ErrorMetadataParams,
265
+ ): asserts value is Bytes20 {
266
+ assertIsBytes(value, { byteLength: 20, ...options });
267
+ }
268
+
269
+ export function assertIsBytes21(
270
+ value: unknown,
271
+ options: { subject?: string } & ErrorMetadataParams,
272
+ ): asserts value is Bytes21 {
273
+ assertIsBytes(value, { byteLength: 21, ...options });
274
+ }
275
+
276
+ export function assertIsBytes32(
277
+ value: unknown,
278
+ options: { subject?: string } & ErrorMetadataParams,
279
+ ): asserts value is Bytes32 {
280
+ assertIsBytes(value, { byteLength: 32, ...options });
281
+ }
282
+
283
+ export function assertIsBytes65(
284
+ value: unknown,
285
+ options: { subject?: string } & ErrorMetadataParams,
286
+ ): asserts value is Bytes65 {
287
+ assertIsBytes(value, { byteLength: 65, ...options });
288
+ }
289
+
290
+ ////////////////////////////////////////////////////////////////////////////////
291
+
292
+ export function asBytesForType(
293
+ value: unknown,
294
+ options?: {
295
+ typeName: BytesTypeName;
296
+ subject?: string;
297
+ } & ErrorMetadataParams,
298
+ ): Bytes {
299
+ assertIsBytesForType(value, options);
300
+ return value;
301
+ }
302
+
303
+ export function asBytes(
304
+ value: unknown,
305
+ options?: {
306
+ byteLength?: ByteLength;
307
+ subject?: string;
308
+ } & ErrorMetadataParams,
309
+ ): Bytes {
310
+ assertIsBytes(value, options);
311
+ return value;
312
+ }
313
+
314
+ export function asBytes1(value: unknown, options?: { subject?: string } & ErrorMetadataParams): Bytes1 {
315
+ assertIsBytes(value, { byteLength: 1, ...options });
316
+ return value as Bytes1;
317
+ }
318
+
319
+ export function asBytes8(value: unknown, options?: { subject?: string } & ErrorMetadataParams): Bytes8 {
320
+ assertIsBytes(value, { byteLength: 8, ...options });
321
+ return value as Bytes8;
322
+ }
323
+
324
+ export function asBytes20(value: unknown, options?: { subject?: string } & ErrorMetadataParams): Bytes20 {
325
+ assertIsBytes(value, { byteLength: 20, ...options });
326
+ return value as Bytes20;
327
+ }
328
+
329
+ export function asBytes21(value: unknown, options?: { subject?: string } & ErrorMetadataParams): Bytes21 {
330
+ assertIsBytes(value, { byteLength: 21, ...options });
331
+ return value as Bytes21;
332
+ }
333
+
334
+ export function asBytes32(value: unknown, options?: { subject?: string } & ErrorMetadataParams): Bytes32 {
335
+ assertIsBytes(value, { byteLength: 32, ...options });
336
+ return value as Bytes32;
337
+ }
338
+
339
+ export function asBytes65(value: unknown, options?: { subject?: string } & ErrorMetadataParams): Bytes65 {
340
+ assertIsBytes(value, { byteLength: 65, ...options });
341
+ return value as Bytes65;
342
+ }
343
+
344
+ ////////////////////////////////////////////////////////////////////////////////
345
+ // assertIsBytesXXHex
346
+ ////////////////////////////////////////////////////////////////////////////////
347
+
348
+ /**
349
+ * Assertion function that validates a value is a valid hex bytes string.
350
+ * A valid BytesHex string must start with "0x" followed by an even number of hexadecimal characters.
351
+ * Throws an `InvalidTypeError` if validation fails.
352
+ *
353
+ * @param value - The value to validate (can be any type)
354
+ * @param options - Validation options
355
+ * @param options.byteLength - Optional expected byte length (e.g., 8, 20, 32)
356
+ * @param options.subject - Optional name of the value being validated (used in error messages)
357
+ * @throws {InvalidTypeError} When the value is not a string or not valid BytesHex format
358
+ * @throws {never} No other errors are thrown
359
+ *
360
+ * @example
361
+ * ```typescript
362
+ * function processHash(hash: unknown) {
363
+ * assertIsBytesHex(hash, { byteLength: 32, subject: 'hash' });
364
+ * console.log(hash); // TypeScript now knows hash is BytesHex
365
+ * }
366
+ * ```
367
+ */
368
+ export function assertIsBytesHex(
369
+ value: unknown,
370
+ options: { byteLength?: ByteLength; subject?: string } & ErrorMetadataParams,
371
+ ): asserts value is BytesHex {
372
+ if (!isBytesHex(value, options.byteLength)) {
373
+ throw new InvalidTypeError(
374
+ {
375
+ subject: options.subject,
376
+ type: typeof value,
377
+ expectedType: `bytes${options.byteLength ?? ''}Hex`,
378
+ },
379
+ options,
380
+ );
381
+ }
382
+ }
383
+
384
+ /**
385
+ * Asserts that a value is either a `Bytes` (Uint8Array) or a `BytesHex` (hex string).
386
+ *
387
+ * @throws {InvalidTypeError} When the value is neither `Bytes` nor `BytesHex`.
388
+ */
389
+ export function assertIsBytesOrBytesHex(
390
+ value: unknown,
391
+ options: { subject?: string } & ErrorMetadataParams,
392
+ ): asserts value is Bytes | BytesHex {
393
+ // faster
394
+ if (isBytes(value)) {
395
+ return;
396
+ }
397
+ // slower
398
+ if (isBytesHex(value)) {
399
+ return;
400
+ }
401
+ throw new InvalidTypeError(
402
+ {
403
+ subject: options.subject,
404
+ type: typeof value,
405
+ expectedType: 'Bytes | BytesHex',
406
+ },
407
+ options,
408
+ );
409
+ }
410
+
411
+ ////////////////////////////////////////////////////////////////////////////////
412
+
413
+ export function assertIsBytes1Hex(
414
+ value: unknown,
415
+ options: { subject?: string } & ErrorMetadataParams,
416
+ ): asserts value is Bytes1Hex {
417
+ assertIsBytesHex(value, { byteLength: 1, ...options });
418
+ }
419
+
420
+ export function assertIsBytes8Hex(
421
+ value: unknown,
422
+ options: { subject?: string } & ErrorMetadataParams,
423
+ ): asserts value is Bytes8Hex {
424
+ assertIsBytesHex(value, { byteLength: 8, ...options });
425
+ }
426
+
427
+ export function assertIsBytes20Hex(
428
+ value: unknown,
429
+ options: { subject?: string } & ErrorMetadataParams,
430
+ ): asserts value is Bytes20Hex {
431
+ assertIsBytesHex(value, { byteLength: 20, ...options });
432
+ }
433
+
434
+ export function assertIsBytes21Hex(
435
+ value: unknown,
436
+ options: { subject?: string } & ErrorMetadataParams,
437
+ ): asserts value is Bytes21Hex {
438
+ assertIsBytesHex(value, { byteLength: 21, ...options });
439
+ }
440
+
441
+ export function assertIsBytes32Hex(
442
+ value: unknown,
443
+ options: { subject?: string } & ErrorMetadataParams,
444
+ ): asserts value is Bytes32Hex {
445
+ assertIsBytesHex(value, { byteLength: 32, ...options });
446
+ }
447
+
448
+ export function assertIsBytes65Hex(
449
+ value: unknown,
450
+ options: { subject?: string } & ErrorMetadataParams,
451
+ ): asserts value is Bytes65Hex {
452
+ assertIsBytesHex(value, { byteLength: 65, ...options });
453
+ }
454
+
455
+ ////////////////////////////////////////////////////////////////////////////////
456
+
457
+ export function asBytesHex(value: unknown, options?: { subject?: string } & ErrorMetadataParams): BytesHex {
458
+ assertIsBytesHex(value, options ?? {});
459
+ return value;
460
+ }
461
+
462
+ export function asBytes1Hex(value: unknown, options?: { subject?: string } & ErrorMetadataParams): Bytes1Hex {
463
+ assertIsBytesHex(value, { byteLength: 1, ...options });
464
+ return value as Bytes1Hex;
465
+ }
466
+
467
+ export function asBytes8Hex(value: unknown, options?: { subject?: string } & ErrorMetadataParams): Bytes8Hex {
468
+ assertIsBytesHex(value, { byteLength: 8, ...options });
469
+ return value as Bytes8Hex;
470
+ }
471
+
472
+ export function asBytes20Hex(value: unknown, options?: { subject?: string } & ErrorMetadataParams): Bytes20Hex {
473
+ assertIsBytesHex(value, { byteLength: 20, ...options });
474
+ return value as Bytes20Hex;
475
+ }
476
+
477
+ export function asBytes21Hex(value: unknown, options?: { subject?: string } & ErrorMetadataParams): Bytes21Hex {
478
+ assertIsBytesHex(value, { byteLength: 21, ...options });
479
+ return value as Bytes21Hex;
480
+ }
481
+
482
+ export function asBytes32Hex(value: unknown, options?: { subject?: string } & ErrorMetadataParams): Bytes32Hex {
483
+ assertIsBytesHex(value, { byteLength: 32, ...options });
484
+ return value as Bytes32Hex;
485
+ }
486
+
487
+ export function asBytes65Hex(value: unknown, options?: { subject?: string } & ErrorMetadataParams): Bytes65Hex {
488
+ assertIsBytesHex(value, { byteLength: 65, ...options });
489
+ return value as Bytes65Hex;
490
+ }
491
+
492
+ ////////////////////////////////////////////////////////////////////////////////
493
+ // assertIsBytesXXHexNo0x
494
+ ////////////////////////////////////////////////////////////////////////////////
495
+
496
+ /**
497
+ * Assertion function that validates a value is a valid hex bytes string without "0x" prefix.
498
+ * A valid BytesHexNo0x string must contain only hexadecimal characters (no "0x" prefix).
499
+ * Throws an `InvalidTypeError` if validation fails.
500
+ *
501
+ * @param value - The value to validate (can be any type)
502
+ * @param options - Validation options
503
+ * @param options.byteLength - Optional expected byte length (e.g., 8, 20, 32)
504
+ * @param options.subject - Optional name of the value being validated (used in error messages)
505
+ * @throws {InvalidTypeError} When the value is not a string or not valid BytesHexNo0x format
506
+ * @throws {never} No other errors are thrown
507
+ *
508
+ * @example
509
+ * ```typescript
510
+ * function processSignature(sig: unknown) {
511
+ * assertIsBytesHexNo0x(sig, { byteLength: 65, subject: 'signature' });
512
+ * console.log(sig); // TypeScript now knows sig is BytesHexNo0x
513
+ * }
514
+ * ```
515
+ */
516
+ export function assertIsBytesHexNo0x(
517
+ value: unknown,
518
+ options: { byteLength?: ByteLength; subject?: string } & ErrorMetadataParams,
519
+ ): asserts value is BytesHexNo0x {
520
+ if (!isBytesHexNo0x(value, options.byteLength)) {
521
+ throw new InvalidTypeError(
522
+ {
523
+ subject: options.subject,
524
+ type: typeof value,
525
+ expectedType: `bytes${options.byteLength ?? ''}HexNo0x`,
526
+ },
527
+ options,
528
+ );
529
+ }
530
+ }
531
+
532
+ ////////////////////////////////////////////////////////////////////////////////
533
+
534
+ export function assertIsBytes1HexNo0x(
535
+ value: unknown,
536
+ options: { subject?: string } & ErrorMetadataParams,
537
+ ): asserts value is Bytes1HexNo0x {
538
+ assertIsBytesHexNo0x(value, { byteLength: 1, ...options });
539
+ }
540
+
541
+ export function assertIsBytes8HexNo0x(
542
+ value: unknown,
543
+ options: { subject?: string } & ErrorMetadataParams,
544
+ ): asserts value is Bytes8HexNo0x {
545
+ assertIsBytesHexNo0x(value, { byteLength: 8, ...options });
546
+ }
547
+
548
+ export function assertIsBytes20HexNo0x(
549
+ value: unknown,
550
+ options: { subject?: string } & ErrorMetadataParams,
551
+ ): asserts value is Bytes20HexNo0x {
552
+ assertIsBytesHexNo0x(value, { byteLength: 20, ...options });
553
+ }
554
+
555
+ export function assertIsBytes21HexNo0x(
556
+ value: unknown,
557
+ options: { subject?: string } & ErrorMetadataParams,
558
+ ): asserts value is Bytes21HexNo0x {
559
+ assertIsBytesHexNo0x(value, { byteLength: 21, ...options });
560
+ }
561
+
562
+ export function assertIsBytes32HexNo0x(
563
+ value: unknown,
564
+ options: { subject?: string } & ErrorMetadataParams,
565
+ ): asserts value is Bytes32HexNo0x {
566
+ assertIsBytesHexNo0x(value, { byteLength: 32, ...options });
567
+ }
568
+
569
+ export function assertIsBytes65HexNo0x(
570
+ value: unknown,
571
+ options: { subject?: string } & ErrorMetadataParams,
572
+ ): asserts value is Bytes65HexNo0x {
573
+ assertIsBytesHexNo0x(value, { byteLength: 65, ...options });
574
+ }
575
+
576
+ ////////////////////////////////////////////////////////////////////////////////
577
+ // asBytesXXHexNo0x
578
+ ////////////////////////////////////////////////////////////////////////////////
579
+
580
+ export function asBytesHexNo0x(
581
+ value: unknown,
582
+ options?: { byteLength?: ByteLength; subject?: string } & ErrorMetadataParams,
583
+ ): BytesHexNo0x {
584
+ assertIsBytesHexNo0x(value, options ?? {});
585
+ return value;
586
+ }
587
+
588
+ export function asBytes1HexNo0x(value: unknown, options?: { subject?: string } & ErrorMetadataParams): Bytes1HexNo0x {
589
+ assertIsBytesHexNo0x(value, { byteLength: 1, ...options });
590
+ return value as Bytes1HexNo0x;
591
+ }
592
+
593
+ export function asBytes8HexNo0x(value: unknown, options?: { subject?: string } & ErrorMetadataParams): Bytes8HexNo0x {
594
+ assertIsBytesHexNo0x(value, { byteLength: 8, ...options });
595
+ return value as Bytes8HexNo0x;
596
+ }
597
+
598
+ export function asBytes20HexNo0x(value: unknown, options?: { subject?: string } & ErrorMetadataParams): Bytes20HexNo0x {
599
+ assertIsBytesHexNo0x(value, { byteLength: 20, ...options });
600
+ return value as Bytes20HexNo0x;
601
+ }
602
+
603
+ export function asBytes21HexNo0x(value: unknown, options?: { subject?: string } & ErrorMetadataParams): Bytes21HexNo0x {
604
+ assertIsBytesHexNo0x(value, { byteLength: 21, ...options });
605
+ return value as Bytes21HexNo0x;
606
+ }
607
+
608
+ export function asBytes32HexNo0x(value: unknown, options?: { subject?: string } & ErrorMetadataParams): Bytes32HexNo0x {
609
+ assertIsBytesHexNo0x(value, { byteLength: 32, ...options });
610
+ return value as Bytes32HexNo0x;
611
+ }
612
+
613
+ export function asBytes65HexNo0x(value: unknown, options?: { subject?: string } & ErrorMetadataParams): Bytes65HexNo0x {
614
+ assertIsBytesHexNo0x(value, { byteLength: 65, ...options });
615
+ return value as Bytes65HexNo0x;
616
+ }
617
+
618
+ ////////////////////////////////////////////////////////////////////////////////
619
+ // assertIsBytesXXHexArray
620
+ ////////////////////////////////////////////////////////////////////////////////
621
+
622
+ /**
623
+ * Assertion function that validates a value is an array of valid hex bytes strings.
624
+ * Each element must start with "0x" followed by hexadecimal characters.
625
+ * Throws an `InvalidTypeError` if validation fails.
626
+ *
627
+ * @param value - The value to validate (can be any type)
628
+ * @param options - Validation options
629
+ * @param options.byteLength - Optional expected byte length for each element (e.g., 8, 20, 32)
630
+ * @param options.subject - Optional name of the value being validated (used in error messages)
631
+ * @throws {InvalidTypeError} When the value is not an array or any element is not valid BytesHex format
632
+ * @throws {never} No other errors are thrown
633
+ *
634
+ * @example
635
+ * ```typescript
636
+ * function processHashes(hashes: unknown) {
637
+ * assertIsBytesHexArray(hashes, { byteLength: 32, subject: 'hashes' });
638
+ * hashes.forEach(hash => console.log(hash)); // TypeScript knows each is BytesHex
639
+ * }
640
+ * ```
641
+ */
642
+ export function assertIsBytesHexArray(
643
+ value: unknown,
644
+ options: { byteLength?: ByteLength; subject?: string } & ErrorMetadataParams,
645
+ ): asserts value is BytesHex[] {
646
+ if (!Array.isArray(value)) {
647
+ throw new InvalidTypeError(
648
+ {
649
+ subject: options.subject,
650
+ type: typeof value,
651
+ expectedType: `bytes${options.byteLength ?? ''}Hex[]`,
652
+ },
653
+ options,
654
+ );
655
+ }
656
+ for (let i = 0; i < value.length; ++i) {
657
+ if (!isBytesHex(value[i], options.byteLength)) {
658
+ throw new InvalidTypeError(
659
+ {
660
+ subject: options.subject,
661
+ index: i,
662
+ type: typeof value[i],
663
+ expectedType: `bytes${options.byteLength ?? ''}Hex`,
664
+ },
665
+ options,
666
+ );
667
+ }
668
+ }
669
+ }
670
+
671
+ export function assertIsBytesArray(
672
+ value: unknown,
673
+ options: { byteLength?: ByteLength; subject?: string } & ErrorMetadataParams,
674
+ ): asserts value is Bytes[] {
675
+ if (!Array.isArray(value)) {
676
+ throw new InvalidTypeError(
677
+ {
678
+ subject: options.subject,
679
+ type: typeof value,
680
+ expectedType: `bytes${options.byteLength ?? ''}[]`,
681
+ },
682
+ options,
683
+ );
684
+ }
685
+ for (let i = 0; i < value.length; ++i) {
686
+ if (!isBytes(value[i], options.byteLength)) {
687
+ throw new InvalidTypeError(
688
+ {
689
+ subject: options.subject,
690
+ index: i,
691
+ type: typeof value[i],
692
+ expectedType: `bytes${options.byteLength ?? ''}`,
693
+ },
694
+ options,
695
+ );
696
+ }
697
+ }
698
+ }
699
+
700
+ ////////////////////////////////////////////////////////////////////////////////
701
+
702
+ export function assertIsBytes1HexArray(
703
+ value: unknown,
704
+ options: { subject?: string } & ErrorMetadataParams,
705
+ ): asserts value is Bytes1Hex[] {
706
+ assertIsBytesHexArray(value, { byteLength: 1, ...options });
707
+ }
708
+
709
+ export function assertIsBytes8HexArray(
710
+ value: unknown,
711
+ options: { subject?: string } & ErrorMetadataParams,
712
+ ): asserts value is Bytes8Hex[] {
713
+ assertIsBytesHexArray(value, { byteLength: 8, ...options });
714
+ }
715
+
716
+ export function assertIsBytes20HexArray(
717
+ value: unknown,
718
+ options: { subject?: string } & ErrorMetadataParams,
719
+ ): asserts value is Bytes20Hex[] {
720
+ assertIsBytesHexArray(value, { byteLength: 20, ...options });
721
+ }
722
+
723
+ export function assertIsBytes21HexArray(
724
+ value: unknown,
725
+ options: { subject?: string } & ErrorMetadataParams,
726
+ ): asserts value is Bytes21Hex[] {
727
+ assertIsBytesHexArray(value, { byteLength: 21, ...options });
728
+ }
729
+
730
+ export function assertIsBytes32HexArray(
731
+ value: unknown,
732
+ options: { subject?: string } & ErrorMetadataParams,
733
+ ): asserts value is Bytes32Hex[] {
734
+ assertIsBytesHexArray(value, { byteLength: 32, ...options });
735
+ }
736
+
737
+ export function assertIsBytes65HexArray(
738
+ value: unknown,
739
+ options: { subject?: string } & ErrorMetadataParams,
740
+ ): asserts value is Bytes65Hex[] {
741
+ assertIsBytesHexArray(value, { byteLength: 65, ...options });
742
+ }
743
+
744
+ ////////////////////////////////////////////////////////////////////////////////
745
+
746
+ export function assertIsBytes32Array(
747
+ value: unknown,
748
+ options: { subject?: string } & ErrorMetadataParams,
749
+ ): asserts value is Bytes32[] {
750
+ assertIsBytesArray(value, { byteLength: 32, ...options });
751
+ }
752
+
753
+ ////////////////////////////////////////////////////////////////////////////////
754
+ // isRecordBytesXXHexProperty
755
+ ////////////////////////////////////////////////////////////////////////////////
756
+
757
+ /**
758
+ * Type guard that checks if a property exists on an object and is a valid hex bytes string.
759
+ * A valid BytesHex string starts with "0x" followed by an even number of hexadecimal characters.
760
+ *
761
+ * @template K - The property key type (string literal)
762
+ * @param record - The value to check (can be any type)
763
+ * @param property - The property name to check for
764
+ * @param byteLength - Optional byte length (e.g., 8, 20, 32)
765
+ * @returns True if `o` is an object with the specified property that is a valid BytesHex string
766
+ *
767
+ * @example
768
+ * ```typescript
769
+ * const data: unknown = { hash: "0x1234abcd", value: 42 };
770
+ * if (isRecordBytesHexProperty(data, 'hash')) {
771
+ * console.log(data.hash); // "0x1234abcd"
772
+ * }
773
+ * ```
774
+ */
775
+ export function isRecordBytesHexProperty<K extends string>(
776
+ record: unknown,
777
+ property: K,
778
+ byteLength?: ByteLength,
779
+ ): record is RecordWithPropertyType<K, BytesHex> {
780
+ if (!isRecordNonNullableProperty(record, property)) {
781
+ return false;
782
+ }
783
+ return isBytesHex(record[property], byteLength);
784
+ }
785
+
786
+ ////////////////////////////////////////////////////////////////////////////////
787
+
788
+ export function isRecordBytes1HexProperty<K extends string>(
789
+ record: unknown,
790
+ property: K,
791
+ ): record is RecordWithPropertyType<K, Bytes1Hex> {
792
+ return isRecordBytesHexProperty(record, property, 1);
793
+ }
794
+
795
+ export function isRecordBytes8HexProperty<K extends string>(
796
+ record: unknown,
797
+ property: K,
798
+ ): record is RecordWithPropertyType<K, Bytes8Hex> {
799
+ return isRecordBytesHexProperty(record, property, 8);
800
+ }
801
+
802
+ export function isRecordBytes20HexProperty<K extends string>(
803
+ record: unknown,
804
+ property: K,
805
+ ): record is RecordWithPropertyType<K, Bytes20Hex> {
806
+ return isRecordBytesHexProperty(record, property, 20);
807
+ }
808
+
809
+ export function isRecordBytes21HexProperty<K extends string>(
810
+ record: unknown,
811
+ property: K,
812
+ ): record is RecordWithPropertyType<K, Bytes21Hex> {
813
+ return isRecordBytesHexProperty(record, property, 21);
814
+ }
815
+
816
+ export function isRecordBytes32HexProperty<K extends string>(
817
+ record: unknown,
818
+ property: K,
819
+ ): record is RecordWithPropertyType<K, Bytes32Hex> {
820
+ return isRecordBytesHexProperty(record, property, 32);
821
+ }
822
+
823
+ export function isRecordBytes65HexProperty<K extends string>(
824
+ record: unknown,
825
+ property: K,
826
+ ): record is RecordWithPropertyType<K, Bytes65Hex> {
827
+ return isRecordBytesHexProperty(record, property, 65);
828
+ }
829
+
830
+ ////////////////////////////////////////////////////////////////////////////////
831
+ // assertRecordBytesXXHexProperty
832
+ ////////////////////////////////////////////////////////////////////////////////
833
+
834
+ /**
835
+ * Assertion function that validates a property exists on an object and is a valid hex bytes string.
836
+ * A valid BytesHex string must start with "0x" followed by an even number of hexadecimal characters.
837
+ * Throws an `InvalidPropertyError` if validation fails.
838
+ *
839
+ * @template K - The property key type (string literal)
840
+ * @param record - The value to validate (can be any type)
841
+ * @param property - The property name to check for
842
+ * @param recordName - The name of the object being validated (used in error messages)
843
+ * @throws {InvalidPropertyError} When the property is missing, not a string, or not valid BytesHex format
844
+ * @throws {never} No other errors are thrown
845
+ *
846
+ * @example
847
+ * ```typescript
848
+ * function processTransaction(data: unknown) {
849
+ * assertRecordBytesHexProperty(data, 'txHash', 'transaction');
850
+ * console.log(data.txHash); // e.g., "0x1234..."
851
+ * }
852
+ * ```
853
+ */
854
+ export function assertRecordBytesHexProperty<K extends string>(
855
+ record: unknown,
856
+ property: K,
857
+ recordName: string,
858
+ options: { byteLength?: ByteLength } & ErrorMetadataParams,
859
+ ): asserts record is RecordWithPropertyType<K, BytesHex> {
860
+ if (!isRecordBytesHexProperty(record, property, options.byteLength)) {
861
+ throw new InvalidPropertyError(
862
+ {
863
+ subject: recordName,
864
+ property,
865
+ expectedType: `bytes${options.byteLength ?? ''}Hex`,
866
+ type: typeofProperty(record, property),
867
+ },
868
+ options,
869
+ );
870
+ }
871
+ }
872
+
873
+ ////////////////////////////////////////////////////////////////////////////////
874
+
875
+ export function assertRecordBytes1HexProperty<K extends string>(
876
+ record: unknown,
877
+ property: K,
878
+ recordName: string,
879
+ options: ErrorMetadataParams,
880
+ ): asserts record is RecordWithPropertyType<K, Bytes1Hex> {
881
+ assertRecordBytesHexProperty(record, property, recordName, {
882
+ byteLength: 1,
883
+ ...options,
884
+ });
885
+ }
886
+
887
+ export function assertRecordBytes8HexProperty<K extends string>(
888
+ record: unknown,
889
+ property: K,
890
+ recordName: string,
891
+ options: ErrorMetadataParams,
892
+ ): asserts record is RecordWithPropertyType<K, Bytes8Hex> {
893
+ assertRecordBytesHexProperty(record, property, recordName, {
894
+ byteLength: 8,
895
+ ...options,
896
+ });
897
+ }
898
+
899
+ export function assertRecordBytes20HexProperty<K extends string>(
900
+ record: unknown,
901
+ property: K,
902
+ recordName: string,
903
+ options: ErrorMetadataParams,
904
+ ): asserts record is RecordWithPropertyType<K, Bytes20Hex> {
905
+ assertRecordBytesHexProperty(record, property, recordName, {
906
+ byteLength: 20,
907
+ ...options,
908
+ });
909
+ }
910
+
911
+ export function assertRecordBytes21HexProperty<K extends string>(
912
+ record: unknown,
913
+ property: K,
914
+ recordName: string,
915
+ options: ErrorMetadataParams,
916
+ ): asserts record is RecordWithPropertyType<K, Bytes21Hex> {
917
+ assertRecordBytesHexProperty(record, property, recordName, {
918
+ byteLength: 21,
919
+ ...options,
920
+ });
921
+ }
922
+
923
+ export function assertRecordBytes32HexProperty<K extends string>(
924
+ record: unknown,
925
+ property: K,
926
+ recordName: string,
927
+ options: ErrorMetadataParams,
928
+ ): asserts record is RecordWithPropertyType<K, Bytes32Hex> {
929
+ assertRecordBytesHexProperty(record, property, recordName, {
930
+ byteLength: 32,
931
+ ...options,
932
+ });
933
+ }
934
+
935
+ export function assertRecordBytes65HexProperty<K extends string>(
936
+ record: unknown,
937
+ property: K,
938
+ recordName: string,
939
+ options: ErrorMetadataParams,
940
+ ): asserts record is RecordWithPropertyType<K, Bytes65Hex> {
941
+ assertRecordBytesHexProperty(record, property, recordName, {
942
+ byteLength: 65,
943
+ ...options,
944
+ });
945
+ }
946
+
947
+ ////////////////////////////////////////////////////////////////////////////////
948
+ // isRecordBytesHexXXNo0xProperty
949
+ ////////////////////////////////////////////////////////////////////////////////
950
+
951
+ /**
952
+ * Type guard that checks if a property exists on an object and is a valid hex bytes string without "0x" prefix.
953
+ * A valid BytesHexNo0x string contains only hexadecimal characters (no "0x" prefix).
954
+ *
955
+ * @template K - The property key type (string literal)
956
+ * @param record - The value to check (can be any type)
957
+ * @param property - The property name to check for
958
+ * @param byteLength - Optional byte length (e.g., 8, 20, 32)
959
+ * @returns True if `o` is an object with the specified property that is a valid BytesHexNo0x string
960
+ *
961
+ * @example
962
+ * ```typescript
963
+ * const data: unknown = { signature: "1234abcd", value: 42 };
964
+ * if (isRecordBytesHexNo0xProperty(data, 'signature')) {
965
+ * console.log(data.signature); // "1234abcd"
966
+ * }
967
+ * ```
968
+ */
969
+ export function isRecordBytesHexNo0xProperty<K extends string>(
970
+ record: unknown,
971
+ property: K,
972
+ byteLength?: ByteLength,
973
+ ): record is RecordWithPropertyType<K, BytesHexNo0x> {
974
+ if (!isRecordNonNullableProperty(record, property)) {
975
+ return false;
976
+ }
977
+ return isBytesHexNo0x(record[property], byteLength);
978
+ }
979
+
980
+ ////////////////////////////////////////////////////////////////////////////////
981
+ // assertRecordBytesXXHexNo0xProperty
982
+ ////////////////////////////////////////////////////////////////////////////////
983
+
984
+ /**
985
+ * Assertion function that validates a property exists on an object and is a valid hex bytes string without "0x" prefix.
986
+ * A valid BytesHexNo0x string contains only hexadecimal characters (no "0x" prefix).
987
+ * Throws an `InvalidPropertyError` if validation fails.
988
+ *
989
+ * @template K - The property key type (string literal)
990
+ * @param record - The value to validate (can be any type)
991
+ * @param property - The property name to check for
992
+ * @param recordName - The name of the object being validated (used in error messages)
993
+ * @param options - Validation options
994
+ * @param options.byteLength - Optional expected byte length (e.g., 8, 20, 32)
995
+ * @throws {InvalidPropertyError} When the property is missing, not a string, or not valid BytesHexNo0x format
996
+ * @throws {never} No other errors are thrown
997
+ *
998
+ * @example
999
+ * ```typescript
1000
+ * function processData(data: unknown) {
1001
+ * assertRecordBytesHexNo0xProperty(data, 'signature', 'response', {});
1002
+ * console.log(data.signature); // e.g., "1234abcd..."
1003
+ * }
1004
+ * ```
1005
+ */
1006
+ export function assertRecordBytesHexNo0xProperty<K extends string>(
1007
+ record: unknown,
1008
+ property: K,
1009
+ recordName: string,
1010
+ options: { byteLength?: ByteLength } & ErrorMetadataParams,
1011
+ ): asserts record is RecordWithPropertyType<K, BytesHexNo0x> {
1012
+ if (!isRecordBytesHexNo0xProperty(record, property, options.byteLength)) {
1013
+ throw new InvalidPropertyError(
1014
+ {
1015
+ subject: recordName,
1016
+ property,
1017
+ expectedType: `bytes${options.byteLength ?? ''}HexNo0x`,
1018
+ type: typeofProperty(record, property),
1019
+ },
1020
+ options,
1021
+ );
1022
+ }
1023
+ }
1024
+
1025
+ ////////////////////////////////////////////////////////////////////////////////
1026
+ // assertRecordBytesXXHexArrayProperty
1027
+ ////////////////////////////////////////////////////////////////////////////////
1028
+
1029
+ /**
1030
+ * Assertion function that validates a property exists on an object, is an array,
1031
+ * and every element is a valid hex bytes string (with "0x" prefix).
1032
+ * Throws an `InvalidPropertyError` if validation fails.
1033
+ *
1034
+ * @template K - The property key type (string literal)
1035
+ * @param record - The record to validate (can be any type)
1036
+ * @param property - The property name to check for
1037
+ * @param recordName - The name of the record being validated (used in error messages)
1038
+ * @throws {InvalidPropertyError} When the property is missing, not an array, or any element is not valid BytesHex
1039
+ * @throws {never} No other errors are thrown
1040
+ *
1041
+ * @example
1042
+ * ```typescript
1043
+ * function processHashes(data: unknown) {
1044
+ * assertRecordBytesHexArrayProperty(data, 'txHashes', 'transaction');
1045
+ * data.txHashes.forEach(hash => {
1046
+ * console.log(hash); // e.g., "0x1234abcd..."
1047
+ * });
1048
+ * }
1049
+ * ```
1050
+ */
1051
+ export function assertRecordBytesHexArrayProperty<K extends string>(
1052
+ record: unknown,
1053
+ property: K,
1054
+ recordName: string,
1055
+ options: { byteLength?: ByteLength } & ErrorMetadataParams,
1056
+ ): asserts record is RecordWithPropertyType<K, BytesHex[]> {
1057
+ assertRecordArrayProperty(record, property, recordName, options);
1058
+ const arr = record[property];
1059
+ for (let i = 0; i < arr.length; ++i) {
1060
+ if (!isBytesHex(arr[i], options.byteLength)) {
1061
+ throw new InvalidPropertyError(
1062
+ {
1063
+ subject: recordName,
1064
+ index: i,
1065
+ property,
1066
+ expectedType: `bytes${options.byteLength ?? ''}Hex`,
1067
+ type: typeof arr[i],
1068
+ },
1069
+ options,
1070
+ );
1071
+ }
1072
+ }
1073
+ }
1074
+
1075
+ ////////////////////////////////////////////////////////////////////////////////
1076
+
1077
+ export function assertRecordBytes1HexArrayProperty<K extends string>(
1078
+ record: unknown,
1079
+ property: K,
1080
+ recordName: string,
1081
+ options: ErrorMetadataParams,
1082
+ ): asserts record is RecordWithPropertyType<K, Bytes1Hex[]> {
1083
+ assertRecordBytesHexArrayProperty(record, property, recordName, {
1084
+ byteLength: 1,
1085
+ ...options,
1086
+ });
1087
+ }
1088
+
1089
+ export function assertRecordBytes8HexArrayProperty<K extends string>(
1090
+ record: unknown,
1091
+ property: K,
1092
+ recordName: string,
1093
+ options: ErrorMetadataParams,
1094
+ ): asserts record is RecordWithPropertyType<K, Bytes8Hex[]> {
1095
+ assertRecordBytesHexArrayProperty(record, property, recordName, {
1096
+ byteLength: 8,
1097
+ ...options,
1098
+ });
1099
+ }
1100
+
1101
+ export function assertRecordBytes20HexArrayProperty<K extends string>(
1102
+ record: unknown,
1103
+ property: K,
1104
+ recordName: string,
1105
+ options: ErrorMetadataParams,
1106
+ ): asserts record is RecordWithPropertyType<K, Bytes20Hex[]> {
1107
+ assertRecordBytesHexArrayProperty(record, property, recordName, {
1108
+ byteLength: 20,
1109
+ ...options,
1110
+ });
1111
+ }
1112
+
1113
+ export function assertRecordBytes21HexArrayProperty<K extends string>(
1114
+ record: unknown,
1115
+ property: K,
1116
+ recordName: string,
1117
+ options: ErrorMetadataParams,
1118
+ ): asserts record is RecordWithPropertyType<K, Bytes21Hex[]> {
1119
+ assertRecordBytesHexArrayProperty(record, property, recordName, {
1120
+ byteLength: 21,
1121
+ ...options,
1122
+ });
1123
+ }
1124
+
1125
+ export function assertRecordBytes32HexArrayProperty<K extends string>(
1126
+ record: unknown,
1127
+ property: K,
1128
+ recordName: string,
1129
+ options: ErrorMetadataParams,
1130
+ ): asserts record is RecordWithPropertyType<K, Bytes32Hex[]> {
1131
+ assertRecordBytesHexArrayProperty(record, property, recordName, {
1132
+ byteLength: 32,
1133
+ ...options,
1134
+ });
1135
+ }
1136
+
1137
+ export function assertRecordBytes65HexArrayProperty<K extends string>(
1138
+ record: unknown,
1139
+ property: K,
1140
+ recordName: string,
1141
+ options: ErrorMetadataParams,
1142
+ ): asserts record is RecordWithPropertyType<K, Bytes65Hex[]> {
1143
+ assertRecordBytesHexArrayProperty(record, property, recordName, {
1144
+ byteLength: 65,
1145
+ ...options,
1146
+ });
1147
+ }
1148
+
1149
+ ////////////////////////////////////////////////////////////////////////////////
1150
+
1151
+ /**
1152
+ * Assertion function that validates a property exists on an object, is an array,
1153
+ * and every element is a valid hex bytes string (without "0x" prefix).
1154
+ * Throws an `InvalidPropertyError` if validation fails.
1155
+ *
1156
+ * @template K - The property key type (string literal)
1157
+ * @param record - The value to validate (can be any type)
1158
+ * @param property - The property name to check for
1159
+ * @param recordName - The name of the object being validated (used in error messages)
1160
+ * @throws {InvalidPropertyError} When the property is missing, not an array, or any element is not valid BytesHexNo0x
1161
+ * @throws {never} No other errors are thrown
1162
+ *
1163
+ * @example
1164
+ * ```typescript
1165
+ * function processSignatures(data: unknown) {
1166
+ * assertRecordBytesHexNo0xArrayProperty(data, 'signatures', 'response');
1167
+ * data.signatures.forEach(sig => {
1168
+ * console.log(sig); // e.g., "1234abcd..." (no 0x prefix)
1169
+ * });
1170
+ * }
1171
+ * ```
1172
+ */
1173
+ export function assertRecordBytesHexNo0xArrayProperty<K extends string>(
1174
+ record: unknown,
1175
+ property: K,
1176
+ recordName: string,
1177
+ options: { byteLength?: ByteLength } & ErrorMetadataParams,
1178
+ ): asserts record is RecordWithPropertyType<K, BytesHexNo0x[]> {
1179
+ assertRecordArrayProperty(record, property, recordName, options);
1180
+ const arr = record[property];
1181
+ for (let i = 0; i < arr.length; ++i) {
1182
+ if (!isBytesHexNo0x(arr[i])) {
1183
+ throw new InvalidPropertyError(
1184
+ {
1185
+ subject: recordName,
1186
+ index: i,
1187
+ property,
1188
+ expectedType: `bytes${options.byteLength ?? ''}HexNo0x`,
1189
+ type: typeof arr[i],
1190
+ },
1191
+ options,
1192
+ );
1193
+ }
1194
+ }
1195
+ }
1196
+
1197
+ ////////////////////////////////////////////////////////////////////////////////
1198
+ // - isRecordUint8ArrayProperty
1199
+ // - assertRecordUint8ArrayProperty
1200
+ ////////////////////////////////////////////////////////////////////////////////
1201
+
1202
+ export function isRecordUint8ArrayProperty<K extends string>(
1203
+ o: unknown,
1204
+ property: K,
1205
+ ): o is RecordUint8ArrayPropertyType<K> {
1206
+ if (!isRecordNonNullableProperty(o, property)) {
1207
+ return false;
1208
+ }
1209
+ return o[property] instanceof Uint8Array;
1210
+ }
1211
+
1212
+ export function assertRecordUint8ArrayProperty<K extends string>(
1213
+ o: unknown,
1214
+ property: K,
1215
+ objName: string,
1216
+ options: ErrorMetadataParams,
1217
+ ): asserts o is RecordWithPropertyType<K, Uint8Array> {
1218
+ if (!isRecordUint8ArrayProperty(o, property)) {
1219
+ throw new InvalidPropertyError(
1220
+ {
1221
+ subject: objName,
1222
+ property,
1223
+ expectedType: 'Uint8Array',
1224
+ type: typeofProperty(o, property),
1225
+ },
1226
+ options,
1227
+ );
1228
+ }
1229
+ }
1230
+
1231
+ ////////////////////////////////////////////////////////////////////////////////
1232
+ // Hex
1233
+ ////////////////////////////////////////////////////////////////////////////////
1234
+
1235
+ const HEX_CHARS: Record<string, number> = {
1236
+ '0': 0,
1237
+ '1': 1,
1238
+ '2': 2,
1239
+ '3': 3,
1240
+ '4': 4,
1241
+ '5': 5,
1242
+ '6': 6,
1243
+ '7': 7,
1244
+ '8': 8,
1245
+ '9': 9,
1246
+ a: 10,
1247
+ b: 11,
1248
+ c: 12,
1249
+ d: 13,
1250
+ e: 14,
1251
+ f: 15,
1252
+ A: 10,
1253
+ B: 11,
1254
+ C: 12,
1255
+ D: 13,
1256
+ E: 14,
1257
+ F: 15,
1258
+ } as const;
1259
+ Object.freeze(HEX_CHARS);
1260
+
1261
+ const HEX_BYTES: string[] = Array.from({ length: 256 }, (_, i) => i.toString(16).padStart(2, '0'));
1262
+ Object.freeze(HEX_BYTES);
1263
+
1264
+ const HEX_CHARS_CODES = new Uint8Array([
1265
+ 48,
1266
+ 49,
1267
+ 50,
1268
+ 51,
1269
+ 52,
1270
+ 53,
1271
+ 54,
1272
+ 55,
1273
+ 56,
1274
+ 57, // '0'-'9'
1275
+ 97,
1276
+ 98,
1277
+ 99,
1278
+ 100,
1279
+ 101,
1280
+ 102, // 'a'-'f'
1281
+ ]);
1282
+
1283
+ /**
1284
+ * Convert a Uint8Array to a hex string (without 0x prefix).
1285
+ *
1286
+ * @param bytes - The byte array to convert. If `undefined` or empty, returns `""`.
1287
+ * @returns A lowercase hex string with even length (2 chars per byte), without `0x` prefix.
1288
+ *
1289
+ * @example
1290
+ * bytesToHexNo0x(new Uint8Array([0x48, 0x65])) // "4865"
1291
+ * bytesToHexNo0x(new Uint8Array([0x0a])) // "0a"
1292
+ * bytesToHexNo0x(undefined) // ""
1293
+ * bytesToHexNo0x(new Uint8Array([])) // ""
1294
+ */
1295
+ export function bytesToHexNo0x(bytes: Uint8Array | undefined): BytesHexNo0x {
1296
+ if (!bytes || bytes.length === 0) {
1297
+ return '' as BytesHexNo0x;
1298
+ }
1299
+ let hex = '';
1300
+ for (const byte of bytes) {
1301
+ hex += byte.toString(16).padStart(2, '0');
1302
+ }
1303
+ return hex as BytesHexNo0x;
1304
+ }
1305
+
1306
+ /**
1307
+ * Convert a Uint8Array to a `0x`-prefixed hex string.
1308
+ *
1309
+ * @param bytes - The byte array to convert. If `undefined` or empty, returns `"0x"`.
1310
+ * @returns A lowercase `0x`-prefixed hex string with even length (2 chars per byte after prefix).
1311
+ *
1312
+ * @example
1313
+ * bytesToHex(new Uint8Array([0x48, 0x65])) // "0x4865"
1314
+ * bytesToHex(new Uint8Array([0x0a])) // "0x0a"
1315
+ * bytesToHex(undefined) // "0x"
1316
+ * bytesToHex(new Uint8Array([])) // "0x"
1317
+ */
1318
+ export function bytesToHex(bytes: Uint8Array | undefined): BytesHex {
1319
+ return `0x${bytesToHexNo0x(bytes)}` as BytesHex;
1320
+ }
1321
+
1322
+ ////////////////////////////////////////////////////////////////////////////////
1323
+
1324
+ /**
1325
+ * Convert a 1-byte long Uint8Array to a 0x prefixed hex string (length=4)
1326
+ */
1327
+ export function bytes1ToHex(bytes: unknown): Bytes1Hex {
1328
+ if (!isBytes1(bytes)) {
1329
+ throw new Error('Invalid bytes1 argument');
1330
+ }
1331
+ return `0x${bytesToHexNo0x(bytes)}` as Bytes1Hex;
1332
+ }
1333
+
1334
+ /**
1335
+ * Convert a 8-bytes long Uint8Array to a 0x prefixed hex string (length=18)
1336
+ */
1337
+ export function bytes8ToHex(bytes: unknown): Bytes8Hex {
1338
+ if (!isBytes8(bytes)) {
1339
+ throw new Error('Invalid bytes8 argument');
1340
+ }
1341
+ return `0x${bytesToHexNo0x(bytes)}` as Bytes8Hex;
1342
+ }
1343
+
1344
+ /**
1345
+ * Convert a 20-bytes long Uint8Array to a 0x prefixed hex string (length=42)
1346
+ */
1347
+ export function bytes20ToHex(bytes: unknown): Bytes20Hex {
1348
+ if (!isBytes20(bytes)) {
1349
+ throw new Error('Invalid bytes20 argument');
1350
+ }
1351
+ return `0x${bytesToHexNo0x(bytes)}` as Bytes20Hex;
1352
+ }
1353
+
1354
+ /**
1355
+ * Convert a 21-bytes long Uint8Array to a 0x prefixed hex string (length=44)
1356
+ */
1357
+ export function bytes21ToHex(bytes: unknown): Bytes21Hex {
1358
+ if (!isBytes21(bytes)) {
1359
+ throw new Error('Invalid bytes21 argument');
1360
+ }
1361
+ return `0x${bytesToHexNo0x(bytes)}` as Bytes21Hex;
1362
+ }
1363
+
1364
+ /**
1365
+ * Convert a 32-bytes long Uint8Array to a 0x prefixed hex string (length=66).
1366
+ *
1367
+ * @param bytes - Input to convert (asserted to be Bytes32)
1368
+ * @returns Hex string with 0x prefix
1369
+ * @throws Error if bytes is not a valid 32-byte Uint8Array
1370
+ */
1371
+ export function bytes32ToHex(bytes: unknown): Bytes32Hex {
1372
+ if (!isBytes32(bytes)) {
1373
+ throw new Error('Invalid bytes32 argument');
1374
+ }
1375
+ return `0x${bytesToHexNo0x(bytes)}` as Bytes32Hex;
1376
+ }
1377
+
1378
+ /**
1379
+ * Convert a 65-bytes long Uint8Array to a 0x prefixed hex string (length=132)
1380
+ */
1381
+ export function bytes65ToHex(bytes: Uint8Array | undefined): Bytes65Hex {
1382
+ if (!isBytes65(bytes)) {
1383
+ throw new Error('Invalid bytes65 argument');
1384
+ }
1385
+ return `0x${bytesToHexNo0x(bytes)}` as Bytes65Hex;
1386
+ }
1387
+
1388
+ ////////////////////////////////////////////////////////////////////////////////
1389
+
1390
+ /**
1391
+ * Converts a Uint8Array to a hex string, optimized for large byte arrays.
1392
+ *
1393
+ * Unlike {@link bytesToHex}, this function avoids `Array.from` and string
1394
+ * concatenation, making it more efficient for large inputs.
1395
+ *
1396
+ * @param bytes - The byte array to convert
1397
+ * @param no0x - If `true`, returns the hex string without the `0x` prefix
1398
+ * @returns The hex string representation of the bytes
1399
+ * @example bytesToHexLarge(new Uint8Array([255, 0]), false) // '0xff00'
1400
+ * @example bytesToHexLarge(new Uint8Array([255, 0]), true) // 'ff00'
1401
+ */
1402
+ export function bytesToHexLarge(bytes: Uint8Array, no0x: true): BytesHexNo0x;
1403
+ export function bytesToHexLarge(bytes: Uint8Array, no0x?: false): BytesHex;
1404
+ export function bytesToHexLarge(bytes: Uint8Array, no0x?: boolean): BytesHex | BytesHexNo0x {
1405
+ const len = no0x === true ? bytes.length * 2 : bytes.length * 2 + 2;
1406
+ const out = new Uint8Array(len);
1407
+
1408
+ let i0 = 0;
1409
+ if (no0x !== true) {
1410
+ out[0] = 48; // '0'
1411
+ out[1] = 120; // 'x'
1412
+ i0 = 2;
1413
+ }
1414
+
1415
+ let j = i0;
1416
+ for (const byte of bytes) {
1417
+ // byte >> 4 is always 0–15, byte & 0xf is always 0–15
1418
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
1419
+ out[j] = HEX_CHARS_CODES[byte >> 4]!;
1420
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
1421
+ out[j + 1] = HEX_CHARS_CODES[byte & 0xf]!;
1422
+ j += 2;
1423
+ }
1424
+
1425
+ const txt = new TextDecoder().decode(out);
1426
+ if (no0x === true) {
1427
+ return txt as BytesHexNo0x;
1428
+ } else {
1429
+ return txt as BytesHex;
1430
+ }
1431
+ }
1432
+
1433
+ /**
1434
+ * Convert a hex string prefixed by 0x or not to a Uint8Array
1435
+ * Any invalid byte string is converted to 0
1436
+ * "0xzzff" = [0, 255]
1437
+ * "0xzfff" = [0, 255]
1438
+ */
1439
+ export function hexToBytes(hexString: string): Uint8Array {
1440
+ if (hexString.length % 2 !== 0) {
1441
+ throw new Error('Invalid hex string: odd length');
1442
+ }
1443
+ const arr = hexString.replace(/^(0x)/, '').match(/.{1,2}/g);
1444
+ if (!arr) return new Uint8Array();
1445
+ return Uint8Array.from(arr.map((byte) => parseInt(byte, 16)));
1446
+ }
1447
+
1448
+ /**
1449
+ * Convert a hex string (with or without 0x prefix) to a 1-byte Uint8Array.
1450
+ * Left-pads with zeros if shorter than 1 byte.
1451
+ * Empty string or "0x" returns 1 zero byte.
1452
+ *
1453
+ * @param hexString - Hex string with or without 0x prefix
1454
+ * @returns 1-byte Uint8Array
1455
+ * @throws Error if hex string has odd length or exceeds 2 hex characters
1456
+ *
1457
+ * @example
1458
+ * // Full 1-byte input
1459
+ * hexToBytes1("0xff") // Uint8Array [255]
1460
+ *
1461
+ * @example
1462
+ * // Empty input - returns 1 zero byte
1463
+ * hexToBytes1("") // Uint8Array [0]
1464
+ * hexToBytes1("0x") // Uint8Array [0]
1465
+ */
1466
+ export function hexToBytes1(hexString: string): Bytes1 {
1467
+ const hex = remove0x(hexString);
1468
+ if (hex.length % 2 !== 0 || hex.length > 2) {
1469
+ throw new Error('Invalid bytes1 hex string');
1470
+ }
1471
+
1472
+ return hexToBytes('0x' + hex.padStart(2, '0')) as Bytes1;
1473
+ }
1474
+
1475
+ /**
1476
+ * Convert a hex string (with or without 0x prefix) to an 8-byte Uint8Array.
1477
+ * Left-pads with zeros if shorter than 8 bytes.
1478
+ * Empty string or "0x" returns 8 zero bytes.
1479
+ *
1480
+ * @param hexString - Hex string with or without 0x prefix
1481
+ * @returns 8-byte Uint8Array
1482
+ * @throws Error if hex string has odd length or exceeds 16 hex characters
1483
+ *
1484
+ * @example
1485
+ * // Full 8-byte input
1486
+ * hexToBytes8("0x0102030405060708") // Uint8Array [1,2,3,4,5,6,7,8]
1487
+ *
1488
+ * @example
1489
+ * // Short input - left-padded with zeros
1490
+ * hexToBytes8("0x1234") // Uint8Array [0,0,0,0,0,0,0x12,0x34]
1491
+ * hexToBytes8("1234") // Same result, 0x prefix optional
1492
+ * hexToBytes8("0xff") // Uint8Array [0,0,0,0,0,0,0,255]
1493
+ *
1494
+ * @example
1495
+ * // Empty input - returns 8 zero bytes
1496
+ * hexToBytes8("") // Uint8Array [0,0,0,0,0,0,0,0]
1497
+ * hexToBytes8("0x") // Uint8Array [0,0,0,0,0,0,0,0]
1498
+ */
1499
+ export function hexToBytes8(hexString: string): Bytes8 {
1500
+ const hex = remove0x(hexString);
1501
+ if (hex.length % 2 !== 0 || hex.length > 16) {
1502
+ throw new Error('Invalid bytes8 hex string');
1503
+ }
1504
+
1505
+ return hexToBytes('0x' + hex.padStart(16, '0')) as Bytes8;
1506
+ }
1507
+
1508
+ /**
1509
+ * Convert a hex string (with or without 0x prefix) to a 20-byte Uint8Array.
1510
+ * Left-pads with zeros if shorter than 20 bytes.
1511
+ * Empty string or "0x" returns 20 zero bytes.
1512
+ *
1513
+ * @param hexString - Hex string with or without 0x prefix
1514
+ * @returns 20-byte Uint8Array (suitable for Ethereum addresses)
1515
+ * @throws Error if hex string has odd length or exceeds 40 hex characters
1516
+ *
1517
+ * @example
1518
+ * // Full 20-byte address
1519
+ * hexToBytes20("0x742d35Cc6634C0532925a3b844Bc9e7595f8fE00")
1520
+ * // Uint8Array [0x74,0x2d,0x35,...,0xf8,0xfe,0x00]
1521
+ *
1522
+ * @example
1523
+ * // Short input - left-padded with zeros
1524
+ * hexToBytes20("0x1234") // Uint8Array [0,0,...,0,0x12,0x34] (18 zeros + 2 bytes)
1525
+ * hexToBytes20("0xff") // Uint8Array [0,0,...,0,255] (19 zeros + 1 byte)
1526
+ *
1527
+ * @example
1528
+ * // Empty input - returns 20 zero bytes
1529
+ * hexToBytes20("") // Uint8Array [0,0,0,...,0] (20 zeros)
1530
+ * hexToBytes20("0x") // Uint8Array [0,0,0,...,0] (20 zeros)
1531
+ */
1532
+ export function hexToBytes20(hexString: string): Bytes20 {
1533
+ const hex = remove0x(hexString);
1534
+ if (hex.length % 2 !== 0 || hex.length > 40) {
1535
+ throw new Error('Invalid bytes20 hex string');
1536
+ }
1537
+
1538
+ return hexToBytes('0x' + hex.padStart(40, '0')) as Bytes20;
1539
+ }
1540
+
1541
+ /**
1542
+ * Convert a hex string (with or without 0x prefix) to a 21-byte Uint8Array.
1543
+ * Left-pads with zeros if shorter than 21 bytes.
1544
+ * Empty string or "0x" returns 21 zero bytes.
1545
+ *
1546
+ * @param hexString - Hex string with or without 0x prefix
1547
+ * @returns 21-byte Uint8Array
1548
+ * @throws Error if hex string has odd length or exceeds 42 hex characters
1549
+ *
1550
+ * @example
1551
+ * // Full 21-byte input
1552
+ * hexToBytes21("0x01" + "00".repeat(20)) // Uint8Array [1,0,0,...,0] (21 bytes)
1553
+ *
1554
+ * @example
1555
+ * // Short input - left-padded with zeros
1556
+ * hexToBytes21("0x1234") // Uint8Array [0,0,...,0,0x12,0x34] (19 zeros + 2 bytes)
1557
+ * hexToBytes21("0xff") // Uint8Array [0,0,...,0,255] (20 zeros + 1 byte)
1558
+ *
1559
+ * @example
1560
+ * // Empty input - returns 21 zero bytes
1561
+ * hexToBytes21("") // Uint8Array [0,0,0,...,0] (21 zeros)
1562
+ * hexToBytes21("0x") // Uint8Array [0,0,0,...,0] (21 zeros)
1563
+ */
1564
+ export function hexToBytes21(hexString: string): Bytes21 {
1565
+ const hex = remove0x(hexString);
1566
+ if (hex.length % 2 !== 0 || hex.length > 42) {
1567
+ throw new Error('Invalid bytes21 hex string');
1568
+ }
1569
+
1570
+ return hexToBytes('0x' + hex.padStart(42, '0')) as Bytes21;
1571
+ }
1572
+
1573
+ /**
1574
+ * Convert a hex string (with or without 0x prefix) to a 32-byte Uint8Array.
1575
+ * Left-pads with zeros if shorter than 32 bytes.
1576
+ * Empty string or "0x" returns 32 zero bytes.
1577
+ *
1578
+ * @param hexString - Hex string with or without 0x prefix
1579
+ * @returns 32-byte Uint8Array (suitable for hashes, private keys, etc.)
1580
+ * @throws Error if hex string has odd length or exceeds 64 hex characters
1581
+ *
1582
+ * @example
1583
+ * // Full 32-byte hash
1584
+ * hexToBytes32("0xabcdef..." /* 64 hex chars *\/) // Uint8Array [0xab,0xcd,0xef,...]
1585
+ *
1586
+ * @example
1587
+ * // Short input - left-padded with zeros (useful for encoding small numbers)
1588
+ * hexToBytes32("0x1234") // Uint8Array [0,0,...,0,0x12,0x34] (30 zeros + 2 bytes)
1589
+ * hexToBytes32("0x01") // Uint8Array [0,0,...,0,1] (31 zeros + 1 byte)
1590
+ * hexToBytes32("0xff") // Uint8Array [0,0,...,0,255] (31 zeros + 1 byte)
1591
+ *
1592
+ * @example
1593
+ * // Empty input - returns 32 zero bytes
1594
+ * hexToBytes32("") // Uint8Array [0,0,0,...,0] (32 zeros)
1595
+ * hexToBytes32("0x") // Uint8Array [0,0,0,...,0] (32 zeros)
1596
+ */
1597
+ export function hexToBytes32(hexString: string): Bytes32 {
1598
+ const hex = remove0x(hexString);
1599
+ if (hex.length % 2 !== 0 || hex.length > 64) {
1600
+ throw new Error('Invalid bytes32 hex string');
1601
+ }
1602
+
1603
+ return hexToBytes('0x' + hex.padStart(64, '0')) as Bytes32;
1604
+ }
1605
+
1606
+ /**
1607
+ * Convert a hex string (with or without 0x prefix) to a 65-byte Uint8Array.
1608
+ * Left-pads with zeros if shorter than 65 bytes.
1609
+ * Empty string or "0x" returns 65 zero bytes.
1610
+ *
1611
+ * @param hexString - Hex string with or without 0x prefix
1612
+ * @returns 65-byte Uint8Array (suitable for ECDSA signatures with recovery byte)
1613
+ * @throws Error if hex string has odd length or exceeds 130 hex characters
1614
+ *
1615
+ * @example
1616
+ * // Full 65-byte signature (r + s + v)
1617
+ * hexToBytes65("0x" + "ab".repeat(65)) // Uint8Array [0xab,0xab,...] (65 bytes)
1618
+ *
1619
+ * @example
1620
+ * // Short input - left-padded with zeros
1621
+ * hexToBytes65("0x1234") // Uint8Array [0,0,...,0,0x12,0x34] (63 zeros + 2 bytes)
1622
+ * hexToBytes65("0xff") // Uint8Array [0,0,...,0,255] (64 zeros + 1 byte)
1623
+ *
1624
+ * @example
1625
+ * // Empty input - returns 65 zero bytes
1626
+ * hexToBytes65("") // Uint8Array [0,0,0,...,0] (65 zeros)
1627
+ * hexToBytes65("0x") // Uint8Array [0,0,0,...,0] (65 zeros)
1628
+ */
1629
+ export function hexToBytes65(hexString: string): Bytes65 {
1630
+ const hex = remove0x(hexString);
1631
+ if (hex.length % 2 !== 0 || hex.length > 130) {
1632
+ throw new Error('Invalid bytes65 hex string');
1633
+ }
1634
+
1635
+ return hexToBytes('0x' + hex.padStart(130, '0')) as Bytes65;
1636
+ }
1637
+
1638
+ /**
1639
+ * Convert a hex string prefixed by 0x or not to a Uint8Array
1640
+ */
1641
+ export function hexToBytesFaster(
1642
+ hexString: string,
1643
+ options?: {
1644
+ strict?: boolean;
1645
+ byteLength?: ByteLength;
1646
+ subject?: string;
1647
+ } & ErrorMetadataParams,
1648
+ ): Uint8Array {
1649
+ const strict = options?.strict === true;
1650
+ // eslint-disable-next-line @typescript-eslint/prefer-string-starts-ends-with
1651
+ const offset = hexString[0] === '0' && hexString[1] === 'x' ? 2 : 0;
1652
+ const len = hexString.length - offset;
1653
+
1654
+ if (len % 2 !== 0) {
1655
+ throw new InvalidTypeError(
1656
+ {
1657
+ subject: options?.subject,
1658
+ expectedType: 'bytesHex',
1659
+ metaMessages: ['hex string length must be even'],
1660
+ },
1661
+ options ?? {},
1662
+ );
1663
+ }
1664
+
1665
+ if (options?.byteLength !== undefined) {
1666
+ if (len !== options.byteLength) {
1667
+ throw new InvalidTypeError(
1668
+ {
1669
+ subject: options.subject,
1670
+ expectedType: 'bytesHex',
1671
+ metaMessages: [`expected ${options.byteLength} bytes, got ${len / 2}`],
1672
+ },
1673
+ options,
1674
+ );
1675
+ }
1676
+ }
1677
+
1678
+ const bytes = new Uint8Array(len / 2);
1679
+ for (let i = 0; i < bytes.length; i++) {
1680
+ // If index is out of bounds, hexString[] returns undefined which
1681
+ // propagates through HEX_CHARS as undefined, caught by the check below.
1682
+ /* eslint-disable @typescript-eslint/non-nullable-type-assertion-style */
1683
+ const hi = HEX_CHARS[hexString[offset + i * 2] as string];
1684
+ const lo = HEX_CHARS[hexString[offset + i * 2 + 1] as string];
1685
+ /* eslint-enable @typescript-eslint/non-nullable-type-assertion-style */
1686
+ if (hi === undefined || lo === undefined) {
1687
+ if (strict) {
1688
+ throw new InvalidTypeError(
1689
+ {
1690
+ subject: options.subject,
1691
+ expectedType: 'bytesHex',
1692
+ metaMessages: [`invalid hex character at position ${offset + i * 2}`],
1693
+ },
1694
+ options,
1695
+ );
1696
+ }
1697
+ bytes[i] = ((hi ?? 0) << 4) | (lo ?? 0);
1698
+ continue;
1699
+ }
1700
+ bytes[i] = (hi << 4) | lo;
1701
+ }
1702
+
1703
+ return bytes;
1704
+ }
1705
+
1706
+ /**
1707
+ * Convert a Uint8Array to a bigint (big-endian interpretation).
1708
+ * The most significant byte is at index 0.
1709
+ *
1710
+ * @param byteArray - The byte array to convert (big-endian)
1711
+ * @returns The bigint representation of the bytes
1712
+ *
1713
+ * @example
1714
+ * // Standard conversion (big-endian)
1715
+ * bytesToBigInt(new Uint8Array([0x01, 0x00])) // 256n (0x0100)
1716
+ * bytesToBigInt(new Uint8Array([0xff])) // 255n
1717
+ * bytesToBigInt(new Uint8Array([0x01, 0x02, 0x03])) // 66051n (0x010203)
1718
+ *
1719
+ * @example
1720
+ * // Edge cases
1721
+ * bytesToBigInt(new Uint8Array([])) // 0n
1722
+ * bytesToBigInt(new Uint8Array([0])) // 0n
1723
+ * bytesToBigInt(undefined) // 0n
1724
+ *
1725
+ * @example
1726
+ * // 32-byte value (e.g., uint256)
1727
+ * const bytes32 = new Uint8Array(32);
1728
+ * bytes32[31] = 0x2a; // 42 in last byte
1729
+ * bytesToBigInt(bytes32) // 42n
1730
+ */
1731
+ export function bytesToBigInt(byteArray: Uint8Array | undefined): UintBigInt {
1732
+ if (!byteArray || byteArray.length === 0) {
1733
+ return BigInt(0) as UintBigInt;
1734
+ }
1735
+ let result = BigInt(0);
1736
+ for (const byte of byteArray) {
1737
+ result = (result << BigInt(8)) | BigInt(byte);
1738
+ }
1739
+ return result as UintBigInt;
1740
+ }
1741
+
1742
+ /**
1743
+ * Converts a non-negative bigint to a `0x`-prefixed hex string.
1744
+ *
1745
+ * When `byteLength` is provided, the output is zero-padded to exactly
1746
+ * that many bytes and an overflow check is performed.
1747
+ * When omitted, the output is the minimal even-length hex representation.
1748
+ *
1749
+ * @param value - Non-negative bigint to convert
1750
+ * @param options.byteLength - Fixed byte width (enables zero-padding and overflow check)
1751
+ * @param options.subject - Name used in error messages
1752
+ * @returns `0x`-prefixed hex string
1753
+ * @throws {InvalidTypeError} If value is negative or exceeds the byte length
1754
+ *
1755
+ * @example
1756
+ * ```typescript
1757
+ * bigIntToBytesHex(0n) // '0x00'
1758
+ * bigIntToBytesHex(255n) // '0xff'
1759
+ * bigIntToBytesHex(256n) // '0x0100'
1760
+ * bigIntToBytesHex(1n, { byteLength: 4 }) // '0x00000001'
1761
+ * bigIntToBytesHex(255n, { byteLength: 1 }) // '0xff'
1762
+ * bigIntToBytesHex(256n, { byteLength: 1 }) // throws (overflow)
1763
+ * bigIntToBytesHex(-1n) // throws (negative)
1764
+ * ```
1765
+ */
1766
+ export function bigIntToBytesHex(
1767
+ value: bigint,
1768
+ options: { byteLength: 1; subject?: string } & ErrorMetadataParams,
1769
+ ): Bytes1Hex;
1770
+ export function bigIntToBytesHex(
1771
+ value: bigint,
1772
+ options: { byteLength: 8; subject?: string } & ErrorMetadataParams,
1773
+ ): Bytes8Hex;
1774
+ export function bigIntToBytesHex(
1775
+ value: bigint,
1776
+ options: { byteLength: 20; subject?: string } & ErrorMetadataParams,
1777
+ ): Bytes20Hex;
1778
+ export function bigIntToBytesHex(
1779
+ value: bigint,
1780
+ options: { byteLength: 32; subject?: string } & ErrorMetadataParams,
1781
+ ): Bytes32Hex;
1782
+ export function bigIntToBytesHex(
1783
+ value: bigint,
1784
+ options?: {
1785
+ byteLength?: 1 | 2 | 4 | 8 | 16 | 20 | 32;
1786
+ subject?: string;
1787
+ } & ErrorMetadataParams,
1788
+ ): BytesHex;
1789
+ export function bigIntToBytesHex(
1790
+ value: bigint,
1791
+ options?: {
1792
+ byteLength?: 1 | 2 | 4 | 8 | 16 | 20 | 32;
1793
+ subject?: string;
1794
+ } & ErrorMetadataParams,
1795
+ ): BytesHex {
1796
+ const byteLength = options?.byteLength;
1797
+
1798
+ // checks overflow and negative values
1799
+ if (!isUintForByteLength(value, byteLength)) {
1800
+ throw new InvalidTypeError(
1801
+ {
1802
+ subject: options?.subject,
1803
+ type: typeof value,
1804
+ expectedType: 'uintBigInt',
1805
+ },
1806
+ options ?? {},
1807
+ );
1808
+ }
1809
+
1810
+ let v = value.toString(16);
1811
+
1812
+ if (byteLength !== undefined) {
1813
+ v = v.padStart(byteLength * 2, '0');
1814
+ }
1815
+
1816
+ if (v.length % 2 !== 0) {
1817
+ return ('0x0' + v) as BytesHex;
1818
+ }
1819
+
1820
+ return ('0x' + v) as BytesHex;
1821
+ }
1822
+
1823
+ /**
1824
+ * Converts an array of Bytes32 or Bytes32Hex values to a uniform Bytes32Hex array.
1825
+ * Accepts mixed input: both 32-byte Uint8Arrays and hex strings are normalized to Bytes32Hex.
1826
+ *
1827
+ * @param arr - Array of Bytes32 (Uint8Array) or Bytes32Hex (string) or Bytes32HexAble values.
1828
+ * @returns Array of Bytes32Hex strings.
1829
+ */
1830
+ export function toBytes32HexArray(arr: readonly unknown[]): Bytes32Hex[] {
1831
+ return arr.map((b) => {
1832
+ if (typeof b === 'string') {
1833
+ return asBytes32Hex(b);
1834
+ } else if (isBytes(b)) {
1835
+ return bytesToHexLarge(asBytes32(b)) as Bytes32Hex;
1836
+ } else if (typeof b === 'object' && b !== null && 'bytes32Hex' in b) {
1837
+ // Bytes32HexAble
1838
+ return asBytes32Hex((b as Record<string, unknown>).bytes32Hex);
1839
+ } else {
1840
+ throw new InvalidTypeError(
1841
+ {
1842
+ expectedType: 'bytes32Hex[]',
1843
+ },
1844
+ {},
1845
+ );
1846
+ }
1847
+ });
1848
+ }
1849
+
1850
+ /**
1851
+ * Converts a Bytes32 or Bytes32Hex values to a Bytes32.
1852
+ * Accepts mixed input: both 32-byte Uint8Arrays and hex strings are normalized to Bytes32.
1853
+ */
1854
+ export function toBytes32(value: unknown): Bytes32 {
1855
+ if (isBytes(value)) {
1856
+ return asBytes32(value);
1857
+ } else if (typeof value === 'string') {
1858
+ return hexToBytes32(asBytes32Hex(value));
1859
+ } else if (
1860
+ // Bytes32Able
1861
+ typeof value === 'object' &&
1862
+ value !== null &&
1863
+ 'bytes32' in value
1864
+ ) {
1865
+ return asBytes32((value as Record<string, unknown>).bytes32);
1866
+ } else {
1867
+ throw new InvalidTypeError(
1868
+ {
1869
+ expectedType: 'bytes32',
1870
+ },
1871
+ {},
1872
+ );
1873
+ }
1874
+ }
1875
+
1876
+ /**
1877
+ * Converts a Bytes or BytesHex values to a Bytes.
1878
+ * Accepts mixed input: both n-byte Uint8Arrays and hex strings are normalized to Bytes.
1879
+ */
1880
+ export function toBytes(
1881
+ value: unknown,
1882
+ options?: {
1883
+ byteLength?: ByteLength;
1884
+ subject?: string;
1885
+ copy?: boolean;
1886
+ } & ErrorMetadataParams,
1887
+ ): Bytes {
1888
+ if (isBytes(value)) {
1889
+ if (options?.copy === true) {
1890
+ return new Uint8Array(value);
1891
+ }
1892
+ return value;
1893
+ } else if (typeof value === 'string') {
1894
+ return hexToBytesFaster(value, { strict: true });
1895
+ } else {
1896
+ throw new InvalidTypeError(
1897
+ {
1898
+ subject: options?.subject,
1899
+ expectedType: ['bytes', 'bytesHex', 'bytesHexNo0x'],
1900
+ },
1901
+ options ?? {},
1902
+ );
1903
+ }
1904
+ }
1905
+
1906
+ export function concatBytes(...arrays: Uint8Array[]): Uint8Array {
1907
+ let totalLength = 0;
1908
+ for (const arr of arrays) {
1909
+ totalLength += arr.length;
1910
+ }
1911
+
1912
+ const result = new Uint8Array(totalLength);
1913
+ let offset = 0;
1914
+
1915
+ for (const arr of arrays) {
1916
+ result.set(arr, offset);
1917
+ offset += arr.length;
1918
+ }
1919
+
1920
+ return result;
1921
+ }
1922
+
1923
+ export function concatBytesHex(values: BytesHex[]): BytesHex {
1924
+ return ('0x' + values.map((v) => v.substring(2)).join('')) as BytesHex;
1925
+ }
1926
+
1927
+ /**
1928
+ * Compares two byte arrays for equality.
1929
+ *
1930
+ * **⚠️ WARNING: NOT TIMING-SAFE**
1931
+ *
1932
+ * This function uses early-exit comparison which leaks timing information
1933
+ * about where the first difference occurs. Do NOT use for comparing:
1934
+ * - Secret keys or passwords
1935
+ * - HMACs or authentication tags
1936
+ * - Any security-sensitive data
1937
+ *
1938
+ * For security-sensitive comparisons, use a timing-safe equals function instead.
1939
+ *
1940
+ * @param a - First byte array
1941
+ * @param b - Second byte array
1942
+ * @returns true if arrays are equal, false otherwise
1943
+ */
1944
+ export function unsafeBytesEquals(a: unknown, b: unknown): boolean {
1945
+ if (!isBytes(a) || !isBytes(b)) {
1946
+ return false;
1947
+ }
1948
+ if (a.length !== b.length) {
1949
+ return false;
1950
+ }
1951
+ for (let i = 0; i < a.length; ++i) {
1952
+ if (a[i] !== b[i]) {
1953
+ return false;
1954
+ }
1955
+ }
1956
+ return true;
1957
+ }
1958
+
1959
+ /**
1960
+ * Normalizes byte-like values to a Uint8Array.
1961
+ *
1962
+ * Handles both same-realm and cross-realm inputs (e.g., from iframes or
1963
+ * different JavaScript contexts).
1964
+ *
1965
+ * Supported input types:
1966
+ * - `Uint8Array` - returned as-is (same-realm) or re-wrapped (cross-realm)
1967
+ * - `ArrayBuffer` - wrapped in a new Uint8Array
1968
+ *
1969
+ * Other TypedArray types (Uint16Array, Int32Array, etc.) are explicitly
1970
+ * rejected to prevent silent endianness-dependent byte reinterpretation.
1971
+ *
1972
+ * @param value - The value to normalize
1973
+ * @returns A `Uint8Array` representing the bytes
1974
+ * @throws `TypeError` If the value is not a Uint8Array or ArrayBuffer
1975
+ *
1976
+ * @example
1977
+ * ```ts
1978
+ * normalizeBytes(new Uint8Array([1, 2, 3])); // ✅ returns as-is
1979
+ * normalizeBytes(new ArrayBuffer(8)); // ✅ wraps in Uint8Array
1980
+ * normalizeBytes(new Uint16Array([1, 2])); // ❌ throws TypeError
1981
+ * normalizeBytes(iframeUint8Array); // ✅ cross-realm supported
1982
+ * ```
1983
+ */
1984
+ export function normalizeBytes(value: unknown): Bytes {
1985
+ // same realm Uint8Array
1986
+ if (value instanceof Uint8Array) return value;
1987
+ // same realm ArrayBuffer
1988
+ if (value instanceof ArrayBuffer) return new Uint8Array(value);
1989
+
1990
+ const tag = Object.prototype.toString.call(value);
1991
+
1992
+ // cross realm Uint8Array
1993
+ if (ArrayBuffer.isView(value) && tag === '[object Uint8Array]') {
1994
+ return new Uint8Array(value.buffer, value.byteOffset, value.byteLength);
1995
+ }
1996
+ // cross realm ArrayBuffer
1997
+ if (tag === '[object ArrayBuffer]') {
1998
+ return new Uint8Array(value as ArrayBuffer);
1999
+ }
2000
+
2001
+ throw new TypeError(`Unsupported bytes type: ${tag}`);
2002
+ }
2003
+
2004
+ /**
2005
+ * Extracts a single byte from a bytes array at the given byte position.
2006
+ * @param bytes - The bytes array (Uint8Array)
2007
+ * @param position - Byte position (0-indexed)
2008
+ * @returns The byte value as Uint8Number (0-255)
2009
+ * @throws RangeError if position is out of bounds
2010
+ */
2011
+ export function bytesUint8At(bytes: Bytes, position: Uint8Number): Uint8Number {
2012
+ if (position >= bytes.length) {
2013
+ throw new RangeError(`Position ${position} out of bounds for bytes of length ${bytes.length}`);
2014
+ }
2015
+ return bytes[position] as Uint8Number;
2016
+ }
2017
+
2018
+ /**
2019
+ * Extracts a single byte from a 0x-hex string at the given byte position.
2020
+ * @param bytesHex - The hex string (0x-prefixed)
2021
+ * @param position - Byte position (0-indexed)
2022
+ * @throws `RangeError` if position is out of bounds
2023
+ */
2024
+ export function bytesHexUint8At(bytesHex: BytesHex, position: Uint8Number): Uint8Number {
2025
+ const bytes1Hex: Bytes1Hex = bytesHexSlice(bytesHex, position, 1);
2026
+ return parseInt(bytes1Hex, 16) as Uint8Number;
2027
+ }
2028
+
2029
+ /**
2030
+ * Extracts a Uint64 (8 bytes) from a 0x-hex string at the given byte position.
2031
+ * @param bytesHex - The hex string (0x-prefixed)
2032
+ * @param position - Byte position (0-indexed)
2033
+ * @throws `RangeError` if position is out of bounds
2034
+ */
2035
+ export function bytesHexUint64At(bytesHex: BytesHex, position: Uint8Number): Uint64BigInt {
2036
+ const bytes8Hex: Bytes8Hex = bytesHexSlice(bytesHex, position, 8);
2037
+ return BigInt(bytes8Hex) as Uint64BigInt;
2038
+ }
2039
+
2040
+ /**
2041
+ * Extracts a slice of bytes from a hex string starting at the given byte position.
2042
+ * @param bytesHex - The hex string (0x-prefixed)
2043
+ * @param position - Starting byte position (0-indexed)
2044
+ * @param length - Number of bytes to extract (1, 8, 20, 21, 32, 65 for typed result, or any number for BytesHex)
2045
+ * @throws `RangeError` if position + length is out of bounds
2046
+ */
2047
+ export function bytesHexSlice(bytesHex: BytesHex, position: Uint8Number, length: 1): Bytes1Hex;
2048
+ export function bytesHexSlice(bytesHex: BytesHex, position: Uint8Number, length: 8): Bytes8Hex;
2049
+ export function bytesHexSlice(bytesHex: BytesHex, position: Uint8Number, length: 20): Bytes20Hex;
2050
+ export function bytesHexSlice(bytesHex: BytesHex, position: Uint8Number, length: 21): Bytes21Hex;
2051
+ export function bytesHexSlice(bytesHex: BytesHex, position: Uint8Number, length: 32): Bytes32Hex;
2052
+ export function bytesHexSlice(bytesHex: BytesHex, position: Uint8Number, length: 65): Bytes65Hex;
2053
+ export function bytesHexSlice(bytesHex: BytesHex, position: Uint8Number, length: UintNumber): BytesHex;
2054
+ export function bytesHexSlice(bytesHex: BytesHex, position: Uint8Number, length: number): BytesHex {
2055
+ const index = 2 + position * 2;
2056
+ if (index + 2 * length > bytesHex.length) {
2057
+ throw new RangeError(`Position ${position} with length ${length} out of bounds`);
2058
+ }
2059
+ return `0x${bytesHex.slice(index, index + 2 * length)}` as BytesHex;
2060
+ }