ox 0.1.1 → 0.1.3

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 (990) hide show
  1. package/Abi/package.json +3 -3
  2. package/AbiConstructor/package.json +3 -3
  3. package/AbiError/package.json +3 -3
  4. package/AbiEvent/package.json +3 -3
  5. package/AbiFunction/package.json +3 -3
  6. package/AbiItem/package.json +3 -3
  7. package/AbiParameters/package.json +3 -3
  8. package/AccessList/package.json +3 -3
  9. package/AccountProof/package.json +3 -3
  10. package/Address/package.json +3 -3
  11. package/AesGcm/package.json +3 -3
  12. package/Authorization/package.json +3 -3
  13. package/Base58/package.json +3 -3
  14. package/Base64/package.json +3 -3
  15. package/Blobs/package.json +3 -3
  16. package/Block/package.json +3 -3
  17. package/Bloom/package.json +3 -3
  18. package/Bls/package.json +3 -3
  19. package/BlsPoint/package.json +3 -3
  20. package/Bytes/package.json +3 -3
  21. package/CHANGELOG.md +12 -0
  22. package/Caches/package.json +3 -3
  23. package/ContractAddress/package.json +3 -3
  24. package/Ens/package.json +3 -3
  25. package/Errors/package.json +3 -3
  26. package/Fee/package.json +3 -3
  27. package/Filter/package.json +3 -3
  28. package/Hash/package.json +3 -3
  29. package/HdKey/package.json +3 -3
  30. package/Hex/package.json +3 -3
  31. package/Json/package.json +3 -3
  32. package/Kzg/package.json +3 -3
  33. package/Log/package.json +3 -3
  34. package/Mnemonic/package.json +3 -3
  35. package/P256/package.json +3 -3
  36. package/PersonalMessage/package.json +3 -3
  37. package/Provider/package.json +3 -3
  38. package/PublicKey/package.json +3 -3
  39. package/Rlp/package.json +3 -3
  40. package/RpcRequest/package.json +3 -3
  41. package/RpcResponse/package.json +3 -3
  42. package/RpcSchema/package.json +3 -3
  43. package/RpcTransport/package.json +3 -3
  44. package/Secp256k1/package.json +3 -3
  45. package/Signature/package.json +3 -3
  46. package/Siwe/package.json +3 -3
  47. package/Solidity/package.json +3 -3
  48. package/Transaction/package.json +3 -3
  49. package/TransactionEnvelope/package.json +3 -3
  50. package/TransactionEnvelopeEip1559/package.json +3 -3
  51. package/TransactionEnvelopeEip2930/package.json +3 -3
  52. package/TransactionEnvelopeEip4844/package.json +3 -3
  53. package/TransactionEnvelopeEip7702/package.json +3 -3
  54. package/TransactionEnvelopeLegacy/package.json +3 -3
  55. package/TransactionReceipt/package.json +3 -3
  56. package/TransactionRequest/package.json +3 -3
  57. package/TypedData/package.json +3 -3
  58. package/ValidatorData/package.json +3 -3
  59. package/Value/package.json +3 -3
  60. package/WebAuthnP256/package.json +3 -3
  61. package/WebCryptoP256/package.json +3 -3
  62. package/Withdrawal/package.json +3 -3
  63. package/_cjs/core/Abi.js.map +1 -0
  64. package/_cjs/core/AbiConstructor.js.map +1 -0
  65. package/_cjs/core/AbiError.js.map +1 -0
  66. package/_cjs/core/AbiEvent.js.map +1 -0
  67. package/_cjs/core/AbiFunction.js.map +1 -0
  68. package/_cjs/core/AbiItem.js.map +1 -0
  69. package/_cjs/core/AbiParameters.js.map +1 -0
  70. package/_cjs/core/AccessList.js.map +1 -0
  71. package/_cjs/core/AccountProof.js.map +1 -0
  72. package/_cjs/core/Address.js.map +1 -0
  73. package/_cjs/core/AesGcm.js.map +1 -0
  74. package/_cjs/core/Authorization.js.map +1 -0
  75. package/_cjs/core/Base58.js.map +1 -0
  76. package/_cjs/core/Base64.js.map +1 -0
  77. package/_cjs/core/Blobs.js.map +1 -0
  78. package/_cjs/core/Block.js.map +1 -0
  79. package/_cjs/core/Bloom.js.map +1 -0
  80. package/_cjs/core/Bls.js.map +1 -0
  81. package/_cjs/core/BlsPoint.js.map +1 -0
  82. package/_cjs/core/Bytes.js +279 -0
  83. package/_cjs/core/Bytes.js.map +1 -0
  84. package/_cjs/core/Caches.js.map +1 -0
  85. package/_cjs/core/ContractAddress.js.map +1 -0
  86. package/_cjs/core/Ens.js.map +1 -0
  87. package/_cjs/core/Errors.js.map +1 -0
  88. package/_cjs/core/Fee.js.map +1 -0
  89. package/_cjs/core/Filter.js.map +1 -0
  90. package/_cjs/core/Hash.js.map +1 -0
  91. package/_cjs/core/HdKey.js.map +1 -0
  92. package/_cjs/core/Hex.js +324 -0
  93. package/_cjs/core/Hex.js.map +1 -0
  94. package/_cjs/core/Json.js.map +1 -0
  95. package/_cjs/core/Kzg.js.map +1 -0
  96. package/_cjs/core/Log.js.map +1 -0
  97. package/_cjs/core/Mnemonic.js.map +1 -0
  98. package/_cjs/core/P256.js.map +1 -0
  99. package/_cjs/core/PersonalMessage.js.map +1 -0
  100. package/_cjs/core/Provider.js.map +1 -0
  101. package/_cjs/core/PublicKey.js.map +1 -0
  102. package/_cjs/core/Rlp.js.map +1 -0
  103. package/_cjs/core/RpcRequest.js.map +1 -0
  104. package/_cjs/core/RpcResponse.js.map +1 -0
  105. package/_cjs/core/RpcSchema.js.map +1 -0
  106. package/_cjs/core/RpcTransport.js.map +1 -0
  107. package/_cjs/core/Secp256k1.js.map +1 -0
  108. package/_cjs/core/Signature.js.map +1 -0
  109. package/_cjs/core/Siwe.js.map +1 -0
  110. package/_cjs/core/Solidity.js.map +1 -0
  111. package/_cjs/core/Transaction.js.map +1 -0
  112. package/_cjs/core/TransactionEnvelope.js.map +1 -0
  113. package/_cjs/core/TransactionEnvelopeEip1559.js.map +1 -0
  114. package/_cjs/core/TransactionEnvelopeEip2930.js.map +1 -0
  115. package/_cjs/core/TransactionEnvelopeEip4844.js.map +1 -0
  116. package/_cjs/core/TransactionEnvelopeEip7702.js.map +1 -0
  117. package/_cjs/core/TransactionEnvelopeLegacy.js.map +1 -0
  118. package/_cjs/core/TransactionReceipt.js.map +1 -0
  119. package/_cjs/core/TransactionRequest.js.map +1 -0
  120. package/_cjs/core/TypedData.js.map +1 -0
  121. package/_cjs/core/ValidatorData.js.map +1 -0
  122. package/_cjs/core/Value.js.map +1 -0
  123. package/_cjs/core/WebAuthnP256.js.map +1 -0
  124. package/_cjs/core/WebCryptoP256.js.map +1 -0
  125. package/_cjs/core/Withdrawal.js.map +1 -0
  126. package/_cjs/core/internal/abi.js.map +1 -0
  127. package/_cjs/core/internal/abiConstructor.js.map +1 -0
  128. package/_cjs/core/internal/abiError.js.map +1 -0
  129. package/_cjs/core/internal/abiEvent.js.map +1 -0
  130. package/_cjs/core/internal/abiFunction.js.map +1 -0
  131. package/_cjs/core/internal/abiItem.js.map +1 -0
  132. package/_cjs/core/internal/abiParameters.js.map +1 -0
  133. package/_cjs/core/internal/base58.js.map +1 -0
  134. package/_cjs/core/internal/bytes.js.map +1 -0
  135. package/_cjs/core/internal/cursor.js.map +1 -0
  136. package/_cjs/core/internal/ens.js +43 -0
  137. package/_cjs/core/internal/ens.js.map +1 -0
  138. package/_cjs/core/internal/errors.js.map +1 -0
  139. package/_cjs/core/internal/hdKey.js.map +1 -0
  140. package/_cjs/core/internal/hex.js.map +1 -0
  141. package/_cjs/core/internal/lru.js.map +1 -0
  142. package/_cjs/core/internal/mnemonic/wordlists.js.map +1 -0
  143. package/_cjs/core/internal/promise.js.map +1 -0
  144. package/_cjs/core/internal/register.js.map +1 -0
  145. package/_cjs/core/internal/rpcSchema.js.map +1 -0
  146. package/_cjs/core/internal/rpcSchemas/eth.js.map +1 -0
  147. package/_cjs/core/internal/rpcSchemas/wallet.js.map +1 -0
  148. package/_cjs/core/internal/rpcTransport.js.map +1 -0
  149. package/_cjs/core/internal/types.js.map +1 -0
  150. package/_cjs/core/internal/uid.js.map +1 -0
  151. package/_cjs/core/internal/webauthn.js.map +1 -0
  152. package/_cjs/core/version.js +5 -0
  153. package/_cjs/core/version.js.map +1 -0
  154. package/_cjs/index.js +61 -61
  155. package/_cjs/index.js.map +1 -1
  156. package/_cjs/version.js +1 -1
  157. package/_esm/core/Abi.js.map +1 -0
  158. package/_esm/core/AbiConstructor.js.map +1 -0
  159. package/_esm/core/AbiError.js.map +1 -0
  160. package/_esm/core/AbiEvent.js.map +1 -0
  161. package/_esm/core/AbiFunction.js.map +1 -0
  162. package/_esm/core/AbiItem.js.map +1 -0
  163. package/_esm/core/AbiParameters.js.map +1 -0
  164. package/_esm/core/AccessList.js.map +1 -0
  165. package/_esm/core/AccountProof.js.map +1 -0
  166. package/_esm/core/Address.js.map +1 -0
  167. package/_esm/core/AesGcm.js.map +1 -0
  168. package/_esm/core/Authorization.js.map +1 -0
  169. package/_esm/core/Base58.js.map +1 -0
  170. package/_esm/core/Base64.js.map +1 -0
  171. package/_esm/core/Blobs.js.map +1 -0
  172. package/_esm/core/Block.js.map +1 -0
  173. package/_esm/core/Bloom.js.map +1 -0
  174. package/_esm/core/Bls.js.map +1 -0
  175. package/_esm/core/BlsPoint.js.map +1 -0
  176. package/_esm/core/Bytes.js +719 -0
  177. package/_esm/core/Bytes.js.map +1 -0
  178. package/_esm/core/Caches.js.map +1 -0
  179. package/_esm/core/ContractAddress.js.map +1 -0
  180. package/_esm/core/Ens.js.map +1 -0
  181. package/_esm/core/Errors.js.map +1 -0
  182. package/_esm/core/Fee.js.map +1 -0
  183. package/_esm/core/Filter.js.map +1 -0
  184. package/_esm/core/Hash.js.map +1 -0
  185. package/_esm/core/HdKey.js.map +1 -0
  186. package/_esm/core/Hex.js +763 -0
  187. package/_esm/core/Hex.js.map +1 -0
  188. package/_esm/core/Json.js.map +1 -0
  189. package/_esm/core/Kzg.js.map +1 -0
  190. package/_esm/core/Log.js.map +1 -0
  191. package/_esm/core/Mnemonic.js.map +1 -0
  192. package/_esm/core/P256.js.map +1 -0
  193. package/_esm/core/PersonalMessage.js.map +1 -0
  194. package/_esm/core/Provider.js.map +1 -0
  195. package/_esm/core/PublicKey.js.map +1 -0
  196. package/_esm/core/Rlp.js.map +1 -0
  197. package/_esm/core/RpcRequest.js.map +1 -0
  198. package/_esm/core/RpcResponse.js.map +1 -0
  199. package/_esm/core/RpcSchema.js.map +1 -0
  200. package/_esm/core/RpcTransport.js.map +1 -0
  201. package/_esm/core/Secp256k1.js.map +1 -0
  202. package/_esm/core/Signature.js.map +1 -0
  203. package/_esm/core/Siwe.js.map +1 -0
  204. package/_esm/core/Solidity.js.map +1 -0
  205. package/_esm/core/Transaction.js.map +1 -0
  206. package/_esm/core/TransactionEnvelope.js.map +1 -0
  207. package/_esm/core/TransactionEnvelopeEip1559.js.map +1 -0
  208. package/_esm/core/TransactionEnvelopeEip2930.js.map +1 -0
  209. package/_esm/core/TransactionEnvelopeEip4844.js.map +1 -0
  210. package/_esm/core/TransactionEnvelopeEip7702.js.map +1 -0
  211. package/_esm/core/TransactionEnvelopeLegacy.js.map +1 -0
  212. package/_esm/core/TransactionReceipt.js.map +1 -0
  213. package/_esm/core/TransactionRequest.js.map +1 -0
  214. package/_esm/core/TypedData.js.map +1 -0
  215. package/_esm/core/ValidatorData.js.map +1 -0
  216. package/_esm/core/Value.js.map +1 -0
  217. package/_esm/core/WebAuthnP256.js.map +1 -0
  218. package/_esm/core/WebCryptoP256.js.map +1 -0
  219. package/_esm/core/Withdrawal.js.map +1 -0
  220. package/_esm/core/internal/abi.js.map +1 -0
  221. package/_esm/core/internal/abiConstructor.js.map +1 -0
  222. package/_esm/core/internal/abiError.js.map +1 -0
  223. package/_esm/core/internal/abiEvent.js.map +1 -0
  224. package/_esm/core/internal/abiFunction.js.map +1 -0
  225. package/_esm/core/internal/abiItem.js.map +1 -0
  226. package/_esm/core/internal/abiParameters.js.map +1 -0
  227. package/_esm/core/internal/base58.js.map +1 -0
  228. package/_esm/core/internal/bytes.js.map +1 -0
  229. package/_esm/core/internal/cursor.js.map +1 -0
  230. package/_esm/core/internal/ens.js +47 -0
  231. package/_esm/core/internal/ens.js.map +1 -0
  232. package/_esm/core/internal/errors.js.map +1 -0
  233. package/_esm/core/internal/hdKey.js.map +1 -0
  234. package/_esm/core/internal/hex.js.map +1 -0
  235. package/_esm/core/internal/lru.js.map +1 -0
  236. package/_esm/core/internal/mnemonic/wordlists.js.map +1 -0
  237. package/_esm/core/internal/promise.js.map +1 -0
  238. package/_esm/core/internal/register.js.map +1 -0
  239. package/_esm/core/internal/rpcSchema.js.map +1 -0
  240. package/_esm/core/internal/rpcSchemas/eth.js.map +1 -0
  241. package/_esm/core/internal/rpcSchemas/wallet.js.map +1 -0
  242. package/_esm/core/internal/rpcTransport.js.map +1 -0
  243. package/_esm/core/internal/types.js.map +1 -0
  244. package/_esm/core/internal/uid.js.map +1 -0
  245. package/_esm/core/internal/webauthn.js.map +1 -0
  246. package/_esm/core/version.js +3 -0
  247. package/_esm/core/version.js.map +1 -0
  248. package/_esm/index.js +61 -61
  249. package/_esm/index.js.map +1 -1
  250. package/_esm/version.js +1 -1
  251. package/_types/core/Abi.d.ts.map +1 -0
  252. package/_types/core/AbiConstructor.d.ts.map +1 -0
  253. package/_types/core/AbiError.d.ts.map +1 -0
  254. package/_types/core/AbiEvent.d.ts.map +1 -0
  255. package/_types/core/AbiFunction.d.ts.map +1 -0
  256. package/_types/core/AbiItem.d.ts.map +1 -0
  257. package/_types/core/AbiParameters.d.ts.map +1 -0
  258. package/_types/core/AccessList.d.ts.map +1 -0
  259. package/_types/core/AccountProof.d.ts +32 -0
  260. package/_types/core/AccountProof.d.ts.map +1 -0
  261. package/_types/core/Address.d.ts.map +1 -0
  262. package/_types/core/AesGcm.d.ts.map +1 -0
  263. package/_types/core/Authorization.d.ts.map +1 -0
  264. package/_types/core/Base58.d.ts.map +1 -0
  265. package/_types/core/Base64.d.ts.map +1 -0
  266. package/_types/core/Blobs.d.ts.map +1 -0
  267. package/_types/core/Block.d.ts.map +1 -0
  268. package/_types/core/Bloom.d.ts.map +1 -0
  269. package/_types/core/Bls.d.ts.map +1 -0
  270. package/_types/core/BlsPoint.d.ts.map +1 -0
  271. package/_types/core/Bytes.d.ts +674 -0
  272. package/_types/core/Bytes.d.ts.map +1 -0
  273. package/_types/core/Caches.d.ts.map +1 -0
  274. package/_types/core/ContractAddress.d.ts.map +1 -0
  275. package/_types/core/Ens.d.ts.map +1 -0
  276. package/_types/core/Errors.d.ts.map +1 -0
  277. package/_types/core/Fee.d.ts.map +1 -0
  278. package/_types/core/Filter.d.ts.map +1 -0
  279. package/_types/core/Hash.d.ts.map +1 -0
  280. package/_types/core/HdKey.d.ts.map +1 -0
  281. package/_types/core/Hex.d.ts.map +1 -0
  282. package/_types/core/Json.d.ts.map +1 -0
  283. package/_types/core/Kzg.d.ts.map +1 -0
  284. package/_types/core/Log.d.ts.map +1 -0
  285. package/_types/core/Mnemonic.d.ts.map +1 -0
  286. package/_types/core/P256.d.ts.map +1 -0
  287. package/_types/core/PersonalMessage.d.ts.map +1 -0
  288. package/_types/core/Provider.d.ts.map +1 -0
  289. package/_types/core/PublicKey.d.ts.map +1 -0
  290. package/_types/core/Rlp.d.ts.map +1 -0
  291. package/_types/core/RpcRequest.d.ts +144 -0
  292. package/_types/core/RpcRequest.d.ts.map +1 -0
  293. package/_types/core/RpcResponse.d.ts +266 -0
  294. package/_types/core/RpcResponse.d.ts.map +1 -0
  295. package/_types/core/RpcSchema.d.ts.map +1 -0
  296. package/_types/core/RpcTransport.d.ts.map +1 -0
  297. package/_types/core/Secp256k1.d.ts.map +1 -0
  298. package/_types/core/Signature.d.ts.map +1 -0
  299. package/_types/core/Siwe.d.ts.map +1 -0
  300. package/_types/core/Solidity.d.ts.map +1 -0
  301. package/_types/core/Transaction.d.ts.map +1 -0
  302. package/_types/core/TransactionEnvelope.d.ts.map +1 -0
  303. package/_types/core/TransactionEnvelopeEip1559.d.ts.map +1 -0
  304. package/_types/core/TransactionEnvelopeEip2930.d.ts.map +1 -0
  305. package/_types/core/TransactionEnvelopeEip4844.d.ts.map +1 -0
  306. package/_types/core/TransactionEnvelopeEip7702.d.ts.map +1 -0
  307. package/_types/core/TransactionEnvelopeLegacy.d.ts.map +1 -0
  308. package/_types/core/TransactionReceipt.d.ts.map +1 -0
  309. package/_types/core/TransactionRequest.d.ts.map +1 -0
  310. package/_types/core/TypedData.d.ts.map +1 -0
  311. package/_types/core/ValidatorData.d.ts.map +1 -0
  312. package/_types/core/Value.d.ts.map +1 -0
  313. package/_types/core/WebAuthnP256.d.ts.map +1 -0
  314. package/_types/core/WebCryptoP256.d.ts.map +1 -0
  315. package/_types/core/Withdrawal.d.ts.map +1 -0
  316. package/_types/core/internal/abi.d.ts.map +1 -0
  317. package/_types/core/internal/abiConstructor.d.ts.map +1 -0
  318. package/_types/core/internal/abiError.d.ts.map +1 -0
  319. package/_types/core/internal/abiEvent.d.ts.map +1 -0
  320. package/_types/core/internal/abiFunction.d.ts.map +1 -0
  321. package/_types/core/internal/abiItem.d.ts.map +1 -0
  322. package/_types/core/internal/abiParameters.d.ts.map +1 -0
  323. package/_types/core/internal/base58.d.ts.map +1 -0
  324. package/_types/core/internal/bytes.d.ts.map +1 -0
  325. package/_types/core/internal/cursor.d.ts.map +1 -0
  326. package/_types/core/internal/ens.d.ts +23 -0
  327. package/_types/core/internal/ens.d.ts.map +1 -0
  328. package/_types/core/internal/errors.d.ts.map +1 -0
  329. package/_types/core/internal/hdKey.d.ts.map +1 -0
  330. package/_types/core/internal/hex.d.ts.map +1 -0
  331. package/_types/core/internal/lru.d.ts.map +1 -0
  332. package/_types/core/internal/mnemonic/wordlists.d.ts.map +1 -0
  333. package/_types/core/internal/promise.d.ts.map +1 -0
  334. package/_types/core/internal/register.d.ts.map +1 -0
  335. package/_types/core/internal/rpcSchema.d.ts.map +1 -0
  336. package/_types/core/internal/rpcSchemas/eth.d.ts.map +1 -0
  337. package/_types/core/internal/rpcSchemas/wallet.d.ts.map +1 -0
  338. package/_types/core/internal/rpcTransport.d.ts.map +1 -0
  339. package/_types/core/internal/types.d.ts.map +1 -0
  340. package/_types/core/internal/uid.d.ts.map +1 -0
  341. package/_types/core/internal/webauthn.d.ts.map +1 -0
  342. package/_types/core/version.d.ts +3 -0
  343. package/_types/core/version.d.ts.map +1 -0
  344. package/_types/index.d.ts +62 -62
  345. package/_types/index.d.ts.map +1 -1
  346. package/_types/version.d.ts +1 -1
  347. package/_types/window/index.d.ts +1 -1
  348. package/_types/window/index.d.ts.map +1 -1
  349. package/core/AccountProof.ts +35 -0
  350. package/core/Bytes.ts +961 -0
  351. package/core/Hex.ts +1039 -0
  352. package/core/RpcRequest.ts +192 -0
  353. package/core/RpcResponse.ts +389 -0
  354. package/core/internal/ens.ts +64 -0
  355. package/core/version.ts +2 -0
  356. package/index.ts +62 -62
  357. package/package.json +185 -300
  358. package/trusted-setups/Paths.test.ts +10 -0
  359. package/trusted-setups/index.test.ts +10 -0
  360. package/version.ts +1 -1
  361. package/window/index.ts +1 -1
  362. package/AccountProof.ts +0 -35
  363. package/Bytes.ts +0 -963
  364. package/Hex.ts +0 -1040
  365. package/RpcRequest.ts +0 -192
  366. package/RpcResponse.ts +0 -389
  367. package/_cjs/Abi.js.map +0 -1
  368. package/_cjs/AbiConstructor.js.map +0 -1
  369. package/_cjs/AbiError.js.map +0 -1
  370. package/_cjs/AbiEvent.js.map +0 -1
  371. package/_cjs/AbiFunction.js.map +0 -1
  372. package/_cjs/AbiItem.js.map +0 -1
  373. package/_cjs/AbiParameters.js.map +0 -1
  374. package/_cjs/AccessList.js.map +0 -1
  375. package/_cjs/AccountProof.js.map +0 -1
  376. package/_cjs/Address.js.map +0 -1
  377. package/_cjs/AesGcm.js.map +0 -1
  378. package/_cjs/Authorization.js.map +0 -1
  379. package/_cjs/Base58.js.map +0 -1
  380. package/_cjs/Base64.js.map +0 -1
  381. package/_cjs/Blobs.js.map +0 -1
  382. package/_cjs/Block.js.map +0 -1
  383. package/_cjs/Bloom.js.map +0 -1
  384. package/_cjs/Bls.js.map +0 -1
  385. package/_cjs/BlsPoint.js.map +0 -1
  386. package/_cjs/Bytes.js +0 -279
  387. package/_cjs/Bytes.js.map +0 -1
  388. package/_cjs/Caches.js.map +0 -1
  389. package/_cjs/ContractAddress.js.map +0 -1
  390. package/_cjs/Ens.js.map +0 -1
  391. package/_cjs/Errors.js.map +0 -1
  392. package/_cjs/Fee.js.map +0 -1
  393. package/_cjs/Filter.js.map +0 -1
  394. package/_cjs/Hash.js.map +0 -1
  395. package/_cjs/HdKey.js.map +0 -1
  396. package/_cjs/Hex.js +0 -324
  397. package/_cjs/Hex.js.map +0 -1
  398. package/_cjs/Json.js.map +0 -1
  399. package/_cjs/Kzg.js.map +0 -1
  400. package/_cjs/Log.js.map +0 -1
  401. package/_cjs/Mnemonic.js.map +0 -1
  402. package/_cjs/P256.js.map +0 -1
  403. package/_cjs/PersonalMessage.js.map +0 -1
  404. package/_cjs/Provider.js.map +0 -1
  405. package/_cjs/PublicKey.js.map +0 -1
  406. package/_cjs/Rlp.js.map +0 -1
  407. package/_cjs/RpcRequest.js.map +0 -1
  408. package/_cjs/RpcResponse.js.map +0 -1
  409. package/_cjs/RpcSchema.js.map +0 -1
  410. package/_cjs/RpcTransport.js.map +0 -1
  411. package/_cjs/Secp256k1.js.map +0 -1
  412. package/_cjs/Signature.js.map +0 -1
  413. package/_cjs/Siwe.js.map +0 -1
  414. package/_cjs/Solidity.js.map +0 -1
  415. package/_cjs/Transaction.js.map +0 -1
  416. package/_cjs/TransactionEnvelope.js.map +0 -1
  417. package/_cjs/TransactionEnvelopeEip1559.js.map +0 -1
  418. package/_cjs/TransactionEnvelopeEip2930.js.map +0 -1
  419. package/_cjs/TransactionEnvelopeEip4844.js.map +0 -1
  420. package/_cjs/TransactionEnvelopeEip7702.js.map +0 -1
  421. package/_cjs/TransactionEnvelopeLegacy.js.map +0 -1
  422. package/_cjs/TransactionReceipt.js.map +0 -1
  423. package/_cjs/TransactionRequest.js.map +0 -1
  424. package/_cjs/TypedData.js.map +0 -1
  425. package/_cjs/ValidatorData.js.map +0 -1
  426. package/_cjs/Value.js.map +0 -1
  427. package/_cjs/WebAuthnP256.js.map +0 -1
  428. package/_cjs/WebCryptoP256.js.map +0 -1
  429. package/_cjs/Withdrawal.js.map +0 -1
  430. package/_cjs/internal/abi.js.map +0 -1
  431. package/_cjs/internal/abiConstructor.js.map +0 -1
  432. package/_cjs/internal/abiError.js.map +0 -1
  433. package/_cjs/internal/abiEvent.js.map +0 -1
  434. package/_cjs/internal/abiFunction.js.map +0 -1
  435. package/_cjs/internal/abiItem.js.map +0 -1
  436. package/_cjs/internal/abiParameters.js.map +0 -1
  437. package/_cjs/internal/base58.js.map +0 -1
  438. package/_cjs/internal/bytes.js.map +0 -1
  439. package/_cjs/internal/cursor.js.map +0 -1
  440. package/_cjs/internal/ens.js +0 -43
  441. package/_cjs/internal/ens.js.map +0 -1
  442. package/_cjs/internal/errors.js.map +0 -1
  443. package/_cjs/internal/hdKey.js.map +0 -1
  444. package/_cjs/internal/hex.js.map +0 -1
  445. package/_cjs/internal/lru.js.map +0 -1
  446. package/_cjs/internal/mnemonic/wordlists.js.map +0 -1
  447. package/_cjs/internal/promise.js.map +0 -1
  448. package/_cjs/internal/register.js.map +0 -1
  449. package/_cjs/internal/rpcSchema.js.map +0 -1
  450. package/_cjs/internal/rpcSchemas/eth.js.map +0 -1
  451. package/_cjs/internal/rpcSchemas/wallet.js.map +0 -1
  452. package/_cjs/internal/rpcTransport.js.map +0 -1
  453. package/_cjs/internal/types.js.map +0 -1
  454. package/_cjs/internal/uid.js.map +0 -1
  455. package/_cjs/internal/webauthn.js.map +0 -1
  456. package/_esm/Abi.js.map +0 -1
  457. package/_esm/AbiConstructor.js.map +0 -1
  458. package/_esm/AbiError.js.map +0 -1
  459. package/_esm/AbiEvent.js.map +0 -1
  460. package/_esm/AbiFunction.js.map +0 -1
  461. package/_esm/AbiItem.js.map +0 -1
  462. package/_esm/AbiParameters.js.map +0 -1
  463. package/_esm/AccessList.js.map +0 -1
  464. package/_esm/AccountProof.js.map +0 -1
  465. package/_esm/Address.js.map +0 -1
  466. package/_esm/AesGcm.js.map +0 -1
  467. package/_esm/Authorization.js.map +0 -1
  468. package/_esm/Base58.js.map +0 -1
  469. package/_esm/Base64.js.map +0 -1
  470. package/_esm/Blobs.js.map +0 -1
  471. package/_esm/Block.js.map +0 -1
  472. package/_esm/Bloom.js.map +0 -1
  473. package/_esm/Bls.js.map +0 -1
  474. package/_esm/BlsPoint.js.map +0 -1
  475. package/_esm/Bytes.js +0 -719
  476. package/_esm/Bytes.js.map +0 -1
  477. package/_esm/Caches.js.map +0 -1
  478. package/_esm/ContractAddress.js.map +0 -1
  479. package/_esm/Ens.js.map +0 -1
  480. package/_esm/Errors.js.map +0 -1
  481. package/_esm/Fee.js.map +0 -1
  482. package/_esm/Filter.js.map +0 -1
  483. package/_esm/Hash.js.map +0 -1
  484. package/_esm/HdKey.js.map +0 -1
  485. package/_esm/Hex.js +0 -763
  486. package/_esm/Hex.js.map +0 -1
  487. package/_esm/Json.js.map +0 -1
  488. package/_esm/Kzg.js.map +0 -1
  489. package/_esm/Log.js.map +0 -1
  490. package/_esm/Mnemonic.js.map +0 -1
  491. package/_esm/P256.js.map +0 -1
  492. package/_esm/PersonalMessage.js.map +0 -1
  493. package/_esm/Provider.js.map +0 -1
  494. package/_esm/PublicKey.js.map +0 -1
  495. package/_esm/Rlp.js.map +0 -1
  496. package/_esm/RpcRequest.js.map +0 -1
  497. package/_esm/RpcResponse.js.map +0 -1
  498. package/_esm/RpcSchema.js.map +0 -1
  499. package/_esm/RpcTransport.js.map +0 -1
  500. package/_esm/Secp256k1.js.map +0 -1
  501. package/_esm/Signature.js.map +0 -1
  502. package/_esm/Siwe.js.map +0 -1
  503. package/_esm/Solidity.js.map +0 -1
  504. package/_esm/Transaction.js.map +0 -1
  505. package/_esm/TransactionEnvelope.js.map +0 -1
  506. package/_esm/TransactionEnvelopeEip1559.js.map +0 -1
  507. package/_esm/TransactionEnvelopeEip2930.js.map +0 -1
  508. package/_esm/TransactionEnvelopeEip4844.js.map +0 -1
  509. package/_esm/TransactionEnvelopeEip7702.js.map +0 -1
  510. package/_esm/TransactionEnvelopeLegacy.js.map +0 -1
  511. package/_esm/TransactionReceipt.js.map +0 -1
  512. package/_esm/TransactionRequest.js.map +0 -1
  513. package/_esm/TypedData.js.map +0 -1
  514. package/_esm/ValidatorData.js.map +0 -1
  515. package/_esm/Value.js.map +0 -1
  516. package/_esm/WebAuthnP256.js.map +0 -1
  517. package/_esm/WebCryptoP256.js.map +0 -1
  518. package/_esm/Withdrawal.js.map +0 -1
  519. package/_esm/internal/abi.js.map +0 -1
  520. package/_esm/internal/abiConstructor.js.map +0 -1
  521. package/_esm/internal/abiError.js.map +0 -1
  522. package/_esm/internal/abiEvent.js.map +0 -1
  523. package/_esm/internal/abiFunction.js.map +0 -1
  524. package/_esm/internal/abiItem.js.map +0 -1
  525. package/_esm/internal/abiParameters.js.map +0 -1
  526. package/_esm/internal/base58.js.map +0 -1
  527. package/_esm/internal/bytes.js.map +0 -1
  528. package/_esm/internal/cursor.js.map +0 -1
  529. package/_esm/internal/ens.js +0 -47
  530. package/_esm/internal/ens.js.map +0 -1
  531. package/_esm/internal/errors.js.map +0 -1
  532. package/_esm/internal/hdKey.js.map +0 -1
  533. package/_esm/internal/hex.js.map +0 -1
  534. package/_esm/internal/lru.js.map +0 -1
  535. package/_esm/internal/mnemonic/wordlists.js.map +0 -1
  536. package/_esm/internal/promise.js.map +0 -1
  537. package/_esm/internal/register.js.map +0 -1
  538. package/_esm/internal/rpcSchema.js.map +0 -1
  539. package/_esm/internal/rpcSchemas/eth.js.map +0 -1
  540. package/_esm/internal/rpcSchemas/wallet.js.map +0 -1
  541. package/_esm/internal/rpcTransport.js.map +0 -1
  542. package/_esm/internal/types.js.map +0 -1
  543. package/_esm/internal/uid.js.map +0 -1
  544. package/_esm/internal/webauthn.js.map +0 -1
  545. package/_test/Abi.test-d/package.json +0 -6
  546. package/_test/AbiConstructor.test-d/package.json +0 -6
  547. package/_test/AbiError.test-d/package.json +0 -6
  548. package/_test/AbiEvent.snap-d/package.json +0 -6
  549. package/_test/AbiEvent.snap-d.ts +0 -329
  550. package/_test/AbiFunction.snap-d/package.json +0 -6
  551. package/_test/AbiFunction.snap-d.ts +0 -262
  552. package/_test/AbiItem.snap-d/package.json +0 -6
  553. package/_test/AbiItem.snap-d.ts +0 -131
  554. package/_test/AbiParameters.bench/package.json +0 -6
  555. package/_test/AbiParameters.snap-d/package.json +0 -6
  556. package/_test/AbiParameters.snap-d.ts +0 -66
  557. package/_test/Address.bench/package.json +0 -6
  558. package/_test/Base58.bench/package.json +0 -6
  559. package/_test/Hex.bench/package.json +0 -6
  560. package/_test/Hex.test-d/package.json +0 -6
  561. package/_test/PublicKey.test-d/package.json +0 -6
  562. package/_test/Rlp.bench/package.json +0 -6
  563. package/_test/Rlp.test-d/package.json +0 -6
  564. package/_test/Signature.snap-d/package.json +0 -6
  565. package/_test/Signature.snap-d.ts +0 -96
  566. package/_test/TransactionEnvelopeEip1559.test-d/package.json +0 -6
  567. package/_test/TransactionEnvelopeEip2930.test-d/package.json +0 -6
  568. package/_test/TransactionEnvelopeEip4844.test-d/package.json +0 -6
  569. package/_test/TransactionEnvelopeEip7702.test-d/package.json +0 -6
  570. package/_test/TransactionEnvelopeLegacy.test-d/package.json +0 -6
  571. package/_test/TypedData.test-d/package.json +0 -6
  572. package/_types/Abi.d.ts.map +0 -1
  573. package/_types/AbiConstructor.d.ts.map +0 -1
  574. package/_types/AbiError.d.ts.map +0 -1
  575. package/_types/AbiEvent.d.ts.map +0 -1
  576. package/_types/AbiFunction.d.ts.map +0 -1
  577. package/_types/AbiItem.d.ts.map +0 -1
  578. package/_types/AbiParameters.d.ts.map +0 -1
  579. package/_types/AccessList.d.ts.map +0 -1
  580. package/_types/AccountProof.d.ts +0 -32
  581. package/_types/AccountProof.d.ts.map +0 -1
  582. package/_types/Address.d.ts.map +0 -1
  583. package/_types/AesGcm.d.ts.map +0 -1
  584. package/_types/Authorization.d.ts.map +0 -1
  585. package/_types/Base58.d.ts.map +0 -1
  586. package/_types/Base64.d.ts.map +0 -1
  587. package/_types/Blobs.d.ts.map +0 -1
  588. package/_types/Block.d.ts.map +0 -1
  589. package/_types/Bloom.d.ts.map +0 -1
  590. package/_types/Bls.d.ts.map +0 -1
  591. package/_types/BlsPoint.d.ts.map +0 -1
  592. package/_types/Bytes.d.ts +0 -674
  593. package/_types/Bytes.d.ts.map +0 -1
  594. package/_types/Caches.d.ts.map +0 -1
  595. package/_types/ContractAddress.d.ts.map +0 -1
  596. package/_types/Ens.d.ts.map +0 -1
  597. package/_types/Errors.d.ts.map +0 -1
  598. package/_types/Fee.d.ts.map +0 -1
  599. package/_types/Filter.d.ts.map +0 -1
  600. package/_types/Hash.d.ts.map +0 -1
  601. package/_types/HdKey.d.ts.map +0 -1
  602. package/_types/Hex.d.ts.map +0 -1
  603. package/_types/Json.d.ts.map +0 -1
  604. package/_types/Kzg.d.ts.map +0 -1
  605. package/_types/Log.d.ts.map +0 -1
  606. package/_types/Mnemonic.d.ts.map +0 -1
  607. package/_types/P256.d.ts.map +0 -1
  608. package/_types/PersonalMessage.d.ts.map +0 -1
  609. package/_types/Provider.d.ts.map +0 -1
  610. package/_types/PublicKey.d.ts.map +0 -1
  611. package/_types/Rlp.d.ts.map +0 -1
  612. package/_types/RpcRequest.d.ts +0 -144
  613. package/_types/RpcRequest.d.ts.map +0 -1
  614. package/_types/RpcResponse.d.ts +0 -266
  615. package/_types/RpcResponse.d.ts.map +0 -1
  616. package/_types/RpcSchema.d.ts.map +0 -1
  617. package/_types/RpcTransport.d.ts.map +0 -1
  618. package/_types/Secp256k1.d.ts.map +0 -1
  619. package/_types/Signature.d.ts.map +0 -1
  620. package/_types/Siwe.d.ts.map +0 -1
  621. package/_types/Solidity.d.ts.map +0 -1
  622. package/_types/Transaction.d.ts.map +0 -1
  623. package/_types/TransactionEnvelope.d.ts.map +0 -1
  624. package/_types/TransactionEnvelopeEip1559.d.ts.map +0 -1
  625. package/_types/TransactionEnvelopeEip2930.d.ts.map +0 -1
  626. package/_types/TransactionEnvelopeEip4844.d.ts.map +0 -1
  627. package/_types/TransactionEnvelopeEip7702.d.ts.map +0 -1
  628. package/_types/TransactionEnvelopeLegacy.d.ts.map +0 -1
  629. package/_types/TransactionReceipt.d.ts.map +0 -1
  630. package/_types/TransactionRequest.d.ts.map +0 -1
  631. package/_types/TypedData.d.ts.map +0 -1
  632. package/_types/ValidatorData.d.ts.map +0 -1
  633. package/_types/Value.d.ts.map +0 -1
  634. package/_types/WebAuthnP256.d.ts.map +0 -1
  635. package/_types/WebCryptoP256.d.ts.map +0 -1
  636. package/_types/Withdrawal.d.ts.map +0 -1
  637. package/_types/internal/abi.d.ts.map +0 -1
  638. package/_types/internal/abiConstructor.d.ts.map +0 -1
  639. package/_types/internal/abiError.d.ts.map +0 -1
  640. package/_types/internal/abiEvent.d.ts.map +0 -1
  641. package/_types/internal/abiFunction.d.ts.map +0 -1
  642. package/_types/internal/abiItem.d.ts.map +0 -1
  643. package/_types/internal/abiParameters.d.ts.map +0 -1
  644. package/_types/internal/base58.d.ts.map +0 -1
  645. package/_types/internal/bytes.d.ts.map +0 -1
  646. package/_types/internal/cursor.d.ts.map +0 -1
  647. package/_types/internal/ens.d.ts +0 -23
  648. package/_types/internal/ens.d.ts.map +0 -1
  649. package/_types/internal/errors.d.ts.map +0 -1
  650. package/_types/internal/hdKey.d.ts.map +0 -1
  651. package/_types/internal/hex.d.ts.map +0 -1
  652. package/_types/internal/lru.d.ts.map +0 -1
  653. package/_types/internal/mnemonic/wordlists.d.ts.map +0 -1
  654. package/_types/internal/promise.d.ts.map +0 -1
  655. package/_types/internal/register.d.ts.map +0 -1
  656. package/_types/internal/rpcSchema.d.ts.map +0 -1
  657. package/_types/internal/rpcSchemas/eth.d.ts.map +0 -1
  658. package/_types/internal/rpcSchemas/wallet.d.ts.map +0 -1
  659. package/_types/internal/rpcTransport.d.ts.map +0 -1
  660. package/_types/internal/types.d.ts.map +0 -1
  661. package/_types/internal/uid.d.ts.map +0 -1
  662. package/_types/internal/webauthn.d.ts.map +0 -1
  663. package/internal/ens.ts +0 -64
  664. /package/_cjs/{Abi.js → core/Abi.js} +0 -0
  665. /package/_cjs/{AbiConstructor.js → core/AbiConstructor.js} +0 -0
  666. /package/_cjs/{AbiError.js → core/AbiError.js} +0 -0
  667. /package/_cjs/{AbiEvent.js → core/AbiEvent.js} +0 -0
  668. /package/_cjs/{AbiFunction.js → core/AbiFunction.js} +0 -0
  669. /package/_cjs/{AbiItem.js → core/AbiItem.js} +0 -0
  670. /package/_cjs/{AbiParameters.js → core/AbiParameters.js} +0 -0
  671. /package/_cjs/{AccessList.js → core/AccessList.js} +0 -0
  672. /package/_cjs/{AccountProof.js → core/AccountProof.js} +0 -0
  673. /package/_cjs/{Address.js → core/Address.js} +0 -0
  674. /package/_cjs/{AesGcm.js → core/AesGcm.js} +0 -0
  675. /package/_cjs/{Authorization.js → core/Authorization.js} +0 -0
  676. /package/_cjs/{Base58.js → core/Base58.js} +0 -0
  677. /package/_cjs/{Base64.js → core/Base64.js} +0 -0
  678. /package/_cjs/{Blobs.js → core/Blobs.js} +0 -0
  679. /package/_cjs/{Block.js → core/Block.js} +0 -0
  680. /package/_cjs/{Bloom.js → core/Bloom.js} +0 -0
  681. /package/_cjs/{Bls.js → core/Bls.js} +0 -0
  682. /package/_cjs/{BlsPoint.js → core/BlsPoint.js} +0 -0
  683. /package/_cjs/{Caches.js → core/Caches.js} +0 -0
  684. /package/_cjs/{ContractAddress.js → core/ContractAddress.js} +0 -0
  685. /package/_cjs/{Ens.js → core/Ens.js} +0 -0
  686. /package/_cjs/{Errors.js → core/Errors.js} +0 -0
  687. /package/_cjs/{Fee.js → core/Fee.js} +0 -0
  688. /package/_cjs/{Filter.js → core/Filter.js} +0 -0
  689. /package/_cjs/{Hash.js → core/Hash.js} +0 -0
  690. /package/_cjs/{HdKey.js → core/HdKey.js} +0 -0
  691. /package/_cjs/{Json.js → core/Json.js} +0 -0
  692. /package/_cjs/{Kzg.js → core/Kzg.js} +0 -0
  693. /package/_cjs/{Log.js → core/Log.js} +0 -0
  694. /package/_cjs/{Mnemonic.js → core/Mnemonic.js} +0 -0
  695. /package/_cjs/{P256.js → core/P256.js} +0 -0
  696. /package/_cjs/{PersonalMessage.js → core/PersonalMessage.js} +0 -0
  697. /package/_cjs/{Provider.js → core/Provider.js} +0 -0
  698. /package/_cjs/{PublicKey.js → core/PublicKey.js} +0 -0
  699. /package/_cjs/{Rlp.js → core/Rlp.js} +0 -0
  700. /package/_cjs/{RpcRequest.js → core/RpcRequest.js} +0 -0
  701. /package/_cjs/{RpcResponse.js → core/RpcResponse.js} +0 -0
  702. /package/_cjs/{RpcSchema.js → core/RpcSchema.js} +0 -0
  703. /package/_cjs/{RpcTransport.js → core/RpcTransport.js} +0 -0
  704. /package/_cjs/{Secp256k1.js → core/Secp256k1.js} +0 -0
  705. /package/_cjs/{Signature.js → core/Signature.js} +0 -0
  706. /package/_cjs/{Siwe.js → core/Siwe.js} +0 -0
  707. /package/_cjs/{Solidity.js → core/Solidity.js} +0 -0
  708. /package/_cjs/{Transaction.js → core/Transaction.js} +0 -0
  709. /package/_cjs/{TransactionEnvelope.js → core/TransactionEnvelope.js} +0 -0
  710. /package/_cjs/{TransactionEnvelopeEip1559.js → core/TransactionEnvelopeEip1559.js} +0 -0
  711. /package/_cjs/{TransactionEnvelopeEip2930.js → core/TransactionEnvelopeEip2930.js} +0 -0
  712. /package/_cjs/{TransactionEnvelopeEip4844.js → core/TransactionEnvelopeEip4844.js} +0 -0
  713. /package/_cjs/{TransactionEnvelopeEip7702.js → core/TransactionEnvelopeEip7702.js} +0 -0
  714. /package/_cjs/{TransactionEnvelopeLegacy.js → core/TransactionEnvelopeLegacy.js} +0 -0
  715. /package/_cjs/{TransactionReceipt.js → core/TransactionReceipt.js} +0 -0
  716. /package/_cjs/{TransactionRequest.js → core/TransactionRequest.js} +0 -0
  717. /package/_cjs/{TypedData.js → core/TypedData.js} +0 -0
  718. /package/_cjs/{ValidatorData.js → core/ValidatorData.js} +0 -0
  719. /package/_cjs/{Value.js → core/Value.js} +0 -0
  720. /package/_cjs/{WebAuthnP256.js → core/WebAuthnP256.js} +0 -0
  721. /package/_cjs/{WebCryptoP256.js → core/WebCryptoP256.js} +0 -0
  722. /package/_cjs/{Withdrawal.js → core/Withdrawal.js} +0 -0
  723. /package/_cjs/{internal → core/internal}/abi.js +0 -0
  724. /package/_cjs/{internal → core/internal}/abiConstructor.js +0 -0
  725. /package/_cjs/{internal → core/internal}/abiError.js +0 -0
  726. /package/_cjs/{internal → core/internal}/abiEvent.js +0 -0
  727. /package/_cjs/{internal → core/internal}/abiFunction.js +0 -0
  728. /package/_cjs/{internal → core/internal}/abiItem.js +0 -0
  729. /package/_cjs/{internal → core/internal}/abiParameters.js +0 -0
  730. /package/_cjs/{internal → core/internal}/base58.js +0 -0
  731. /package/_cjs/{internal → core/internal}/bytes.js +0 -0
  732. /package/_cjs/{internal → core/internal}/cursor.js +0 -0
  733. /package/_cjs/{internal → core/internal}/errors.js +0 -0
  734. /package/_cjs/{internal → core/internal}/hdKey.js +0 -0
  735. /package/_cjs/{internal → core/internal}/hex.js +0 -0
  736. /package/_cjs/{internal → core/internal}/lru.js +0 -0
  737. /package/_cjs/{internal → core/internal}/mnemonic/wordlists.js +0 -0
  738. /package/_cjs/{internal → core/internal}/promise.js +0 -0
  739. /package/_cjs/{internal → core/internal}/register.js +0 -0
  740. /package/_cjs/{internal → core/internal}/rpcSchema.js +0 -0
  741. /package/_cjs/{internal → core/internal}/rpcSchemas/eth.js +0 -0
  742. /package/_cjs/{internal → core/internal}/rpcSchemas/wallet.js +0 -0
  743. /package/_cjs/{internal → core/internal}/rpcTransport.js +0 -0
  744. /package/_cjs/{internal → core/internal}/types.js +0 -0
  745. /package/_cjs/{internal → core/internal}/uid.js +0 -0
  746. /package/_cjs/{internal → core/internal}/webauthn.js +0 -0
  747. /package/_esm/{Abi.js → core/Abi.js} +0 -0
  748. /package/_esm/{AbiConstructor.js → core/AbiConstructor.js} +0 -0
  749. /package/_esm/{AbiError.js → core/AbiError.js} +0 -0
  750. /package/_esm/{AbiEvent.js → core/AbiEvent.js} +0 -0
  751. /package/_esm/{AbiFunction.js → core/AbiFunction.js} +0 -0
  752. /package/_esm/{AbiItem.js → core/AbiItem.js} +0 -0
  753. /package/_esm/{AbiParameters.js → core/AbiParameters.js} +0 -0
  754. /package/_esm/{AccessList.js → core/AccessList.js} +0 -0
  755. /package/_esm/{AccountProof.js → core/AccountProof.js} +0 -0
  756. /package/_esm/{Address.js → core/Address.js} +0 -0
  757. /package/_esm/{AesGcm.js → core/AesGcm.js} +0 -0
  758. /package/_esm/{Authorization.js → core/Authorization.js} +0 -0
  759. /package/_esm/{Base58.js → core/Base58.js} +0 -0
  760. /package/_esm/{Base64.js → core/Base64.js} +0 -0
  761. /package/_esm/{Blobs.js → core/Blobs.js} +0 -0
  762. /package/_esm/{Block.js → core/Block.js} +0 -0
  763. /package/_esm/{Bloom.js → core/Bloom.js} +0 -0
  764. /package/_esm/{Bls.js → core/Bls.js} +0 -0
  765. /package/_esm/{BlsPoint.js → core/BlsPoint.js} +0 -0
  766. /package/_esm/{Caches.js → core/Caches.js} +0 -0
  767. /package/_esm/{ContractAddress.js → core/ContractAddress.js} +0 -0
  768. /package/_esm/{Ens.js → core/Ens.js} +0 -0
  769. /package/_esm/{Errors.js → core/Errors.js} +0 -0
  770. /package/_esm/{Fee.js → core/Fee.js} +0 -0
  771. /package/_esm/{Filter.js → core/Filter.js} +0 -0
  772. /package/_esm/{Hash.js → core/Hash.js} +0 -0
  773. /package/_esm/{HdKey.js → core/HdKey.js} +0 -0
  774. /package/_esm/{Json.js → core/Json.js} +0 -0
  775. /package/_esm/{Kzg.js → core/Kzg.js} +0 -0
  776. /package/_esm/{Log.js → core/Log.js} +0 -0
  777. /package/_esm/{Mnemonic.js → core/Mnemonic.js} +0 -0
  778. /package/_esm/{P256.js → core/P256.js} +0 -0
  779. /package/_esm/{PersonalMessage.js → core/PersonalMessage.js} +0 -0
  780. /package/_esm/{Provider.js → core/Provider.js} +0 -0
  781. /package/_esm/{PublicKey.js → core/PublicKey.js} +0 -0
  782. /package/_esm/{Rlp.js → core/Rlp.js} +0 -0
  783. /package/_esm/{RpcRequest.js → core/RpcRequest.js} +0 -0
  784. /package/_esm/{RpcResponse.js → core/RpcResponse.js} +0 -0
  785. /package/_esm/{RpcSchema.js → core/RpcSchema.js} +0 -0
  786. /package/_esm/{RpcTransport.js → core/RpcTransport.js} +0 -0
  787. /package/_esm/{Secp256k1.js → core/Secp256k1.js} +0 -0
  788. /package/_esm/{Signature.js → core/Signature.js} +0 -0
  789. /package/_esm/{Siwe.js → core/Siwe.js} +0 -0
  790. /package/_esm/{Solidity.js → core/Solidity.js} +0 -0
  791. /package/_esm/{Transaction.js → core/Transaction.js} +0 -0
  792. /package/_esm/{TransactionEnvelope.js → core/TransactionEnvelope.js} +0 -0
  793. /package/_esm/{TransactionEnvelopeEip1559.js → core/TransactionEnvelopeEip1559.js} +0 -0
  794. /package/_esm/{TransactionEnvelopeEip2930.js → core/TransactionEnvelopeEip2930.js} +0 -0
  795. /package/_esm/{TransactionEnvelopeEip4844.js → core/TransactionEnvelopeEip4844.js} +0 -0
  796. /package/_esm/{TransactionEnvelopeEip7702.js → core/TransactionEnvelopeEip7702.js} +0 -0
  797. /package/_esm/{TransactionEnvelopeLegacy.js → core/TransactionEnvelopeLegacy.js} +0 -0
  798. /package/_esm/{TransactionReceipt.js → core/TransactionReceipt.js} +0 -0
  799. /package/_esm/{TransactionRequest.js → core/TransactionRequest.js} +0 -0
  800. /package/_esm/{TypedData.js → core/TypedData.js} +0 -0
  801. /package/_esm/{ValidatorData.js → core/ValidatorData.js} +0 -0
  802. /package/_esm/{Value.js → core/Value.js} +0 -0
  803. /package/_esm/{WebAuthnP256.js → core/WebAuthnP256.js} +0 -0
  804. /package/_esm/{WebCryptoP256.js → core/WebCryptoP256.js} +0 -0
  805. /package/_esm/{Withdrawal.js → core/Withdrawal.js} +0 -0
  806. /package/_esm/{internal → core/internal}/abi.js +0 -0
  807. /package/_esm/{internal → core/internal}/abiConstructor.js +0 -0
  808. /package/_esm/{internal → core/internal}/abiError.js +0 -0
  809. /package/_esm/{internal → core/internal}/abiEvent.js +0 -0
  810. /package/_esm/{internal → core/internal}/abiFunction.js +0 -0
  811. /package/_esm/{internal → core/internal}/abiItem.js +0 -0
  812. /package/_esm/{internal → core/internal}/abiParameters.js +0 -0
  813. /package/_esm/{internal → core/internal}/base58.js +0 -0
  814. /package/_esm/{internal → core/internal}/bytes.js +0 -0
  815. /package/_esm/{internal → core/internal}/cursor.js +0 -0
  816. /package/_esm/{internal → core/internal}/errors.js +0 -0
  817. /package/_esm/{internal → core/internal}/hdKey.js +0 -0
  818. /package/_esm/{internal → core/internal}/hex.js +0 -0
  819. /package/_esm/{internal → core/internal}/lru.js +0 -0
  820. /package/_esm/{internal → core/internal}/mnemonic/wordlists.js +0 -0
  821. /package/_esm/{internal → core/internal}/promise.js +0 -0
  822. /package/_esm/{internal → core/internal}/register.js +0 -0
  823. /package/_esm/{internal → core/internal}/rpcSchema.js +0 -0
  824. /package/_esm/{internal → core/internal}/rpcSchemas/eth.js +0 -0
  825. /package/_esm/{internal → core/internal}/rpcSchemas/wallet.js +0 -0
  826. /package/_esm/{internal → core/internal}/rpcTransport.js +0 -0
  827. /package/_esm/{internal → core/internal}/types.js +0 -0
  828. /package/_esm/{internal → core/internal}/uid.js +0 -0
  829. /package/_esm/{internal → core/internal}/webauthn.js +0 -0
  830. /package/_types/{Abi.d.ts → core/Abi.d.ts} +0 -0
  831. /package/_types/{AbiConstructor.d.ts → core/AbiConstructor.d.ts} +0 -0
  832. /package/_types/{AbiError.d.ts → core/AbiError.d.ts} +0 -0
  833. /package/_types/{AbiEvent.d.ts → core/AbiEvent.d.ts} +0 -0
  834. /package/_types/{AbiFunction.d.ts → core/AbiFunction.d.ts} +0 -0
  835. /package/_types/{AbiItem.d.ts → core/AbiItem.d.ts} +0 -0
  836. /package/_types/{AbiParameters.d.ts → core/AbiParameters.d.ts} +0 -0
  837. /package/_types/{AccessList.d.ts → core/AccessList.d.ts} +0 -0
  838. /package/_types/{Address.d.ts → core/Address.d.ts} +0 -0
  839. /package/_types/{AesGcm.d.ts → core/AesGcm.d.ts} +0 -0
  840. /package/_types/{Authorization.d.ts → core/Authorization.d.ts} +0 -0
  841. /package/_types/{Base58.d.ts → core/Base58.d.ts} +0 -0
  842. /package/_types/{Base64.d.ts → core/Base64.d.ts} +0 -0
  843. /package/_types/{Blobs.d.ts → core/Blobs.d.ts} +0 -0
  844. /package/_types/{Block.d.ts → core/Block.d.ts} +0 -0
  845. /package/_types/{Bloom.d.ts → core/Bloom.d.ts} +0 -0
  846. /package/_types/{Bls.d.ts → core/Bls.d.ts} +0 -0
  847. /package/_types/{BlsPoint.d.ts → core/BlsPoint.d.ts} +0 -0
  848. /package/_types/{Caches.d.ts → core/Caches.d.ts} +0 -0
  849. /package/_types/{ContractAddress.d.ts → core/ContractAddress.d.ts} +0 -0
  850. /package/_types/{Ens.d.ts → core/Ens.d.ts} +0 -0
  851. /package/_types/{Errors.d.ts → core/Errors.d.ts} +0 -0
  852. /package/_types/{Fee.d.ts → core/Fee.d.ts} +0 -0
  853. /package/_types/{Filter.d.ts → core/Filter.d.ts} +0 -0
  854. /package/_types/{Hash.d.ts → core/Hash.d.ts} +0 -0
  855. /package/_types/{HdKey.d.ts → core/HdKey.d.ts} +0 -0
  856. /package/_types/{Hex.d.ts → core/Hex.d.ts} +0 -0
  857. /package/_types/{Json.d.ts → core/Json.d.ts} +0 -0
  858. /package/_types/{Kzg.d.ts → core/Kzg.d.ts} +0 -0
  859. /package/_types/{Log.d.ts → core/Log.d.ts} +0 -0
  860. /package/_types/{Mnemonic.d.ts → core/Mnemonic.d.ts} +0 -0
  861. /package/_types/{P256.d.ts → core/P256.d.ts} +0 -0
  862. /package/_types/{PersonalMessage.d.ts → core/PersonalMessage.d.ts} +0 -0
  863. /package/_types/{Provider.d.ts → core/Provider.d.ts} +0 -0
  864. /package/_types/{PublicKey.d.ts → core/PublicKey.d.ts} +0 -0
  865. /package/_types/{Rlp.d.ts → core/Rlp.d.ts} +0 -0
  866. /package/_types/{RpcSchema.d.ts → core/RpcSchema.d.ts} +0 -0
  867. /package/_types/{RpcTransport.d.ts → core/RpcTransport.d.ts} +0 -0
  868. /package/_types/{Secp256k1.d.ts → core/Secp256k1.d.ts} +0 -0
  869. /package/_types/{Signature.d.ts → core/Signature.d.ts} +0 -0
  870. /package/_types/{Siwe.d.ts → core/Siwe.d.ts} +0 -0
  871. /package/_types/{Solidity.d.ts → core/Solidity.d.ts} +0 -0
  872. /package/_types/{Transaction.d.ts → core/Transaction.d.ts} +0 -0
  873. /package/_types/{TransactionEnvelope.d.ts → core/TransactionEnvelope.d.ts} +0 -0
  874. /package/_types/{TransactionEnvelopeEip1559.d.ts → core/TransactionEnvelopeEip1559.d.ts} +0 -0
  875. /package/_types/{TransactionEnvelopeEip2930.d.ts → core/TransactionEnvelopeEip2930.d.ts} +0 -0
  876. /package/_types/{TransactionEnvelopeEip4844.d.ts → core/TransactionEnvelopeEip4844.d.ts} +0 -0
  877. /package/_types/{TransactionEnvelopeEip7702.d.ts → core/TransactionEnvelopeEip7702.d.ts} +0 -0
  878. /package/_types/{TransactionEnvelopeLegacy.d.ts → core/TransactionEnvelopeLegacy.d.ts} +0 -0
  879. /package/_types/{TransactionReceipt.d.ts → core/TransactionReceipt.d.ts} +0 -0
  880. /package/_types/{TransactionRequest.d.ts → core/TransactionRequest.d.ts} +0 -0
  881. /package/_types/{TypedData.d.ts → core/TypedData.d.ts} +0 -0
  882. /package/_types/{ValidatorData.d.ts → core/ValidatorData.d.ts} +0 -0
  883. /package/_types/{Value.d.ts → core/Value.d.ts} +0 -0
  884. /package/_types/{WebAuthnP256.d.ts → core/WebAuthnP256.d.ts} +0 -0
  885. /package/_types/{WebCryptoP256.d.ts → core/WebCryptoP256.d.ts} +0 -0
  886. /package/_types/{Withdrawal.d.ts → core/Withdrawal.d.ts} +0 -0
  887. /package/_types/{internal → core/internal}/abi.d.ts +0 -0
  888. /package/_types/{internal → core/internal}/abiConstructor.d.ts +0 -0
  889. /package/_types/{internal → core/internal}/abiError.d.ts +0 -0
  890. /package/_types/{internal → core/internal}/abiEvent.d.ts +0 -0
  891. /package/_types/{internal → core/internal}/abiFunction.d.ts +0 -0
  892. /package/_types/{internal → core/internal}/abiItem.d.ts +0 -0
  893. /package/_types/{internal → core/internal}/abiParameters.d.ts +0 -0
  894. /package/_types/{internal → core/internal}/base58.d.ts +0 -0
  895. /package/_types/{internal → core/internal}/bytes.d.ts +0 -0
  896. /package/_types/{internal → core/internal}/cursor.d.ts +0 -0
  897. /package/_types/{internal → core/internal}/errors.d.ts +0 -0
  898. /package/_types/{internal → core/internal}/hdKey.d.ts +0 -0
  899. /package/_types/{internal → core/internal}/hex.d.ts +0 -0
  900. /package/_types/{internal → core/internal}/lru.d.ts +0 -0
  901. /package/_types/{internal → core/internal}/mnemonic/wordlists.d.ts +0 -0
  902. /package/_types/{internal → core/internal}/promise.d.ts +0 -0
  903. /package/_types/{internal → core/internal}/register.d.ts +0 -0
  904. /package/_types/{internal → core/internal}/rpcSchema.d.ts +0 -0
  905. /package/_types/{internal → core/internal}/rpcSchemas/eth.d.ts +0 -0
  906. /package/_types/{internal → core/internal}/rpcSchemas/wallet.d.ts +0 -0
  907. /package/_types/{internal → core/internal}/rpcTransport.d.ts +0 -0
  908. /package/_types/{internal → core/internal}/types.d.ts +0 -0
  909. /package/_types/{internal → core/internal}/uid.d.ts +0 -0
  910. /package/_types/{internal → core/internal}/webauthn.d.ts +0 -0
  911. /package/{Abi.ts → core/Abi.ts} +0 -0
  912. /package/{AbiConstructor.ts → core/AbiConstructor.ts} +0 -0
  913. /package/{AbiError.ts → core/AbiError.ts} +0 -0
  914. /package/{AbiEvent.ts → core/AbiEvent.ts} +0 -0
  915. /package/{AbiFunction.ts → core/AbiFunction.ts} +0 -0
  916. /package/{AbiItem.ts → core/AbiItem.ts} +0 -0
  917. /package/{AbiParameters.ts → core/AbiParameters.ts} +0 -0
  918. /package/{AccessList.ts → core/AccessList.ts} +0 -0
  919. /package/{Address.ts → core/Address.ts} +0 -0
  920. /package/{AesGcm.ts → core/AesGcm.ts} +0 -0
  921. /package/{Authorization.ts → core/Authorization.ts} +0 -0
  922. /package/{Base58.ts → core/Base58.ts} +0 -0
  923. /package/{Base64.ts → core/Base64.ts} +0 -0
  924. /package/{Blobs.ts → core/Blobs.ts} +0 -0
  925. /package/{Block.ts → core/Block.ts} +0 -0
  926. /package/{Bloom.ts → core/Bloom.ts} +0 -0
  927. /package/{Bls.ts → core/Bls.ts} +0 -0
  928. /package/{BlsPoint.ts → core/BlsPoint.ts} +0 -0
  929. /package/{Caches.ts → core/Caches.ts} +0 -0
  930. /package/{ContractAddress.ts → core/ContractAddress.ts} +0 -0
  931. /package/{Ens.ts → core/Ens.ts} +0 -0
  932. /package/{Errors.ts → core/Errors.ts} +0 -0
  933. /package/{Fee.ts → core/Fee.ts} +0 -0
  934. /package/{Filter.ts → core/Filter.ts} +0 -0
  935. /package/{Hash.ts → core/Hash.ts} +0 -0
  936. /package/{HdKey.ts → core/HdKey.ts} +0 -0
  937. /package/{Json.ts → core/Json.ts} +0 -0
  938. /package/{Kzg.ts → core/Kzg.ts} +0 -0
  939. /package/{Log.ts → core/Log.ts} +0 -0
  940. /package/{Mnemonic.ts → core/Mnemonic.ts} +0 -0
  941. /package/{P256.ts → core/P256.ts} +0 -0
  942. /package/{PersonalMessage.ts → core/PersonalMessage.ts} +0 -0
  943. /package/{Provider.ts → core/Provider.ts} +0 -0
  944. /package/{PublicKey.ts → core/PublicKey.ts} +0 -0
  945. /package/{Rlp.ts → core/Rlp.ts} +0 -0
  946. /package/{RpcSchema.ts → core/RpcSchema.ts} +0 -0
  947. /package/{RpcTransport.ts → core/RpcTransport.ts} +0 -0
  948. /package/{Secp256k1.ts → core/Secp256k1.ts} +0 -0
  949. /package/{Signature.ts → core/Signature.ts} +0 -0
  950. /package/{Siwe.ts → core/Siwe.ts} +0 -0
  951. /package/{Solidity.ts → core/Solidity.ts} +0 -0
  952. /package/{Transaction.ts → core/Transaction.ts} +0 -0
  953. /package/{TransactionEnvelope.ts → core/TransactionEnvelope.ts} +0 -0
  954. /package/{TransactionEnvelopeEip1559.ts → core/TransactionEnvelopeEip1559.ts} +0 -0
  955. /package/{TransactionEnvelopeEip2930.ts → core/TransactionEnvelopeEip2930.ts} +0 -0
  956. /package/{TransactionEnvelopeEip4844.ts → core/TransactionEnvelopeEip4844.ts} +0 -0
  957. /package/{TransactionEnvelopeEip7702.ts → core/TransactionEnvelopeEip7702.ts} +0 -0
  958. /package/{TransactionEnvelopeLegacy.ts → core/TransactionEnvelopeLegacy.ts} +0 -0
  959. /package/{TransactionReceipt.ts → core/TransactionReceipt.ts} +0 -0
  960. /package/{TransactionRequest.ts → core/TransactionRequest.ts} +0 -0
  961. /package/{TypedData.ts → core/TypedData.ts} +0 -0
  962. /package/{ValidatorData.ts → core/ValidatorData.ts} +0 -0
  963. /package/{Value.ts → core/Value.ts} +0 -0
  964. /package/{WebAuthnP256.ts → core/WebAuthnP256.ts} +0 -0
  965. /package/{WebCryptoP256.ts → core/WebCryptoP256.ts} +0 -0
  966. /package/{Withdrawal.ts → core/Withdrawal.ts} +0 -0
  967. /package/{internal → core/internal}/abi.ts +0 -0
  968. /package/{internal → core/internal}/abiConstructor.ts +0 -0
  969. /package/{internal → core/internal}/abiError.ts +0 -0
  970. /package/{internal → core/internal}/abiEvent.ts +0 -0
  971. /package/{internal → core/internal}/abiFunction.ts +0 -0
  972. /package/{internal → core/internal}/abiItem.ts +0 -0
  973. /package/{internal → core/internal}/abiParameters.ts +0 -0
  974. /package/{internal → core/internal}/base58.ts +0 -0
  975. /package/{internal → core/internal}/bytes.ts +0 -0
  976. /package/{internal → core/internal}/cursor.ts +0 -0
  977. /package/{internal → core/internal}/errors.ts +0 -0
  978. /package/{internal → core/internal}/hdKey.ts +0 -0
  979. /package/{internal → core/internal}/hex.ts +0 -0
  980. /package/{internal → core/internal}/lru.ts +0 -0
  981. /package/{internal → core/internal}/mnemonic/wordlists.ts +0 -0
  982. /package/{internal → core/internal}/promise.ts +0 -0
  983. /package/{internal → core/internal}/register.ts +0 -0
  984. /package/{internal → core/internal}/rpcSchema.ts +0 -0
  985. /package/{internal → core/internal}/rpcSchemas/eth.ts +0 -0
  986. /package/{internal → core/internal}/rpcSchemas/wallet.ts +0 -0
  987. /package/{internal → core/internal}/rpcTransport.ts +0 -0
  988. /package/{internal → core/internal}/types.ts +0 -0
  989. /package/{internal → core/internal}/uid.ts +0 -0
  990. /package/{internal → core/internal}/webauthn.ts +0 -0
package/core/Hex.ts ADDED
@@ -0,0 +1,1039 @@
1
+ import { equalBytes } from '@noble/curves/abstract/utils'
2
+ import * as Bytes from './Bytes.js'
3
+ import * as Errors from './Errors.js'
4
+ import * as Json from './Json.js'
5
+ import * as internal_bytes from './internal/bytes.js'
6
+ import * as internal from './internal/hex.js'
7
+
8
+ const encoder = /*#__PURE__*/ new TextEncoder()
9
+
10
+ const hexes = /*#__PURE__*/ Array.from({ length: 256 }, (_v, i) =>
11
+ i.toString(16).padStart(2, '0'),
12
+ )
13
+
14
+ /** Root type for a Hex string. */
15
+ export type Hex = `0x${string}`
16
+
17
+ /**
18
+ * Asserts if the given value is {@link ox#Hex.Hex}.
19
+ *
20
+ * @example
21
+ * ```ts twoslash
22
+ * import { Hex } from 'ox'
23
+ *
24
+ * Hex.assert('abc')
25
+ * // @error: InvalidHexValueTypeError:
26
+ * // @error: Value `"abc"` of type `string` is an invalid hex type.
27
+ * // @error: Hex types must be represented as `"0x\${string}"`.
28
+ * ```
29
+ *
30
+ * @param value - The value to assert.
31
+ * @param options - Options.
32
+ */
33
+ export function assert(
34
+ value: unknown,
35
+ options: assert.Options = {},
36
+ ): asserts value is Hex {
37
+ const { strict = false } = options
38
+ if (!value) throw new InvalidHexTypeError(value)
39
+ if (typeof value !== 'string') throw new InvalidHexTypeError(value)
40
+ if (strict) {
41
+ if (!/^0x[0-9a-fA-F]*$/.test(value)) throw new InvalidHexValueError(value)
42
+ }
43
+ if (!value.startsWith('0x')) throw new InvalidHexValueError(value)
44
+ }
45
+
46
+ export declare namespace assert {
47
+ type Options = {
48
+ /** Checks if the {@link ox#Hex.Hex} value contains invalid hexadecimal characters. @default false */
49
+ strict?: boolean | undefined
50
+ }
51
+
52
+ type ErrorType =
53
+ | InvalidHexTypeError
54
+ | InvalidHexValueError
55
+ | Errors.GlobalErrorType
56
+ }
57
+
58
+ /* v8 ignore next */
59
+ assert.parseError = (error: unknown) => error as assert.ErrorType
60
+
61
+ /**
62
+ * Concatenates two or more {@link ox#Hex.Hex}.
63
+ *
64
+ * @example
65
+ * ```ts twoslash
66
+ * import { Hex } from 'ox'
67
+ *
68
+ * Hex.concat('0x123', '0x456')
69
+ * // @log: '0x123456'
70
+ * ```
71
+ *
72
+ * @param values - The {@link ox#Hex.Hex} values to concatenate.
73
+ * @returns The concatenated {@link ox#Hex.Hex} value.
74
+ */
75
+ export function concat(...values: readonly Hex[]): Hex {
76
+ return `0x${(values as Hex[]).reduce((acc, x) => acc + x.replace('0x', ''), '')}`
77
+ }
78
+
79
+ export declare namespace concat {
80
+ type ErrorType = Errors.GlobalErrorType
81
+ }
82
+
83
+ /* v8 ignore next */
84
+ concat.parseError = (error: unknown) => error as concat.ErrorType
85
+
86
+ /**
87
+ * Instantiates a {@link ox#Hex.Hex} value from a hex string or {@link ox#Bytes.Bytes} value.
88
+ *
89
+ * :::tip
90
+ *
91
+ * To instantiate from a **Boolean**, **String**, or **Number**, use one of the following:
92
+ *
93
+ * - `Hex.fromBoolean`
94
+ *
95
+ * - `Hex.fromString`
96
+ *
97
+ * - `Hex.fromNumber`
98
+ *
99
+ * :::
100
+ *
101
+ * @example
102
+ * ```ts twoslash
103
+ * import { Bytes, Hex } from 'ox'
104
+ *
105
+ * Hex.from('0x48656c6c6f20576f726c6421')
106
+ * // @log: '0x48656c6c6f20576f726c6421'
107
+ *
108
+ * Hex.from(Bytes.from([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33]))
109
+ * // @log: '0x48656c6c6f20576f726c6421'
110
+ * ```
111
+ *
112
+ * @param value - The {@link ox#Bytes.Bytes} value to encode.
113
+ * @returns The encoded {@link ox#Hex.Hex} value.
114
+ */
115
+ export function from(value: Hex | Bytes.Bytes | readonly number[]): Hex {
116
+ if (value instanceof Uint8Array) return fromBytes(value)
117
+ if (Array.isArray(value)) return fromBytes(new Uint8Array(value))
118
+ return value as never
119
+ }
120
+
121
+ export declare namespace from {
122
+ type Options = {
123
+ /** The size (in bytes) of the output hex value. */
124
+ size?: number | undefined
125
+ }
126
+
127
+ type ErrorType = fromBytes.ErrorType | Errors.GlobalErrorType
128
+ }
129
+
130
+ /* v8 ignore next */
131
+ from.parseError = (error: unknown) => error as from.ErrorType
132
+
133
+ /**
134
+ * Encodes a boolean into a {@link ox#Hex.Hex} value.
135
+ *
136
+ * @example
137
+ * ```ts twoslash
138
+ * import { Hex } from 'ox'
139
+ *
140
+ * Hex.fromBoolean(true)
141
+ * // @log: '0x1'
142
+ *
143
+ * Hex.fromBoolean(false)
144
+ * // @log: '0x0'
145
+ *
146
+ * Hex.fromBoolean(true, { size: 32 })
147
+ * // @log: '0x0000000000000000000000000000000000000000000000000000000000000001'
148
+ * ```
149
+ *
150
+ * @param value - The boolean value to encode.
151
+ * @param options - Options.
152
+ * @returns The encoded {@link ox#Hex.Hex} value.
153
+ */
154
+ export function fromBoolean(
155
+ value: boolean,
156
+ options: fromBoolean.Options = {},
157
+ ): Hex {
158
+ const hex: Hex = `0x${Number(value)}`
159
+ if (typeof options.size === 'number') {
160
+ internal.assertSize(hex, options.size)
161
+ return padLeft(hex, options.size)
162
+ }
163
+ return hex
164
+ }
165
+
166
+ export declare namespace fromBoolean {
167
+ type Options = {
168
+ /** The size (in bytes) of the output hex value. */
169
+ size?: number | undefined
170
+ }
171
+
172
+ type ErrorType =
173
+ | internal.assertSize.ErrorType
174
+ | padLeft.ErrorType
175
+ | Errors.GlobalErrorType
176
+ }
177
+
178
+ fromBoolean.parseError = (error: unknown) =>
179
+ /* v8 ignore next */
180
+ error as fromBoolean.ErrorType
181
+
182
+ /**
183
+ * Encodes a {@link ox#Bytes.Bytes} value into a {@link ox#Hex.Hex} value.
184
+ *
185
+ * @example
186
+ * ```ts twoslash
187
+ * import { Bytes, Hex } from 'ox'
188
+ *
189
+ * Hex.fromBytes(Bytes.from([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33]))
190
+ * // @log: '0x48656c6c6f20576f726c6421'
191
+ * ```
192
+ *
193
+ * @param value - The {@link ox#Bytes.Bytes} value to encode.
194
+ * @param options - Options.
195
+ * @returns The encoded {@link ox#Hex.Hex} value.
196
+ */
197
+ export function fromBytes(
198
+ value: Bytes.Bytes,
199
+ options: fromBytes.Options = {},
200
+ ): Hex {
201
+ let string = ''
202
+ for (let i = 0; i < value.length; i++) string += hexes[value[i]!]
203
+ const hex = `0x${string}` as const
204
+
205
+ if (typeof options.size === 'number') {
206
+ internal.assertSize(hex, options.size)
207
+ return padRight(hex, options.size)
208
+ }
209
+ return hex
210
+ }
211
+
212
+ export declare namespace fromBytes {
213
+ type Options = {
214
+ /** The size (in bytes) of the output hex value. */
215
+ size?: number | undefined
216
+ }
217
+
218
+ type ErrorType =
219
+ | internal.assertSize.ErrorType
220
+ | padRight.ErrorType
221
+ | Errors.GlobalErrorType
222
+ }
223
+
224
+ /* v8 ignore next */
225
+ fromBytes.parseError = (error: unknown) => error as fromBytes.ErrorType
226
+
227
+ /**
228
+ * Encodes a number or bigint into a {@link ox#Hex.Hex} value.
229
+ *
230
+ * @example
231
+ * ```ts twoslash
232
+ * import { Hex } from 'ox'
233
+ *
234
+ * Hex.fromNumber(420)
235
+ * // @log: '0x1a4'
236
+ *
237
+ * Hex.fromNumber(420, { size: 32 })
238
+ * // @log: '0x00000000000000000000000000000000000000000000000000000000000001a4'
239
+ * ```
240
+ *
241
+ * @param value - The number or bigint value to encode.
242
+ * @param options - Options.
243
+ * @returns The encoded {@link ox#Hex.Hex} value.
244
+ */
245
+ export function fromNumber(
246
+ value: number | bigint,
247
+ options: fromNumber.Options = {},
248
+ ): Hex {
249
+ const { signed, size } = options
250
+
251
+ const value_ = BigInt(value)
252
+
253
+ let maxValue: bigint | number | undefined
254
+ if (size) {
255
+ if (signed) maxValue = (1n << (BigInt(size) * 8n - 1n)) - 1n
256
+ else maxValue = 2n ** (BigInt(size) * 8n) - 1n
257
+ } else if (typeof value === 'number') {
258
+ maxValue = BigInt(Number.MAX_SAFE_INTEGER)
259
+ }
260
+
261
+ const minValue = typeof maxValue === 'bigint' && signed ? -maxValue - 1n : 0
262
+
263
+ if ((maxValue && value_ > maxValue) || value_ < minValue) {
264
+ const suffix = typeof value === 'bigint' ? 'n' : ''
265
+ throw new IntegerOutOfRangeError({
266
+ max: maxValue ? `${maxValue}${suffix}` : undefined,
267
+ min: `${minValue}${suffix}`,
268
+ signed,
269
+ size,
270
+ value: `${value}${suffix}`,
271
+ })
272
+ }
273
+
274
+ const stringValue = (
275
+ signed && value_ < 0 ? (1n << BigInt(size * 8)) + BigInt(value_) : value_
276
+ ).toString(16)
277
+
278
+ const hex = `0x${stringValue}` as Hex
279
+ if (size) return padLeft(hex, size) as Hex
280
+ return hex
281
+ }
282
+
283
+ export declare namespace fromNumber {
284
+ type Options =
285
+ | {
286
+ /** Whether or not the number of a signed representation. */
287
+ signed?: boolean | undefined
288
+ /** The size (in bytes) of the output hex value. */
289
+ size: number
290
+ }
291
+ | {
292
+ signed?: undefined
293
+ /** The size (in bytes) of the output hex value. */
294
+ size?: number | undefined
295
+ }
296
+
297
+ type ErrorType =
298
+ | IntegerOutOfRangeError
299
+ | padLeft.ErrorType
300
+ | Errors.GlobalErrorType
301
+ }
302
+
303
+ fromNumber.parseError = (error: unknown) =>
304
+ /* v8 ignore next */
305
+ error as fromNumber.ErrorType
306
+
307
+ /**
308
+ * Encodes a string into a {@link ox#Hex.Hex} value.
309
+ *
310
+ * @example
311
+ * ```ts twoslash
312
+ * import { Hex } from 'ox'
313
+ * Hex.fromString('Hello World!')
314
+ * // '0x48656c6c6f20576f726c6421'
315
+ *
316
+ * Hex.fromString('Hello World!', { size: 32 })
317
+ * // '0x48656c6c6f20576f726c64210000000000000000000000000000000000000000'
318
+ * ```
319
+ *
320
+ * @param value - The string value to encode.
321
+ * @param options - Options.
322
+ * @returns The encoded {@link ox#Hex.Hex} value.
323
+ */
324
+ export function fromString(
325
+ value: string,
326
+ options: fromString.Options = {},
327
+ ): Hex {
328
+ return fromBytes(encoder.encode(value), options)
329
+ }
330
+
331
+ export declare namespace fromString {
332
+ type Options = {
333
+ /** The size (in bytes) of the output hex value. */
334
+ size?: number | undefined
335
+ }
336
+
337
+ type ErrorType = fromBytes.ErrorType | Errors.GlobalErrorType
338
+ }
339
+
340
+ fromString.parseError = (error: unknown) =>
341
+ /* v8 ignore next */
342
+ error as fromString.ErrorType
343
+
344
+ /**
345
+ * Checks if two {@link ox#Hex.Hex} values are equal.
346
+ *
347
+ * @example
348
+ * ```ts twoslash
349
+ * import { Hex } from 'ox'
350
+ *
351
+ * Hex.isEqual('0xdeadbeef', '0xdeadbeef')
352
+ * // @log: true
353
+ *
354
+ * Hex.isEqual('0xda', '0xba')
355
+ * // @log: false
356
+ * ```
357
+ *
358
+ * @param hexA - The first {@link ox#Hex.Hex} value.
359
+ * @param hexB - The second {@link ox#Hex.Hex} value.
360
+ * @returns `true` if the two {@link ox#Hex.Hex} values are equal, `false` otherwise.
361
+ */
362
+ export function isEqual(hexA: Hex, hexB: Hex) {
363
+ return equalBytes(Bytes.fromHex(hexA), Bytes.fromHex(hexB))
364
+ }
365
+
366
+ export declare namespace isEqual {
367
+ type ErrorType = Bytes.fromHex.ErrorType | Errors.GlobalErrorType
368
+ }
369
+
370
+ /* v8 ignore next */
371
+ isEqual.parseError = (error: unknown) => error as isEqual.ErrorType
372
+
373
+ /**
374
+ * Pads a {@link ox#Hex.Hex} value to the left with zero bytes until it reaches the given `size` (default: 32 bytes).
375
+ *
376
+ * @example
377
+ * ```ts twoslash
378
+ * import { Hex } from 'ox'
379
+ *
380
+ * Hex.padLeft('0x1234', 4)
381
+ * // @log: '0x00001234'
382
+ * ```
383
+ *
384
+ * @param value - The {@link ox#Hex.Hex} value to pad.
385
+ * @param size - The size (in bytes) of the output hex value.
386
+ * @returns The padded {@link ox#Hex.Hex} value.
387
+ */
388
+ export function padLeft(
389
+ value: Hex,
390
+ size?: number | undefined,
391
+ ): padLeft.ReturnType {
392
+ return internal.pad(value, { dir: 'left', size })
393
+ }
394
+
395
+ export declare namespace padLeft {
396
+ type ReturnType = Hex
397
+ type ErrorType = internal.pad.ErrorType | Errors.GlobalErrorType
398
+ }
399
+
400
+ /* v8 ignore next */
401
+ padLeft.parseError = (error: unknown) => error as padLeft.ErrorType
402
+
403
+ /**
404
+ * Pads a {@link ox#Hex.Hex} value to the right with zero bytes until it reaches the given `size` (default: 32 bytes).
405
+ *
406
+ * @example
407
+ * ```ts
408
+ * import { Hex } from 'ox'
409
+ *
410
+ * Hex.padRight('0x1234', 4)
411
+ * // @log: '0x12340000'
412
+ * ```
413
+ *
414
+ * @param value - The {@link ox#Hex.Hex} value to pad.
415
+ * @param size - The size (in bytes) of the output hex value.
416
+ * @returns The padded {@link ox#Hex.Hex} value.
417
+ */
418
+ export function padRight(
419
+ value: Hex,
420
+ size?: number | undefined,
421
+ ): padRight.ReturnType {
422
+ return internal.pad(value, { dir: 'right', size })
423
+ }
424
+
425
+ export declare namespace padRight {
426
+ type ReturnType = Hex
427
+ type ErrorType = internal.pad.ErrorType | Errors.GlobalErrorType
428
+ }
429
+
430
+ /* v8 ignore next */
431
+ padRight.parseError = (error: unknown) => error as padRight.ErrorType
432
+
433
+ /**
434
+ * Generates a random {@link ox#Hex.Hex} value of the specified length.
435
+ *
436
+ * @example
437
+ * ```ts twoslash
438
+ * import { Hex } from 'ox'
439
+ *
440
+ * const hex = Hex.random(32)
441
+ * // @log: '0x...'
442
+ * ```
443
+ *
444
+ * @returns Random {@link ox#Hex.Hex} value.
445
+ */
446
+ export function random(length: number): Hex {
447
+ return fromBytes(Bytes.random(length))
448
+ }
449
+
450
+ export declare namespace random {
451
+ type ErrorType = Errors.GlobalErrorType
452
+ }
453
+
454
+ /* v8 ignore next */
455
+ random.parseError = (error: unknown) => error as random.ErrorType
456
+
457
+ /**
458
+ * Returns a section of a {@link ox#Bytes.Bytes} value given a start/end bytes offset.
459
+ *
460
+ * @example
461
+ * ```ts twoslash
462
+ * import { Hex } from 'ox'
463
+ *
464
+ * Hex.slice('0x0123456789', 1, 4)
465
+ * // @log: '0x234567'
466
+ * ```
467
+ *
468
+ * @param value - The {@link ox#Hex.Hex} value to slice.
469
+ * @param start - The start offset (in bytes).
470
+ * @param end - The end offset (in bytes).
471
+ * @param options - Options.
472
+ * @returns The sliced {@link ox#Hex.Hex} value.
473
+ */
474
+ export function slice(
475
+ value: Hex,
476
+ start?: number | undefined,
477
+ end?: number | undefined,
478
+ options: slice.Options = {},
479
+ ): Hex {
480
+ const { strict } = options
481
+ internal.assertStartOffset(value, start)
482
+ const value_ = `0x${value
483
+ .replace('0x', '')
484
+ .slice((start ?? 0) * 2, (end ?? value.length) * 2)}` as const
485
+ if (strict) internal.assertEndOffset(value_, start, end)
486
+ return value_
487
+ }
488
+
489
+ export declare namespace slice {
490
+ type Options = {
491
+ /** Asserts that the sliced value is the same size as the given start/end offsets. */
492
+ strict?: boolean | undefined
493
+ }
494
+
495
+ type ErrorType =
496
+ | internal.assertStartOffset.ErrorType
497
+ | internal.assertEndOffset.ErrorType
498
+ | Errors.GlobalErrorType
499
+ }
500
+
501
+ /* v8 ignore next */
502
+ slice.parseError = (error: unknown) => error as slice.ErrorType
503
+
504
+ /**
505
+ * Retrieves the size of a {@link ox#Hex.Hex} value (in bytes).
506
+ *
507
+ * @example
508
+ * ```ts twoslash
509
+ * import { Hex } from 'ox'
510
+ *
511
+ * Hex.size('0xdeadbeef')
512
+ * // @log: 4
513
+ * ```
514
+ *
515
+ * @param value - The {@link ox#Hex.Hex} value to get the size of.
516
+ * @returns The size of the {@link ox#Hex.Hex} value (in bytes).
517
+ */
518
+ export function size(value: Hex): number {
519
+ return Math.ceil((value.length - 2) / 2)
520
+ }
521
+
522
+ export declare namespace size {
523
+ export type ErrorType = Errors.GlobalErrorType
524
+ }
525
+
526
+ /* v8 ignore next */
527
+ size.parseError = (error: unknown) => error as size.ErrorType
528
+
529
+ /**
530
+ * Trims leading zeros from a {@link ox#Hex.Hex} value.
531
+ *
532
+ * @example
533
+ * ```ts twoslash
534
+ * import { Hex } from 'ox'
535
+ *
536
+ * Hex.trimLeft('0x00000000deadbeef')
537
+ * // @log: '0xdeadbeef'
538
+ * ```
539
+ *
540
+ * @param value - The {@link ox#Hex.Hex} value to trim.
541
+ * @returns The trimmed {@link ox#Hex.Hex} value.
542
+ */
543
+ export function trimLeft(value: Hex): trimLeft.ReturnType {
544
+ return internal.trim(value, { dir: 'left' })
545
+ }
546
+
547
+ export declare namespace trimLeft {
548
+ type ReturnType = Hex
549
+
550
+ type ErrorType = internal.trim.ErrorType | Errors.GlobalErrorType
551
+ }
552
+
553
+ /* v8 ignore next */
554
+ trimLeft.parseError = (error: unknown) => error as trimLeft.ErrorType
555
+
556
+ /**
557
+ * Trims trailing zeros from a {@link ox#Hex.Hex} value.
558
+ *
559
+ * @example
560
+ * ```ts twoslash
561
+ * import { Hex } from 'ox'
562
+ *
563
+ * Hex.trimRight('0xdeadbeef00000000')
564
+ * // @log: '0xdeadbeef'
565
+ * ```
566
+ *
567
+ * @param value - The {@link ox#Hex.Hex} value to trim.
568
+ * @returns The trimmed {@link ox#Hex.Hex} value.
569
+ */
570
+ export function trimRight(value: Hex): trimRight.ReturnType {
571
+ return internal.trim(value, { dir: 'right' })
572
+ }
573
+
574
+ export declare namespace trimRight {
575
+ type ReturnType = Hex
576
+
577
+ type ErrorType = internal.trim.ErrorType | Errors.GlobalErrorType
578
+ }
579
+
580
+ /* v8 ignore next */
581
+ trimRight.parseError = (error: unknown) => error as trimRight.ErrorType
582
+
583
+ /**
584
+ * Decodes a {@link ox#Hex.Hex} value into a BigInt.
585
+ *
586
+ * @example
587
+ * ```ts twoslash
588
+ * import { Hex } from 'ox'
589
+ *
590
+ * Hex.toBigInt('0x1a4')
591
+ * // @log: 420n
592
+ *
593
+ * Hex.toBigInt('0x00000000000000000000000000000000000000000000000000000000000001a4', { size: 32 })
594
+ * // @log: 420n
595
+ * ```
596
+ *
597
+ * @param hex - The {@link ox#Hex.Hex} value to decode.
598
+ * @param options - Options.
599
+ * @returns The decoded BigInt.
600
+ */
601
+ export function toBigInt(hex: Hex, options: toBigInt.Options = {}): bigint {
602
+ const { signed } = options
603
+
604
+ if (options.size) internal.assertSize(hex, options.size)
605
+
606
+ const value = BigInt(hex)
607
+ if (!signed) return value
608
+
609
+ const size = (hex.length - 2) / 2
610
+
611
+ const max_unsigned = (1n << (BigInt(size) * 8n)) - 1n
612
+ const max_signed = max_unsigned >> 1n
613
+
614
+ if (value <= max_signed) return value
615
+ return value - max_unsigned - 1n
616
+ }
617
+
618
+ export declare namespace toBigInt {
619
+ type Options = {
620
+ /** Whether or not the number of a signed representation. */
621
+ signed?: boolean | undefined
622
+ /** Size (in bytes) of the hex value. */
623
+ size?: number | undefined
624
+ }
625
+
626
+ type ErrorType = internal.assertSize.ErrorType | Errors.GlobalErrorType
627
+ }
628
+
629
+ /* v8 ignore next */
630
+ toBigInt.parseError = (error: unknown) => error as toBigInt.ErrorType
631
+
632
+ /**
633
+ * Decodes a {@link ox#Hex.Hex} value into a boolean.
634
+ *
635
+ * @example
636
+ * ```ts twoslash
637
+ * import { Hex } from 'ox'
638
+ *
639
+ * Hex.toBoolean('0x01')
640
+ * // @log: true
641
+ *
642
+ * Hex.toBoolean('0x0000000000000000000000000000000000000000000000000000000000000001', { size: 32 })
643
+ * // @log: true
644
+ * ```
645
+ *
646
+ * @param hex - The {@link ox#Hex.Hex} value to decode.
647
+ * @param options - Options.
648
+ * @returns The decoded boolean.
649
+ */
650
+ export function toBoolean(hex: Hex, options: toBoolean.Options = {}): boolean {
651
+ let hex_ = hex
652
+ if (options.size) {
653
+ internal.assertSize(hex, options.size)
654
+ hex_ = trimLeft(hex_)
655
+ }
656
+ if (trimLeft(hex_) === '0x00') return false
657
+ if (trimLeft(hex_) === '0x01') return true
658
+ throw new InvalidHexBooleanError(hex_)
659
+ }
660
+
661
+ export declare namespace toBoolean {
662
+ type Options = {
663
+ /** Size (in bytes) of the hex value. */
664
+ size?: number | undefined
665
+ }
666
+
667
+ type ErrorType =
668
+ | internal.assertSize.ErrorType
669
+ | trimLeft.ErrorType
670
+ | InvalidHexBooleanError
671
+ | Errors.GlobalErrorType
672
+ }
673
+
674
+ /* v8 ignore next */
675
+ toBoolean.parseError = (error: unknown) => error as toBoolean.ErrorType
676
+
677
+ /**
678
+ * Decodes a {@link ox#Hex.Hex} value into a {@link ox#Bytes.Bytes}.
679
+ *
680
+ * @example
681
+ * ```ts twoslash
682
+ * import { Hex } from 'ox'
683
+ *
684
+ * const data = Hex.toBytes('0x48656c6c6f20776f726c6421')
685
+ * // @log: Uint8Array([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33])
686
+ * ```
687
+ *
688
+ * @param hex - The {@link ox#Hex.Hex} value to decode.
689
+ * @param options - Options.
690
+ * @returns The decoded {@link ox#Bytes.Bytes}.
691
+ */
692
+ export function toBytes(hex: Hex, options: toBytes.Options = {}): Bytes.Bytes {
693
+ return Bytes.fromHex(hex, options)
694
+ }
695
+
696
+ export declare namespace toBytes {
697
+ type Options = {
698
+ /** Size (in bytes) of the hex value. */
699
+ size?: number | undefined
700
+ }
701
+
702
+ type ErrorType = Bytes.fromHex.ErrorType | Errors.GlobalErrorType
703
+ }
704
+
705
+ /* v8 ignore next */
706
+ toBytes.parseError = (error: unknown) => error as toBytes.ErrorType
707
+
708
+ /**
709
+ * Decodes a {@link ox#Hex.Hex} value into a number.
710
+ *
711
+ * @example
712
+ * ```ts twoslash
713
+ * import { Hex } from 'ox'
714
+ *
715
+ * Hex.toNumber('0x1a4')
716
+ * // @log: 420
717
+ *
718
+ * Hex.toNumber('0x00000000000000000000000000000000000000000000000000000000000001a4', { size: 32 })
719
+ * // @log: 420
720
+ * ```
721
+ *
722
+ * @param hex - The {@link ox#Hex.Hex} value to decode.
723
+ * @param options - Options.
724
+ * @returns The decoded number.
725
+ */
726
+ export function toNumber(hex: Hex, options: toNumber.Options = {}): number {
727
+ const { signed, size } = options
728
+ if (!signed && !size) return Number(hex)
729
+ return Number(toBigInt(hex, options))
730
+ }
731
+
732
+ export declare namespace toNumber {
733
+ type Options = toBigInt.Options
734
+
735
+ type ErrorType = toBigInt.ErrorType | Errors.GlobalErrorType
736
+ }
737
+
738
+ /* v8 ignore next */
739
+ toNumber.parseError = (error: unknown) => error as toNumber.ErrorType
740
+
741
+ /**
742
+ * Decodes a {@link ox#Hex.Hex} value into a string.
743
+ *
744
+ * @example
745
+ * ```ts twoslash
746
+ * import { Hex } from 'ox'
747
+ *
748
+ * Hex.toString('0x48656c6c6f20576f726c6421')
749
+ * // @log: 'Hello world!'
750
+ *
751
+ * Hex.toString('0x48656c6c6f20576f726c64210000000000000000000000000000000000000000', {
752
+ * size: 32,
753
+ * })
754
+ * // @log: 'Hello world'
755
+ * ```
756
+ *
757
+ * @param hex - The {@link ox#Hex.Hex} value to decode.
758
+ * @param options - Options.
759
+ * @returns The decoded string.
760
+ */
761
+ export function toString(hex: Hex, options: toString.Options = {}): string {
762
+ const { size } = options
763
+
764
+ let bytes = Bytes.fromHex(hex)
765
+ if (size) {
766
+ internal_bytes.assertSize(bytes, size)
767
+ bytes = Bytes.trimRight(bytes)
768
+ }
769
+ return new TextDecoder().decode(bytes)
770
+ }
771
+
772
+ export declare namespace toString {
773
+ type Options = {
774
+ /** Size (in bytes) of the hex value. */
775
+ size?: number | undefined
776
+ }
777
+
778
+ type ErrorType =
779
+ | internal_bytes.assertSize.ErrorType
780
+ | Bytes.fromHex.ErrorType
781
+ | Bytes.trimRight.ErrorType
782
+ | Errors.GlobalErrorType
783
+ }
784
+
785
+ /* v8 ignore next */
786
+ toString.parseError = (error: unknown) => error as toString.ErrorType
787
+
788
+ /**
789
+ * Checks if the given value is {@link ox#Hex.Hex}.
790
+ *
791
+ * @example
792
+ * ```ts twoslash
793
+ * import { Bytes, Hex } from 'ox'
794
+ *
795
+ * Hex.validate('0xdeadbeef')
796
+ * // @log: true
797
+ *
798
+ * Hex.validate(Bytes.from([1, 2, 3]))
799
+ * // @log: false
800
+ * ```
801
+ *
802
+ * @param value - The value to check.
803
+ * @param options - Options.
804
+ * @returns `true` if the value is a {@link ox#Hex.Hex}, `false` otherwise.
805
+ */
806
+ export function validate(
807
+ value: unknown,
808
+ options: validate.Options = {},
809
+ ): value is Hex {
810
+ const { strict = false } = options
811
+ try {
812
+ assert(value, { strict })
813
+ return true
814
+ } catch {
815
+ return false
816
+ }
817
+ }
818
+
819
+ export declare namespace validate {
820
+ type Options = {
821
+ /** Checks if the {@link ox#Hex.Hex} value contains invalid hexadecimal characters. @default false */
822
+ strict?: boolean | undefined
823
+ }
824
+
825
+ type ErrorType = Errors.GlobalErrorType
826
+ }
827
+
828
+ /* v8 ignore next */
829
+ validate.parseError = (error: unknown) => error as validate.ErrorType
830
+
831
+ /**
832
+ * Thrown when the provided integer is out of range, and cannot be represented as a hex value.
833
+ *
834
+ * @example
835
+ * ```ts twoslash
836
+ * import { Hex } from 'ox'
837
+ *
838
+ * Hex.fromNumber(420182738912731283712937129)
839
+ * // @error: Hex.IntegerOutOfRangeError: Number \`4.2018273891273126e+26\` is not in safe unsigned integer range (`0` to `9007199254740991`)
840
+ * ```
841
+ */
842
+ export class IntegerOutOfRangeError extends Errors.BaseError {
843
+ override readonly name = 'Hex.IntegerOutOfRangeError'
844
+
845
+ constructor({
846
+ max,
847
+ min,
848
+ signed,
849
+ size,
850
+ value,
851
+ }: {
852
+ max?: string | undefined
853
+ min: string
854
+ signed?: boolean | undefined
855
+ size?: number | undefined
856
+ value: string
857
+ }) {
858
+ super(
859
+ `Number \`${value}\` is not in safe${
860
+ size ? ` ${size * 8}-bit` : ''
861
+ }${signed ? ' signed' : ' unsigned'} integer range ${max ? `(\`${min}\` to \`${max}\`)` : `(above \`${min}\`)`}`,
862
+ )
863
+ }
864
+ }
865
+
866
+ /**
867
+ * Thrown when the provided hex value cannot be represented as a boolean.
868
+ *
869
+ * @example
870
+ * ```ts twoslash
871
+ * import { Hex } from 'ox'
872
+ *
873
+ * Hex.toBoolean('0xa')
874
+ * // @error: Hex.InvalidHexBooleanError: Hex value `"0xa"` is not a valid boolean.
875
+ * // @error: The hex value must be `"0x0"` (false) or `"0x1"` (true).
876
+ * ```
877
+ */
878
+ export class InvalidHexBooleanError extends Errors.BaseError {
879
+ override readonly name = 'Hex.InvalidHexBooleanError'
880
+
881
+ constructor(hex: Hex) {
882
+ super(`Hex value \`"${hex}"\` is not a valid boolean.`, {
883
+ metaMessages: [
884
+ 'The hex value must be `"0x0"` (false) or `"0x1"` (true).',
885
+ ],
886
+ })
887
+ }
888
+ }
889
+
890
+ /**
891
+ * Thrown when the provided value is not a valid hex type.
892
+ *
893
+ * @example
894
+ * ```ts twoslash
895
+ * import { Hex } from 'ox'
896
+ *
897
+ * Hex.assert(1)
898
+ * // @error: Hex.InvalidHexTypeError: Value `1` of type `number` is an invalid hex type.
899
+ * ```
900
+ */
901
+ export class InvalidHexTypeError extends Errors.BaseError {
902
+ override readonly name = 'Hex.InvalidHexTypeError'
903
+
904
+ constructor(value: unknown) {
905
+ super(
906
+ `Value \`${typeof value === 'object' ? Json.stringify(value) : value}\` of type \`${typeof value}\` is an invalid hex type.`,
907
+ {
908
+ metaMessages: ['Hex types must be represented as `"0x${string}"`.'],
909
+ },
910
+ )
911
+ }
912
+ }
913
+
914
+ /**
915
+ * Thrown when the provided hex value is invalid.
916
+ *
917
+ * @example
918
+ * ```ts twoslash
919
+ * import { Hex } from 'ox'
920
+ *
921
+ * Hex.assert('0x0123456789abcdefg')
922
+ * // @error: Hex.InvalidHexValueError: Value `0x0123456789abcdefg` is an invalid hex value.
923
+ * // @error: Hex values must start with `"0x"` and contain only hexadecimal characters (0-9, a-f, A-F).
924
+ * ```
925
+ */
926
+ export class InvalidHexValueError extends Errors.BaseError {
927
+ override readonly name = 'Hex.InvalidHexValueError'
928
+
929
+ constructor(value: unknown) {
930
+ super(`Value \`${value}\` is an invalid hex value.`, {
931
+ metaMessages: [
932
+ 'Hex values must start with `"0x"` and contain only hexadecimal characters (0-9, a-f, A-F).',
933
+ ],
934
+ })
935
+ }
936
+ }
937
+
938
+ /**
939
+ * Thrown when the provided hex value is an odd length.
940
+ *
941
+ * @example
942
+ * ```ts twoslash
943
+ * import { Bytes } from 'ox'
944
+ *
945
+ * Bytes.fromHex('0xabcde')
946
+ * // @error: Hex.InvalidLengthError: Hex value `"0xabcde"` is an odd length (5 nibbles).
947
+ * ```
948
+ */
949
+ export class InvalidLengthError extends Errors.BaseError {
950
+ override readonly name = 'Hex.InvalidLengthError'
951
+
952
+ constructor(value: Hex) {
953
+ super(
954
+ `Hex value \`"${value}"\` is an odd length (${value.length - 2} nibbles).`,
955
+ {
956
+ metaMessages: ['It must be an even length.'],
957
+ },
958
+ )
959
+ }
960
+ }
961
+
962
+ /**
963
+ * Thrown when the size of the value exceeds the expected max size.
964
+ *
965
+ * @example
966
+ * ```ts twoslash
967
+ * import { Hex } from 'ox'
968
+ *
969
+ * Hex.fromString('Hello World!', { size: 8 })
970
+ * // @error: Hex.SizeOverflowError: Size cannot exceed `8` bytes. Given size: `12` bytes.
971
+ * ```
972
+ */
973
+ export class SizeOverflowError extends Errors.BaseError {
974
+ override readonly name = 'Hex.SizeOverflowError'
975
+
976
+ constructor({ givenSize, maxSize }: { givenSize: number; maxSize: number }) {
977
+ super(
978
+ `Size cannot exceed \`${maxSize}\` bytes. Given size: \`${givenSize}\` bytes.`,
979
+ )
980
+ }
981
+ }
982
+
983
+ /**
984
+ * Thrown when the slice offset exceeds the bounds of the value.
985
+ *
986
+ * @example
987
+ * ```ts twoslash
988
+ * import { Hex } from 'ox'
989
+ *
990
+ * Hex.slice('0x0123456789', 6)
991
+ * // @error: Hex.SliceOffsetOutOfBoundsError: Slice starting at offset `6` is out-of-bounds (size: `5`).
992
+ * ```
993
+ */
994
+ export class SliceOffsetOutOfBoundsError extends Errors.BaseError {
995
+ override readonly name = 'Hex.SliceOffsetOutOfBoundsError'
996
+
997
+ constructor({
998
+ offset,
999
+ position,
1000
+ size,
1001
+ }: { offset: number; position: 'start' | 'end'; size: number }) {
1002
+ super(
1003
+ `Slice ${
1004
+ position === 'start' ? 'starting' : 'ending'
1005
+ } at offset \`${offset}\` is out-of-bounds (size: \`${size}\`).`,
1006
+ )
1007
+ }
1008
+ }
1009
+
1010
+ /**
1011
+ * Thrown when the size of the value exceeds the pad size.
1012
+ *
1013
+ * @example
1014
+ * ```ts twoslash
1015
+ * import { Hex } from 'ox'
1016
+ *
1017
+ * Hex.padLeft('0x1a4e12a45a21323123aaa87a897a897a898a6567a578a867a98778a667a85a875a87a6a787a65a675a6a9', 32)
1018
+ * // @error: Hex.SizeExceedsPaddingSizeError: Hex size (`43`) exceeds padding size (`32`).
1019
+ * ```
1020
+ */
1021
+ export class SizeExceedsPaddingSizeError extends Errors.BaseError {
1022
+ override readonly name = 'Hex.SizeExceedsPaddingSizeError'
1023
+
1024
+ constructor({
1025
+ size,
1026
+ targetSize,
1027
+ type,
1028
+ }: {
1029
+ size: number
1030
+ targetSize: number
1031
+ type: 'Hex' | 'Bytes'
1032
+ }) {
1033
+ super(
1034
+ `${type.charAt(0).toUpperCase()}${type
1035
+ .slice(1)
1036
+ .toLowerCase()} size (\`${size}\`) exceeds padding size (\`${targetSize}\`).`,
1037
+ )
1038
+ }
1039
+ }