ox 0.0.1 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (756) hide show
  1. package/Abi/package.json +6 -0
  2. package/Abi.ts +163 -0
  3. package/AbiConstructor/package.json +6 -0
  4. package/AbiConstructor.ts +413 -0
  5. package/AbiError/package.json +6 -0
  6. package/AbiError.ts +719 -0
  7. package/AbiEvent/package.json +6 -0
  8. package/AbiEvent.ts +1284 -0
  9. package/AbiFunction/package.json +6 -0
  10. package/AbiFunction.ts +813 -0
  11. package/AbiItem/package.json +6 -0
  12. package/AbiItem.ts +779 -0
  13. package/AbiParameters/package.json +6 -0
  14. package/AbiParameters.ts +712 -0
  15. package/AccessList/package.json +6 -0
  16. package/AccessList.ts +124 -0
  17. package/AccountProof/package.json +6 -0
  18. package/AccountProof.ts +35 -0
  19. package/Address/package.json +6 -0
  20. package/Address.ts +359 -0
  21. package/AesGcm/package.json +6 -0
  22. package/AesGcm.ts +220 -0
  23. package/Authorization/package.json +6 -0
  24. package/Authorization.ts +639 -0
  25. package/Base58/package.json +6 -0
  26. package/Base58.ts +180 -0
  27. package/Base64/package.json +6 -0
  28. package/Base64.ts +333 -0
  29. package/Blobs/package.json +6 -0
  30. package/Blobs.ts +982 -0
  31. package/Block/package.json +6 -0
  32. package/Block.ts +317 -0
  33. package/Bloom/package.json +6 -0
  34. package/Bloom.ts +80 -0
  35. package/Bls/package.json +6 -0
  36. package/Bls.ts +496 -0
  37. package/BlsPoint/package.json +6 -0
  38. package/BlsPoint.ts +232 -0
  39. package/Bytes/package.json +6 -0
  40. package/Bytes.ts +963 -0
  41. package/CHANGELOG.md +7 -0
  42. package/Caches/package.json +6 -0
  43. package/Caches.ts +21 -0
  44. package/ContractAddress/package.json +6 -0
  45. package/ContractAddress.ts +181 -0
  46. package/Ens/package.json +6 -0
  47. package/Ens.ts +116 -0
  48. package/Errors/package.json +6 -0
  49. package/Errors.ts +95 -0
  50. package/Fee/package.json +6 -0
  51. package/Fee.ts +57 -0
  52. package/Filter/package.json +6 -0
  53. package/Filter.ts +144 -0
  54. package/Hash/package.json +6 -0
  55. package/Hash.ts +210 -0
  56. package/HdKey/package.json +6 -0
  57. package/HdKey.ts +175 -0
  58. package/Hex/package.json +6 -0
  59. package/Hex.ts +1040 -0
  60. package/Json/package.json +6 -0
  61. package/Json.ts +84 -0
  62. package/Kzg/package.json +6 -0
  63. package/Kzg.ts +51 -0
  64. package/LICENSE +21 -0
  65. package/Log/package.json +6 -0
  66. package/Log.ts +248 -0
  67. package/Mnemonic/package.json +6 -0
  68. package/Mnemonic.ts +249 -0
  69. package/P256/package.json +6 -0
  70. package/P256.ts +230 -0
  71. package/PersonalMessage/package.json +6 -0
  72. package/PersonalMessage.ts +70 -0
  73. package/Provider/package.json +6 -0
  74. package/Provider.ts +354 -0
  75. package/PublicKey/package.json +6 -0
  76. package/PublicKey.ts +545 -0
  77. package/README.md +75 -26
  78. package/Rlp/package.json +6 -0
  79. package/Rlp.ts +390 -0
  80. package/RpcRequest/package.json +6 -0
  81. package/RpcRequest.ts +192 -0
  82. package/RpcResponse/package.json +6 -0
  83. package/RpcResponse.ts +389 -0
  84. package/RpcSchema/package.json +6 -0
  85. package/RpcSchema.ts +273 -0
  86. package/RpcTransport/package.json +6 -0
  87. package/RpcTransport.ts +198 -0
  88. package/Secp256k1/package.json +6 -0
  89. package/Secp256k1.ts +304 -0
  90. package/Signature/package.json +6 -0
  91. package/Signature.ts +909 -0
  92. package/Siwe/package.json +6 -0
  93. package/Siwe.ts +516 -0
  94. package/Solidity/package.json +6 -0
  95. package/Solidity.ts +109 -0
  96. package/Transaction/package.json +6 -0
  97. package/Transaction.ts +429 -0
  98. package/TransactionEnvelope/package.json +6 -0
  99. package/TransactionEnvelope.ts +205 -0
  100. package/TransactionEnvelopeEip1559/package.json +6 -0
  101. package/TransactionEnvelopeEip1559.ts +656 -0
  102. package/TransactionEnvelopeEip2930/package.json +6 -0
  103. package/TransactionEnvelopeEip2930.ts +624 -0
  104. package/TransactionEnvelopeEip4844/package.json +6 -0
  105. package/TransactionEnvelopeEip4844.ts +764 -0
  106. package/TransactionEnvelopeEip7702/package.json +6 -0
  107. package/TransactionEnvelopeEip7702.ts +639 -0
  108. package/TransactionEnvelopeLegacy/package.json +6 -0
  109. package/TransactionEnvelopeLegacy.ts +674 -0
  110. package/TransactionReceipt/package.json +6 -0
  111. package/TransactionReceipt.ts +341 -0
  112. package/TransactionRequest/package.json +6 -0
  113. package/TransactionRequest.ts +151 -0
  114. package/TypedData/package.json +6 -0
  115. package/TypedData.ts +931 -0
  116. package/ValidatorData/package.json +6 -0
  117. package/ValidatorData.ts +87 -0
  118. package/Value/package.json +6 -0
  119. package/Value.ts +242 -0
  120. package/WebAuthnP256/package.json +6 -0
  121. package/WebAuthnP256.ts +803 -0
  122. package/WebCryptoP256/package.json +6 -0
  123. package/WebCryptoP256.ts +190 -0
  124. package/Withdrawal/package.json +6 -0
  125. package/Withdrawal.ts +95 -0
  126. package/_cjs/Abi.js +17 -0
  127. package/_cjs/Abi.js.map +1 -0
  128. package/_cjs/AbiConstructor.js +42 -0
  129. package/_cjs/AbiConstructor.js.map +1 -0
  130. package/_cjs/AbiError.js +98 -0
  131. package/_cjs/AbiError.js.map +1 -0
  132. package/_cjs/AbiEvent.js +338 -0
  133. package/_cjs/AbiEvent.js.map +1 -0
  134. package/_cjs/AbiFunction.js +85 -0
  135. package/_cjs/AbiFunction.js.map +1 -0
  136. package/_cjs/AbiItem.js +180 -0
  137. package/_cjs/AbiItem.js.map +1 -0
  138. package/_cjs/AbiParameters.js +229 -0
  139. package/_cjs/AbiParameters.js.map +1 -0
  140. package/_cjs/AccessList.js +51 -0
  141. package/_cjs/AccessList.js.map +1 -0
  142. package/_cjs/AccountProof.js +3 -0
  143. package/_cjs/AccountProof.js.map +1 -0
  144. package/_cjs/Address.js +121 -0
  145. package/_cjs/Address.js.map +1 -0
  146. package/_cjs/AesGcm.js +55 -0
  147. package/_cjs/AesGcm.js.map +1 -0
  148. package/_cjs/Authorization.js +99 -0
  149. package/_cjs/Authorization.js.map +1 -0
  150. package/_cjs/Base58.js +52 -0
  151. package/_cjs/Base58.js.map +1 -0
  152. package/_cjs/Base64.js +76 -0
  153. package/_cjs/Base64.js.map +1 -0
  154. package/_cjs/Blobs.js +255 -0
  155. package/_cjs/Blobs.js.map +1 -0
  156. package/_cjs/Block.js +87 -0
  157. package/_cjs/Block.js.map +1 -0
  158. package/_cjs/Bloom.js +23 -0
  159. package/_cjs/Bloom.js.map +1 -0
  160. package/_cjs/Bls.js +79 -0
  161. package/_cjs/Bls.js.map +1 -0
  162. package/_cjs/BlsPoint.js +32 -0
  163. package/_cjs/BlsPoint.js.map +1 -0
  164. package/_cjs/Bytes.js +279 -0
  165. package/_cjs/Bytes.js.map +1 -0
  166. package/_cjs/Caches.js +14 -0
  167. package/_cjs/Caches.js.map +1 -0
  168. package/_cjs/ContractAddress.js +39 -0
  169. package/_cjs/ContractAddress.js.map +1 -0
  170. package/_cjs/Ens.js +37 -0
  171. package/_cjs/Ens.js.map +1 -0
  172. package/_cjs/Errors.js +99 -0
  173. package/_cjs/Errors.js.map +1 -0
  174. package/_cjs/Fee.js +3 -0
  175. package/_cjs/Fee.js.map +1 -0
  176. package/_cjs/Filter.js +43 -0
  177. package/_cjs/Filter.js.map +1 -0
  178. package/_cjs/Hash.js +40 -0
  179. package/_cjs/Hash.js.map +1 -0
  180. package/_cjs/HdKey.js +30 -0
  181. package/_cjs/HdKey.js.map +1 -0
  182. package/_cjs/Hex.js +324 -0
  183. package/_cjs/Hex.js.map +1 -0
  184. package/_cjs/Json.js +25 -0
  185. package/_cjs/Json.js.map +1 -0
  186. package/_cjs/Kzg.js +14 -0
  187. package/_cjs/Kzg.js.map +1 -0
  188. package/_cjs/Log.js +35 -0
  189. package/_cjs/Log.js.map +1 -0
  190. package/_cjs/Mnemonic.js +56 -0
  191. package/_cjs/Mnemonic.js.map +1 -0
  192. package/_cjs/P256.js +52 -0
  193. package/_cjs/P256.js.map +1 -0
  194. package/_cjs/PersonalMessage.js +16 -0
  195. package/_cjs/PersonalMessage.js.map +1 -0
  196. package/_cjs/Provider.js +90 -0
  197. package/_cjs/Provider.js.map +1 -0
  198. package/_cjs/PublicKey.js +192 -0
  199. package/_cjs/PublicKey.js.map +1 -0
  200. package/_cjs/Rlp.js +179 -0
  201. package/_cjs/Rlp.js.map +1 -0
  202. package/_cjs/RpcRequest.js +27 -0
  203. package/_cjs/RpcRequest.js.map +1 -0
  204. package/_cjs/RpcResponse.js +368 -0
  205. package/_cjs/RpcResponse.js.map +1 -0
  206. package/_cjs/RpcSchema.js +7 -0
  207. package/_cjs/RpcSchema.js.map +1 -0
  208. package/_cjs/RpcTransport.js +95 -0
  209. package/_cjs/RpcTransport.js.map +1 -0
  210. package/_cjs/Secp256k1.js +57 -0
  211. package/_cjs/Secp256k1.js.map +1 -0
  212. package/_cjs/Signature.js +305 -0
  213. package/_cjs/Signature.js.map +1 -0
  214. package/_cjs/Siwe.js +231 -0
  215. package/_cjs/Siwe.js.map +1 -0
  216. package/_cjs/Solidity.js +104 -0
  217. package/_cjs/Solidity.js.map +1 -0
  218. package/_cjs/Transaction.js +106 -0
  219. package/_cjs/Transaction.js.map +1 -0
  220. package/_cjs/TransactionEnvelope.js +80 -0
  221. package/_cjs/TransactionEnvelope.js.map +1 -0
  222. package/_cjs/TransactionEnvelopeEip1559.js +182 -0
  223. package/_cjs/TransactionEnvelopeEip1559.js.map +1 -0
  224. package/_cjs/TransactionEnvelopeEip2930.js +166 -0
  225. package/_cjs/TransactionEnvelopeEip2930.js.map +1 -0
  226. package/_cjs/TransactionEnvelopeEip4844.js +224 -0
  227. package/_cjs/TransactionEnvelopeEip4844.js.map +1 -0
  228. package/_cjs/TransactionEnvelopeEip7702.js +156 -0
  229. package/_cjs/TransactionEnvelopeEip7702.js.map +1 -0
  230. package/_cjs/TransactionEnvelopeLegacy.js +221 -0
  231. package/_cjs/TransactionEnvelopeLegacy.js.map +1 -0
  232. package/_cjs/TransactionReceipt.js +76 -0
  233. package/_cjs/TransactionReceipt.js.map +1 -0
  234. package/_cjs/TransactionRequest.js +51 -0
  235. package/_cjs/TransactionRequest.js.map +1 -0
  236. package/_cjs/TypedData.js +318 -0
  237. package/_cjs/TypedData.js.map +1 -0
  238. package/_cjs/ValidatorData.js +16 -0
  239. package/_cjs/ValidatorData.js.map +1 -0
  240. package/_cjs/Value.js +96 -0
  241. package/_cjs/Value.js.map +1 -0
  242. package/_cjs/WebAuthnP256.js +245 -0
  243. package/_cjs/WebAuthnP256.js.map +1 -0
  244. package/_cjs/WebCryptoP256.js +46 -0
  245. package/_cjs/WebCryptoP256.js.map +1 -0
  246. package/_cjs/Withdrawal.js +24 -0
  247. package/_cjs/Withdrawal.js.map +1 -0
  248. package/_cjs/index.js +66 -0
  249. package/_cjs/index.js.map +1 -0
  250. package/_cjs/internal/abi.js +11 -0
  251. package/_cjs/internal/abi.js.map +1 -0
  252. package/_cjs/internal/abiConstructor.js +3 -0
  253. package/_cjs/internal/abiConstructor.js.map +1 -0
  254. package/_cjs/internal/abiError.js +3 -0
  255. package/_cjs/internal/abiError.js.map +1 -0
  256. package/_cjs/internal/abiEvent.js +3 -0
  257. package/_cjs/internal/abiEvent.js.map +1 -0
  258. package/_cjs/internal/abiFunction.js +3 -0
  259. package/_cjs/internal/abiFunction.js.map +1 -0
  260. package/_cjs/internal/abiItem.js +110 -0
  261. package/_cjs/internal/abiItem.js.map +1 -0
  262. package/_cjs/internal/abiParameters.js +376 -0
  263. package/_cjs/internal/abiParameters.js.map +1 -0
  264. package/_cjs/internal/base58.js +89 -0
  265. package/_cjs/internal/base58.js.map +1 -0
  266. package/_cjs/internal/bytes.js +88 -0
  267. package/_cjs/internal/bytes.js.map +1 -0
  268. package/_cjs/internal/cursor.js +210 -0
  269. package/_cjs/internal/cursor.js.map +1 -0
  270. package/_cjs/internal/ens.js +43 -0
  271. package/_cjs/internal/ens.js.map +1 -0
  272. package/_cjs/internal/errors.js +28 -0
  273. package/_cjs/internal/errors.js.map +1 -0
  274. package/_cjs/internal/hdKey.js +19 -0
  275. package/_cjs/internal/hdKey.js.map +1 -0
  276. package/_cjs/internal/hex.js +66 -0
  277. package/_cjs/internal/hex.js.map +1 -0
  278. package/_cjs/internal/lru.js +34 -0
  279. package/_cjs/internal/lru.js.map +1 -0
  280. package/_cjs/internal/mnemonic/wordlists.js +24 -0
  281. package/_cjs/internal/mnemonic/wordlists.js.map +1 -0
  282. package/_cjs/internal/promise.js +49 -0
  283. package/_cjs/internal/promise.js.map +1 -0
  284. package/_cjs/internal/register.js +3 -0
  285. package/_cjs/internal/register.js.map +1 -0
  286. package/_cjs/internal/rpcSchema.js +3 -0
  287. package/_cjs/internal/rpcSchema.js.map +1 -0
  288. package/_cjs/internal/rpcSchemas/eth.js +3 -0
  289. package/_cjs/internal/rpcSchemas/eth.js.map +1 -0
  290. package/_cjs/internal/rpcSchemas/wallet.js +3 -0
  291. package/_cjs/internal/rpcSchemas/wallet.js.map +1 -0
  292. package/_cjs/internal/rpcTransport.js +19 -0
  293. package/_cjs/internal/rpcTransport.js.map +1 -0
  294. package/_cjs/internal/types.js +3 -0
  295. package/_cjs/internal/types.js.map +1 -0
  296. package/_cjs/internal/uid.js +17 -0
  297. package/_cjs/internal/uid.js.map +1 -0
  298. package/_cjs/internal/webauthn.js +28 -0
  299. package/_cjs/internal/webauthn.js.map +1 -0
  300. package/_cjs/package.json +1 -0
  301. package/_cjs/trusted-setups/Paths.js +6 -0
  302. package/_cjs/trusted-setups/Paths.js.map +1 -0
  303. package/_cjs/trusted-setups/index.js +5 -0
  304. package/_cjs/trusted-setups/index.js.map +1 -0
  305. package/_cjs/trusted-setups/internal/paths.js +11 -0
  306. package/_cjs/trusted-setups/internal/paths.js.map +1 -0
  307. package/_cjs/version.js +5 -0
  308. package/_cjs/version.js.map +1 -0
  309. package/_cjs/window/index.js +3 -0
  310. package/_cjs/window/index.js.map +1 -0
  311. package/_esm/Abi.js +19 -0
  312. package/_esm/Abi.js.map +1 -0
  313. package/_esm/AbiConstructor.js +102 -0
  314. package/_esm/AbiConstructor.js.map +1 -0
  315. package/_esm/AbiError.js +364 -0
  316. package/_esm/AbiError.js.map +1 -0
  317. package/_esm/AbiEvent.js +1038 -0
  318. package/_esm/AbiEvent.js.map +1 -0
  319. package/_esm/AbiFunction.js +549 -0
  320. package/_esm/AbiFunction.js.map +1 -0
  321. package/_esm/AbiItem.js +574 -0
  322. package/_esm/AbiItem.js.map +1 -0
  323. package/_esm/AbiParameters.js +543 -0
  324. package/_esm/AbiParameters.js.map +1 -0
  325. package/_esm/AccessList.js +105 -0
  326. package/_esm/AccessList.js.map +1 -0
  327. package/_esm/AccountProof.js +2 -0
  328. package/_esm/AccountProof.js.map +1 -0
  329. package/_esm/Address.js +268 -0
  330. package/_esm/Address.js.map +1 -0
  331. package/_esm/AesGcm.js +124 -0
  332. package/_esm/AesGcm.js.map +1 -0
  333. package/_esm/Authorization.js +441 -0
  334. package/_esm/Authorization.js.map +1 -0
  335. package/_esm/Base58.js +142 -0
  336. package/_esm/Base58.js.map +1 -0
  337. package/_esm/Base64.js +236 -0
  338. package/_esm/Base64.js.map +1 -0
  339. package/_esm/Blobs.js +624 -0
  340. package/_esm/Blobs.js.map +1 -0
  341. package/_esm/Block.js +177 -0
  342. package/_esm/Block.js.map +1 -0
  343. package/_esm/Bloom.js +57 -0
  344. package/_esm/Bloom.js.map +1 -0
  345. package/_esm/Bls.js +141 -0
  346. package/_esm/Bls.js.map +1 -0
  347. package/_esm/BlsPoint.js +59 -0
  348. package/_esm/BlsPoint.js.map +1 -0
  349. package/_esm/Bytes.js +719 -0
  350. package/_esm/Bytes.js.map +1 -0
  351. package/_esm/Caches.js +19 -0
  352. package/_esm/Caches.js.map +1 -0
  353. package/_esm/ContractAddress.js +110 -0
  354. package/_esm/ContractAddress.js.map +1 -0
  355. package/_esm/Ens.js +84 -0
  356. package/_esm/Ens.js.map +1 -0
  357. package/_esm/Errors.js +105 -0
  358. package/_esm/Errors.js.map +1 -0
  359. package/_esm/Fee.js +2 -0
  360. package/_esm/Fee.js.map +1 -0
  361. package/_esm/Filter.js +100 -0
  362. package/_esm/Filter.js.map +1 -0
  363. package/_esm/Hash.js +126 -0
  364. package/_esm/Hash.js.map +1 -0
  365. package/_esm/HdKey.js +107 -0
  366. package/_esm/HdKey.js.map +1 -0
  367. package/_esm/Hex.js +763 -0
  368. package/_esm/Hex.js.map +1 -0
  369. package/_esm/Json.js +62 -0
  370. package/_esm/Json.js.map +1 -0
  371. package/_esm/Kzg.js +30 -0
  372. package/_esm/Kzg.js.map +1 -0
  373. package/_esm/Log.js +181 -0
  374. package/_esm/Log.js.map +1 -0
  375. package/_esm/Mnemonic.js +154 -0
  376. package/_esm/Mnemonic.js.map +1 -0
  377. package/_esm/P256.js +131 -0
  378. package/_esm/P256.js.map +1 -0
  379. package/_esm/PersonalMessage.js +46 -0
  380. package/_esm/PersonalMessage.js.map +1 -0
  381. package/_esm/Provider.js +122 -0
  382. package/_esm/Provider.js.map +1 -0
  383. package/_esm/PublicKey.js +395 -0
  384. package/_esm/PublicKey.js.map +1 -0
  385. package/_esm/Rlp.js +267 -0
  386. package/_esm/Rlp.js.map +1 -0
  387. package/_esm/RpcRequest.js +131 -0
  388. package/_esm/RpcRequest.js.map +1 -0
  389. package/_esm/RpcResponse.js +457 -0
  390. package/_esm/RpcResponse.js.map +1 -0
  391. package/_esm/RpcSchema.js +46 -0
  392. package/_esm/RpcSchema.js.map +1 -0
  393. package/_esm/RpcTransport.js +110 -0
  394. package/_esm/RpcTransport.js.map +1 -0
  395. package/_esm/Secp256k1.js +173 -0
  396. package/_esm/Secp256k1.js.map +1 -0
  397. package/_esm/Signature.js +696 -0
  398. package/_esm/Signature.js.map +1 -0
  399. package/_esm/Siwe.js +374 -0
  400. package/_esm/Siwe.js.map +1 -0
  401. package/_esm/Solidity.js +104 -0
  402. package/_esm/Solidity.js.map +1 -0
  403. package/_esm/Transaction.js +176 -0
  404. package/_esm/Transaction.js.map +1 -0
  405. package/_esm/TransactionEnvelope.js +139 -0
  406. package/_esm/TransactionEnvelope.js.map +1 -0
  407. package/_esm/TransactionEnvelopeEip1559.js +455 -0
  408. package/_esm/TransactionEnvelopeEip1559.js.map +1 -0
  409. package/_esm/TransactionEnvelopeEip2930.js +439 -0
  410. package/_esm/TransactionEnvelopeEip2930.js.map +1 -0
  411. package/_esm/TransactionEnvelopeEip4844.js +542 -0
  412. package/_esm/TransactionEnvelopeEip4844.js.map +1 -0
  413. package/_esm/TransactionEnvelopeEip7702.js +442 -0
  414. package/_esm/TransactionEnvelopeEip7702.js.map +1 -0
  415. package/_esm/TransactionEnvelopeLegacy.js +495 -0
  416. package/_esm/TransactionEnvelopeLegacy.js.map +1 -0
  417. package/_esm/TransactionReceipt.js +229 -0
  418. package/_esm/TransactionReceipt.js.map +1 -0
  419. package/_esm/TransactionRequest.js +89 -0
  420. package/_esm/TransactionRequest.js.map +1 -0
  421. package/_esm/TypedData.js +635 -0
  422. package/_esm/TypedData.js.map +1 -0
  423. package/_esm/ValidatorData.js +52 -0
  424. package/_esm/ValidatorData.js.map +1 -0
  425. package/_esm/Value.js +196 -0
  426. package/_esm/Value.js.map +1 -0
  427. package/_esm/WebAuthnP256.js +471 -0
  428. package/_esm/WebAuthnP256.js.map +1 -0
  429. package/_esm/WebCryptoP256.js +116 -0
  430. package/_esm/WebCryptoP256.js.map +1 -0
  431. package/_esm/Withdrawal.js +72 -0
  432. package/_esm/Withdrawal.js.map +1 -0
  433. package/_esm/index.js +3366 -0
  434. package/_esm/index.js.map +1 -0
  435. package/_esm/internal/abi.js +9 -0
  436. package/_esm/internal/abi.js.map +1 -0
  437. package/_esm/internal/abiConstructor.js +2 -0
  438. package/_esm/internal/abiConstructor.js.map +1 -0
  439. package/_esm/internal/abiError.js +2 -0
  440. package/_esm/internal/abiError.js.map +1 -0
  441. package/_esm/internal/abiEvent.js +2 -0
  442. package/_esm/internal/abiEvent.js.map +1 -0
  443. package/_esm/internal/abiFunction.js +2 -0
  444. package/_esm/internal/abiFunction.js.map +1 -0
  445. package/_esm/internal/abiItem.js +122 -0
  446. package/_esm/internal/abiItem.js.map +1 -0
  447. package/_esm/internal/abiParameters.js +419 -0
  448. package/_esm/internal/abiParameters.js.map +1 -0
  449. package/_esm/internal/base58.js +91 -0
  450. package/_esm/internal/base58.js.map +1 -0
  451. package/_esm/internal/bytes.js +86 -0
  452. package/_esm/internal/bytes.js.map +1 -0
  453. package/_esm/internal/cursor.js +207 -0
  454. package/_esm/internal/cursor.js.map +1 -0
  455. package/_esm/internal/ens.js +47 -0
  456. package/_esm/internal/ens.js.map +1 -0
  457. package/_esm/internal/errors.js +26 -0
  458. package/_esm/internal/errors.js.map +1 -0
  459. package/_esm/internal/hdKey.js +17 -0
  460. package/_esm/internal/hdKey.js.map +1 -0
  461. package/_esm/internal/hex.js +64 -0
  462. package/_esm/internal/hex.js.map +1 -0
  463. package/_esm/internal/lru.js +36 -0
  464. package/_esm/internal/lru.js.map +1 -0
  465. package/_esm/internal/mnemonic/wordlists.js +11 -0
  466. package/_esm/internal/mnemonic/wordlists.js.map +1 -0
  467. package/_esm/internal/promise.js +52 -0
  468. package/_esm/internal/promise.js.map +1 -0
  469. package/_esm/internal/register.js +2 -0
  470. package/_esm/internal/register.js.map +1 -0
  471. package/_esm/internal/rpcSchema.js +2 -0
  472. package/_esm/internal/rpcSchema.js.map +1 -0
  473. package/_esm/internal/rpcSchemas/eth.js +2 -0
  474. package/_esm/internal/rpcSchemas/eth.js.map +1 -0
  475. package/_esm/internal/rpcSchemas/wallet.js +2 -0
  476. package/_esm/internal/rpcSchemas/wallet.js.map +1 -0
  477. package/_esm/internal/rpcTransport.js +20 -0
  478. package/_esm/internal/rpcTransport.js.map +1 -0
  479. package/_esm/internal/types.js +2 -0
  480. package/_esm/internal/types.js.map +1 -0
  481. package/_esm/internal/uid.js +15 -0
  482. package/_esm/internal/uid.js.map +1 -0
  483. package/_esm/internal/webauthn.js +35 -0
  484. package/_esm/internal/webauthn.js.map +1 -0
  485. package/_esm/package.json +1 -0
  486. package/_esm/trusted-setups/Paths.js +3 -0
  487. package/_esm/trusted-setups/Paths.js.map +1 -0
  488. package/_esm/trusted-setups/index.js +2 -0
  489. package/_esm/trusted-setups/index.js.map +1 -0
  490. package/_esm/trusted-setups/internal/paths.js +12 -0
  491. package/_esm/trusted-setups/internal/paths.js.map +1 -0
  492. package/_esm/version.js +3 -0
  493. package/_esm/version.js.map +1 -0
  494. package/_esm/window/index.js +2 -0
  495. package/_esm/window/index.js.map +1 -0
  496. package/_test/Abi.test-d/package.json +6 -0
  497. package/_test/AbiConstructor.test-d/package.json +6 -0
  498. package/_test/AbiError.test-d/package.json +6 -0
  499. package/_test/AbiEvent.snap-d/package.json +6 -0
  500. package/_test/AbiEvent.snap-d.ts +329 -0
  501. package/_test/AbiFunction.snap-d/package.json +6 -0
  502. package/_test/AbiFunction.snap-d.ts +262 -0
  503. package/_test/AbiItem.snap-d/package.json +6 -0
  504. package/_test/AbiItem.snap-d.ts +131 -0
  505. package/_test/AbiParameters.bench/package.json +6 -0
  506. package/_test/AbiParameters.snap-d/package.json +6 -0
  507. package/_test/AbiParameters.snap-d.ts +66 -0
  508. package/_test/Address.bench/package.json +6 -0
  509. package/_test/Base58.bench/package.json +6 -0
  510. package/_test/Hex.bench/package.json +6 -0
  511. package/_test/Hex.test-d/package.json +6 -0
  512. package/_test/PublicKey.test-d/package.json +6 -0
  513. package/_test/Rlp.bench/package.json +6 -0
  514. package/_test/Rlp.test-d/package.json +6 -0
  515. package/_test/Signature.snap-d/package.json +6 -0
  516. package/_test/Signature.snap-d.ts +96 -0
  517. package/_test/TransactionEnvelopeEip1559.test-d/package.json +6 -0
  518. package/_test/TransactionEnvelopeEip2930.test-d/package.json +6 -0
  519. package/_test/TransactionEnvelopeEip4844.test-d/package.json +6 -0
  520. package/_test/TransactionEnvelopeEip7702.test-d/package.json +6 -0
  521. package/_test/TransactionEnvelopeLegacy.test-d/package.json +6 -0
  522. package/_test/TypedData.test-d/package.json +6 -0
  523. package/_types/Abi.d.ts +137 -0
  524. package/_types/Abi.d.ts.map +1 -0
  525. package/_types/AbiConstructor.d.ts +305 -0
  526. package/_types/AbiConstructor.d.ts.map +1 -0
  527. package/_types/AbiError.d.ts +522 -0
  528. package/_types/AbiError.d.ts.map +1 -0
  529. package/_types/AbiEvent.d.ts +892 -0
  530. package/_types/AbiEvent.d.ts.map +1 -0
  531. package/_types/AbiFunction.d.ts +602 -0
  532. package/_types/AbiFunction.d.ts.map +1 -0
  533. package/_types/AbiItem.d.ts +544 -0
  534. package/_types/AbiItem.d.ts.map +1 -0
  535. package/_types/AbiParameters.d.ts +466 -0
  536. package/_types/AbiParameters.d.ts.map +1 -0
  537. package/_types/AccessList.d.ts +83 -0
  538. package/_types/AccessList.d.ts.map +1 -0
  539. package/_types/AccountProof.d.ts +32 -0
  540. package/_types/AccountProof.d.ts.map +1 -0
  541. package/_types/Address.d.ts +244 -0
  542. package/_types/Address.d.ts.map +1 -0
  543. package/_types/AesGcm.d.ts +116 -0
  544. package/_types/AesGcm.d.ts.map +1 -0
  545. package/_types/Authorization.d.ts +461 -0
  546. package/_types/Authorization.d.ts.map +1 -0
  547. package/_types/Base58.d.ts +131 -0
  548. package/_types/Base58.d.ts.map +1 -0
  549. package/_types/Base64.d.ts +244 -0
  550. package/_types/Base64.d.ts.map +1 -0
  551. package/_types/Blobs.d.ts +556 -0
  552. package/_types/Blobs.d.ts.map +1 -0
  553. package/_types/Block.d.ts +190 -0
  554. package/_types/Block.d.ts.map +1 -0
  555. package/_types/Bloom.d.ts +54 -0
  556. package/_types/Bloom.d.ts.map +1 -0
  557. package/_types/Bls.d.ts +365 -0
  558. package/_types/Bls.d.ts.map +1 -0
  559. package/_types/BlsPoint.d.ts +187 -0
  560. package/_types/BlsPoint.d.ts.map +1 -0
  561. package/_types/Bytes.d.ts +674 -0
  562. package/_types/Bytes.d.ts.map +1 -0
  563. package/_types/Caches.d.ts +13 -0
  564. package/_types/Caches.d.ts.map +1 -0
  565. package/_types/ContractAddress.d.ts +115 -0
  566. package/_types/ContractAddress.d.ts.map +1 -0
  567. package/_types/Ens.d.ts +72 -0
  568. package/_types/Ens.d.ts.map +1 -0
  569. package/_types/Errors.d.ts +33 -0
  570. package/_types/Errors.d.ts.map +1 -0
  571. package/_types/Fee.d.ts +41 -0
  572. package/_types/Fee.d.ts.map +1 -0
  573. package/_types/Filter.d.ts +100 -0
  574. package/_types/Filter.d.ts.map +1 -0
  575. package/_types/Hash.d.ts +135 -0
  576. package/_types/Hash.d.ts.map +1 -0
  577. package/_types/HdKey.d.ts +146 -0
  578. package/_types/HdKey.d.ts.map +1 -0
  579. package/_types/Hex.d.ts +711 -0
  580. package/_types/Hex.d.ts.map +1 -0
  581. package/_types/Json.d.ts +53 -0
  582. package/_types/Json.d.ts.map +1 -0
  583. package/_types/Kzg.d.ts +42 -0
  584. package/_types/Kzg.d.ts.map +1 -0
  585. package/_types/Log.d.ts +194 -0
  586. package/_types/Log.d.ts.map +1 -0
  587. package/_types/Mnemonic.d.ts +176 -0
  588. package/_types/Mnemonic.d.ts.map +1 -0
  589. package/_types/P256.d.ts +207 -0
  590. package/_types/P256.d.ts.map +1 -0
  591. package/_types/PersonalMessage.d.ts +49 -0
  592. package/_types/PersonalMessage.d.ts.map +1 -0
  593. package/_types/Provider.d.ts +268 -0
  594. package/_types/Provider.d.ts.map +1 -0
  595. package/_types/PublicKey.d.ts +327 -0
  596. package/_types/PublicKey.d.ts.map +1 -0
  597. package/_types/Rlp.d.ts +153 -0
  598. package/_types/Rlp.d.ts.map +1 -0
  599. package/_types/RpcRequest.d.ts +144 -0
  600. package/_types/RpcRequest.d.ts.map +1 -0
  601. package/_types/RpcResponse.d.ts +266 -0
  602. package/_types/RpcResponse.d.ts.map +1 -0
  603. package/_types/RpcSchema.d.ts +248 -0
  604. package/_types/RpcSchema.d.ts.map +1 -0
  605. package/_types/RpcTransport.d.ts +65 -0
  606. package/_types/RpcTransport.d.ts.map +1 -0
  607. package/_types/Secp256k1.d.ts +277 -0
  608. package/_types/Secp256k1.d.ts.map +1 -0
  609. package/_types/Signature.d.ts +601 -0
  610. package/_types/Signature.d.ts.map +1 -0
  611. package/_types/Siwe.d.ts +249 -0
  612. package/_types/Siwe.d.ts.map +1 -0
  613. package/_types/Solidity.d.ts +100 -0
  614. package/_types/Solidity.d.ts.map +1 -0
  615. package/_types/Transaction.d.ts +235 -0
  616. package/_types/Transaction.d.ts.map +1 -0
  617. package/_types/TransactionEnvelope.d.ts +141 -0
  618. package/_types/TransactionEnvelope.d.ts.map +1 -0
  619. package/_types/TransactionEnvelopeEip1559.d.ts +367 -0
  620. package/_types/TransactionEnvelopeEip1559.d.ts.map +1 -0
  621. package/_types/TransactionEnvelopeEip2930.d.ts +364 -0
  622. package/_types/TransactionEnvelopeEip2930.d.ts.map +1 -0
  623. package/_types/TransactionEnvelopeEip4844.d.ts +419 -0
  624. package/_types/TransactionEnvelopeEip4844.d.ts.map +1 -0
  625. package/_types/TransactionEnvelopeEip7702.d.ts +377 -0
  626. package/_types/TransactionEnvelopeEip7702.d.ts.map +1 -0
  627. package/_types/TransactionEnvelopeLegacy.d.ts +358 -0
  628. package/_types/TransactionEnvelopeLegacy.d.ts.map +1 -0
  629. package/_types/TransactionReceipt.d.ts +271 -0
  630. package/_types/TransactionReceipt.d.ts.map +1 -0
  631. package/_types/TransactionRequest.d.ts +92 -0
  632. package/_types/TransactionRequest.d.ts.map +1 -0
  633. package/_types/TypedData.d.ts +496 -0
  634. package/_types/TypedData.d.ts.map +1 -0
  635. package/_types/ValidatorData.d.ts +64 -0
  636. package/_types/ValidatorData.d.ts.map +1 -0
  637. package/_types/Value.d.ts +159 -0
  638. package/_types/Value.d.ts.map +1 -0
  639. package/_types/WebAuthnP256.d.ts +445 -0
  640. package/_types/WebAuthnP256.d.ts.map +1 -0
  641. package/_types/WebCryptoP256.d.ts +119 -0
  642. package/_types/WebCryptoP256.d.ts.map +1 -0
  643. package/_types/Withdrawal.d.ts +74 -0
  644. package/_types/Withdrawal.d.ts.map +1 -0
  645. package/_types/index.d.ts +3367 -0
  646. package/_types/index.d.ts.map +1 -0
  647. package/_types/internal/abi.d.ts +4 -0
  648. package/_types/internal/abi.d.ts.map +1 -0
  649. package/_types/internal/abiConstructor.d.ts +11 -0
  650. package/_types/internal/abiConstructor.d.ts.map +1 -0
  651. package/_types/internal/abiError.d.ts +11 -0
  652. package/_types/internal/abiError.d.ts.map +1 -0
  653. package/_types/internal/abiEvent.d.ts +60 -0
  654. package/_types/internal/abiEvent.d.ts.map +1 -0
  655. package/_types/internal/abiFunction.d.ts +11 -0
  656. package/_types/internal/abiFunction.d.ts.map +1 -0
  657. package/_types/internal/abiItem.d.ts +100 -0
  658. package/_types/internal/abiItem.d.ts.map +1 -0
  659. package/_types/internal/abiParameters.d.ts +169 -0
  660. package/_types/internal/abiParameters.d.ts.map +1 -0
  661. package/_types/internal/base58.d.ts +17 -0
  662. package/_types/internal/base58.d.ts.map +1 -0
  663. package/_types/internal/bytes.d.ts +52 -0
  664. package/_types/internal/bytes.d.ts.map +1 -0
  665. package/_types/internal/cursor.d.ts +70 -0
  666. package/_types/internal/cursor.d.ts.map +1 -0
  667. package/_types/internal/ens.d.ts +23 -0
  668. package/_types/internal/ens.d.ts.map +1 -0
  669. package/_types/internal/errors.d.ts +7 -0
  670. package/_types/internal/errors.d.ts.map +1 -0
  671. package/_types/internal/hdKey.d.ts +10 -0
  672. package/_types/internal/hdKey.d.ts.map +1 -0
  673. package/_types/internal/hex.d.ts +39 -0
  674. package/_types/internal/hex.d.ts.map +1 -0
  675. package/_types/internal/lru.d.ts +13 -0
  676. package/_types/internal/lru.d.ts.map +1 -0
  677. package/_types/internal/mnemonic/wordlists.d.ts +11 -0
  678. package/_types/internal/mnemonic/wordlists.d.ts.map +1 -0
  679. package/_types/internal/promise.d.ts +27 -0
  680. package/_types/internal/promise.d.ts.map +1 -0
  681. package/_types/internal/register.d.ts +13 -0
  682. package/_types/internal/register.d.ts.map +1 -0
  683. package/_types/internal/rpcSchema.d.ts +12 -0
  684. package/_types/internal/rpcSchema.d.ts.map +1 -0
  685. package/_types/internal/rpcSchemas/eth.d.ts +718 -0
  686. package/_types/internal/rpcSchemas/eth.d.ts.map +1 -0
  687. package/_types/internal/rpcSchemas/wallet.d.ts +416 -0
  688. package/_types/internal/rpcSchemas/wallet.d.ts.map +1 -0
  689. package/_types/internal/rpcTransport.d.ts +38 -0
  690. package/_types/internal/rpcTransport.d.ts.map +1 -0
  691. package/_types/internal/types.d.ts +284 -0
  692. package/_types/internal/types.d.ts.map +1 -0
  693. package/_types/internal/uid.d.ts +3 -0
  694. package/_types/internal/uid.d.ts.map +1 -0
  695. package/_types/internal/webauthn.d.ts +127 -0
  696. package/_types/internal/webauthn.d.ts.map +1 -0
  697. package/_types/trusted-setups/Paths.d.ts +2 -0
  698. package/_types/trusted-setups/Paths.d.ts.map +1 -0
  699. package/_types/trusted-setups/index.d.ts +2 -0
  700. package/_types/trusted-setups/index.d.ts.map +1 -0
  701. package/_types/trusted-setups/internal/paths.d.ts +3 -0
  702. package/_types/trusted-setups/internal/paths.d.ts.map +1 -0
  703. package/_types/version.d.ts +3 -0
  704. package/_types/version.d.ts.map +1 -0
  705. package/_types/window/index.d.ts +7 -0
  706. package/_types/window/index.d.ts.map +1 -0
  707. package/index.ts +3427 -0
  708. package/internal/abi.ts +11 -0
  709. package/internal/abiConstructor.ts +32 -0
  710. package/internal/abiError.ts +30 -0
  711. package/internal/abiEvent.ts +154 -0
  712. package/internal/abiFunction.ts +32 -0
  713. package/internal/abiItem.ts +593 -0
  714. package/internal/abiParameters.ts +741 -0
  715. package/internal/base58.ts +106 -0
  716. package/internal/bytes.ts +152 -0
  717. package/internal/cursor.ts +252 -0
  718. package/internal/ens.ts +64 -0
  719. package/internal/errors.ts +26 -0
  720. package/internal/hdKey.ts +25 -0
  721. package/internal/hex.ts +123 -0
  722. package/internal/lru.ts +34 -0
  723. package/internal/mnemonic/wordlists.ts +10 -0
  724. package/internal/promise.ts +66 -0
  725. package/internal/register.ts +15 -0
  726. package/internal/rpcSchema.ts +20 -0
  727. package/internal/rpcSchemas/eth.ts +727 -0
  728. package/internal/rpcSchemas/wallet.ts +428 -0
  729. package/internal/rpcTransport.ts +74 -0
  730. package/internal/types.ts +414 -0
  731. package/internal/uid.ts +15 -0
  732. package/internal/webauthn.ts +198 -0
  733. package/package.json +500 -20
  734. package/trusted-setups/Paths/package.json +6 -0
  735. package/trusted-setups/Paths.ts +3 -0
  736. package/trusted-setups/index.ts +1 -0
  737. package/trusted-setups/internal/paths.ts +13 -0
  738. package/trusted-setups/internal/setups/mainnet.json +8265 -0
  739. package/trusted-setups/internal/setups/mainnet.txt +4163 -0
  740. package/trusted-setups/package.json +6 -0
  741. package/tsdoc.json +4 -0
  742. package/version/package.json +6 -0
  743. package/version.ts +2 -0
  744. package/window/index.ts +7 -0
  745. package/window/package.json +6 -0
  746. package/cl/ansiesc.js +0 -25
  747. package/cl/deps.js +0 -7
  748. package/cl/editor.js +0 -141
  749. package/cl/index.html +0 -19
  750. package/cl/ox.js +0 -44
  751. package/cl/socket.io.js +0 -1922
  752. package/cl/style.css +0 -37
  753. package/srv/deps.js +0 -88
  754. package/srv/httpSrv.js +0 -82
  755. package/srv/ox.js +0 -44
  756. package/srv/remoteXtermReq.js +0 -70
package/_esm/Hex.js ADDED
@@ -0,0 +1,763 @@
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
+ const encoder = /*#__PURE__*/ new TextEncoder();
8
+ const hexes = /*#__PURE__*/ Array.from({ length: 256 }, (_v, i) => i.toString(16).padStart(2, '0'));
9
+ /**
10
+ * Asserts if the given value is {@link ox#Hex.Hex}.
11
+ *
12
+ * @example
13
+ * ```ts twoslash
14
+ * import { Hex } from 'ox'
15
+ *
16
+ * Hex.assert('abc')
17
+ * // @error: InvalidHexValueTypeError:
18
+ * // @error: Value `"abc"` of type `string` is an invalid hex type.
19
+ * // @error: Hex types must be represented as `"0x\${string}"`.
20
+ * ```
21
+ *
22
+ * @param value - The value to assert.
23
+ * @param options - Options.
24
+ */
25
+ export function assert(value, options = {}) {
26
+ const { strict = false } = options;
27
+ if (!value)
28
+ throw new InvalidHexTypeError(value);
29
+ if (typeof value !== 'string')
30
+ throw new InvalidHexTypeError(value);
31
+ if (strict) {
32
+ if (!/^0x[0-9a-fA-F]*$/.test(value))
33
+ throw new InvalidHexValueError(value);
34
+ }
35
+ if (!value.startsWith('0x'))
36
+ throw new InvalidHexValueError(value);
37
+ }
38
+ /* v8 ignore next */
39
+ assert.parseError = (error) => error;
40
+ /**
41
+ * Concatenates two or more {@link ox#Hex.Hex}.
42
+ *
43
+ * @example
44
+ * ```ts twoslash
45
+ * import { Hex } from 'ox'
46
+ *
47
+ * Hex.concat('0x123', '0x456')
48
+ * // @log: '0x123456'
49
+ * ```
50
+ *
51
+ * @param values - The {@link ox#Hex.Hex} values to concatenate.
52
+ * @returns The concatenated {@link ox#Hex.Hex} value.
53
+ */
54
+ export function concat(...values) {
55
+ return `0x${values.reduce((acc, x) => acc + x.replace('0x', ''), '')}`;
56
+ }
57
+ /* v8 ignore next */
58
+ concat.parseError = (error) => error;
59
+ /**
60
+ * Instantiates a {@link ox#Hex.Hex} value from a hex string or {@link ox#Bytes.Bytes} value.
61
+ *
62
+ * :::tip
63
+ *
64
+ * To instantiate from a **Boolean**, **String**, or **Number**, use one of the following:
65
+ *
66
+ * - `Hex.fromBoolean`
67
+ *
68
+ * - `Hex.fromString`
69
+ *
70
+ * - `Hex.fromNumber`
71
+ *
72
+ * :::
73
+ *
74
+ * @example
75
+ * ```ts twoslash
76
+ * import { Bytes, Hex } from 'ox'
77
+ *
78
+ * Hex.from('0x48656c6c6f20576f726c6421')
79
+ * // @log: '0x48656c6c6f20576f726c6421'
80
+ *
81
+ * Hex.from(Bytes.from([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33]))
82
+ * // @log: '0x48656c6c6f20576f726c6421'
83
+ * ```
84
+ *
85
+ * @param value - The {@link ox#Bytes.Bytes} value to encode.
86
+ * @returns The encoded {@link ox#Hex.Hex} value.
87
+ */
88
+ export function from(value) {
89
+ if (value instanceof Uint8Array)
90
+ return fromBytes(value);
91
+ if (Array.isArray(value))
92
+ return fromBytes(new Uint8Array(value));
93
+ return value;
94
+ }
95
+ /* v8 ignore next */
96
+ from.parseError = (error) => error;
97
+ /**
98
+ * Encodes a boolean into a {@link ox#Hex.Hex} value.
99
+ *
100
+ * @example
101
+ * ```ts twoslash
102
+ * import { Hex } from 'ox'
103
+ *
104
+ * Hex.fromBoolean(true)
105
+ * // @log: '0x1'
106
+ *
107
+ * Hex.fromBoolean(false)
108
+ * // @log: '0x0'
109
+ *
110
+ * Hex.fromBoolean(true, { size: 32 })
111
+ * // @log: '0x0000000000000000000000000000000000000000000000000000000000000001'
112
+ * ```
113
+ *
114
+ * @param value - The boolean value to encode.
115
+ * @param options - Options.
116
+ * @returns The encoded {@link ox#Hex.Hex} value.
117
+ */
118
+ export function fromBoolean(value, options = {}) {
119
+ const hex = `0x0${Number(value)}`;
120
+ if (typeof options.size === 'number') {
121
+ internal.assertSize(hex, options.size);
122
+ return padLeft(hex, options.size);
123
+ }
124
+ return hex;
125
+ }
126
+ fromBoolean.parseError = (error) =>
127
+ /* v8 ignore next */
128
+ error;
129
+ /**
130
+ * Encodes a {@link ox#Bytes.Bytes} value into a {@link ox#Hex.Hex} value.
131
+ *
132
+ * @example
133
+ * ```ts twoslash
134
+ * import { Bytes, Hex } from 'ox'
135
+ *
136
+ * Hex.fromBytes(Bytes.from([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33]))
137
+ * // @log: '0x48656c6c6f20576f726c6421'
138
+ * ```
139
+ *
140
+ * @param value - The {@link ox#Bytes.Bytes} value to encode.
141
+ * @param options - Options.
142
+ * @returns The encoded {@link ox#Hex.Hex} value.
143
+ */
144
+ export function fromBytes(value, options = {}) {
145
+ let string = '';
146
+ for (let i = 0; i < value.length; i++)
147
+ string += hexes[value[i]];
148
+ const hex = `0x${string}`;
149
+ if (typeof options.size === 'number') {
150
+ internal.assertSize(hex, options.size);
151
+ return padRight(hex, options.size);
152
+ }
153
+ return hex;
154
+ }
155
+ /* v8 ignore next */
156
+ fromBytes.parseError = (error) => error;
157
+ /**
158
+ * Encodes a number or bigint into a {@link ox#Hex.Hex} value.
159
+ *
160
+ * @example
161
+ * ```ts twoslash
162
+ * import { Hex } from 'ox'
163
+ *
164
+ * Hex.fromNumber(420)
165
+ * // @log: '0x1a4'
166
+ *
167
+ * Hex.fromNumber(420, { size: 32 })
168
+ * // @log: '0x00000000000000000000000000000000000000000000000000000000000001a4'
169
+ * ```
170
+ *
171
+ * @param value - The number or bigint value to encode.
172
+ * @param options - Options.
173
+ * @returns The encoded {@link ox#Hex.Hex} value.
174
+ */
175
+ export function fromNumber(value, options = {}) {
176
+ const { signed, size } = options;
177
+ const value_ = BigInt(value);
178
+ let maxValue;
179
+ if (size) {
180
+ if (signed)
181
+ maxValue = (1n << (BigInt(size) * 8n - 1n)) - 1n;
182
+ else
183
+ maxValue = 2n ** (BigInt(size) * 8n) - 1n;
184
+ }
185
+ else if (typeof value === 'number') {
186
+ maxValue = BigInt(Number.MAX_SAFE_INTEGER);
187
+ }
188
+ const minValue = typeof maxValue === 'bigint' && signed ? -maxValue - 1n : 0;
189
+ if ((maxValue && value_ > maxValue) || value_ < minValue) {
190
+ const suffix = typeof value === 'bigint' ? 'n' : '';
191
+ throw new IntegerOutOfRangeError({
192
+ max: maxValue ? `${maxValue}${suffix}` : undefined,
193
+ min: `${minValue}${suffix}`,
194
+ signed,
195
+ size,
196
+ value: `${value}${suffix}`,
197
+ });
198
+ }
199
+ const stringValue = (signed && value_ < 0 ? (1n << BigInt(size * 8)) + BigInt(value_) : value_).toString(16);
200
+ const hex = `0x${stringValue.length % 2 === 0 ? stringValue : `0${stringValue}`}`;
201
+ if (size)
202
+ return padLeft(hex, size);
203
+ return hex;
204
+ }
205
+ fromNumber.parseError = (error) =>
206
+ /* v8 ignore next */
207
+ error;
208
+ /**
209
+ * Encodes a string into a {@link ox#Hex.Hex} value.
210
+ *
211
+ * @example
212
+ * ```ts twoslash
213
+ * import { Hex } from 'ox'
214
+ * Hex.fromString('Hello World!')
215
+ * // '0x48656c6c6f20576f726c6421'
216
+ *
217
+ * Hex.fromString('Hello World!', { size: 32 })
218
+ * // '0x48656c6c6f20576f726c64210000000000000000000000000000000000000000'
219
+ * ```
220
+ *
221
+ * @param value - The string value to encode.
222
+ * @param options - Options.
223
+ * @returns The encoded {@link ox#Hex.Hex} value.
224
+ */
225
+ export function fromString(value, options = {}) {
226
+ return fromBytes(encoder.encode(value), options);
227
+ }
228
+ fromString.parseError = (error) =>
229
+ /* v8 ignore next */
230
+ error;
231
+ /**
232
+ * Checks if two {@link ox#Hex.Hex} values are equal.
233
+ *
234
+ * @example
235
+ * ```ts twoslash
236
+ * import { Hex } from 'ox'
237
+ *
238
+ * Hex.isEqual('0xdeadbeef', '0xdeadbeef')
239
+ * // @log: true
240
+ *
241
+ * Hex.isEqual('0xda', '0xba')
242
+ * // @log: false
243
+ * ```
244
+ *
245
+ * @param hexA - The first {@link ox#Hex.Hex} value.
246
+ * @param hexB - The second {@link ox#Hex.Hex} value.
247
+ * @returns `true` if the two {@link ox#Hex.Hex} values are equal, `false` otherwise.
248
+ */
249
+ export function isEqual(hexA, hexB) {
250
+ return equalBytes(Bytes.fromHex(hexA), Bytes.fromHex(hexB));
251
+ }
252
+ /* v8 ignore next */
253
+ isEqual.parseError = (error) => error;
254
+ /**
255
+ * Pads a {@link ox#Hex.Hex} value to the left with zero bytes until it reaches the given `size` (default: 32 bytes).
256
+ *
257
+ * @example
258
+ * ```ts twoslash
259
+ * import { Hex } from 'ox'
260
+ *
261
+ * Hex.padLeft('0x1234', 4)
262
+ * // @log: '0x00001234'
263
+ * ```
264
+ *
265
+ * @param value - The {@link ox#Hex.Hex} value to pad.
266
+ * @param size - The size (in bytes) of the output hex value.
267
+ * @returns The padded {@link ox#Hex.Hex} value.
268
+ */
269
+ export function padLeft(value, size) {
270
+ return internal.pad(value, { dir: 'left', size });
271
+ }
272
+ /* v8 ignore next */
273
+ padLeft.parseError = (error) => error;
274
+ /**
275
+ * Pads a {@link ox#Hex.Hex} value to the right with zero bytes until it reaches the given `size` (default: 32 bytes).
276
+ *
277
+ * @example
278
+ * ```ts
279
+ * import { Hex } from 'ox'
280
+ *
281
+ * Hex.padRight('0x1234', 4)
282
+ * // @log: '0x12340000'
283
+ * ```
284
+ *
285
+ * @param value - The {@link ox#Hex.Hex} value to pad.
286
+ * @param size - The size (in bytes) of the output hex value.
287
+ * @returns The padded {@link ox#Hex.Hex} value.
288
+ */
289
+ export function padRight(value, size) {
290
+ return internal.pad(value, { dir: 'right', size });
291
+ }
292
+ /* v8 ignore next */
293
+ padRight.parseError = (error) => error;
294
+ /**
295
+ * Generates a random {@link ox#Hex.Hex} value of the specified length.
296
+ *
297
+ * @example
298
+ * ```ts twoslash
299
+ * import { Hex } from 'ox'
300
+ *
301
+ * const hex = Hex.random(32)
302
+ * // @log: '0x...'
303
+ * ```
304
+ *
305
+ * @returns Random {@link ox#Hex.Hex} value.
306
+ */
307
+ export function random(length) {
308
+ return fromBytes(Bytes.random(length));
309
+ }
310
+ /* v8 ignore next */
311
+ random.parseError = (error) => error;
312
+ /**
313
+ * Returns a section of a {@link ox#Bytes.Bytes} value given a start/end bytes offset.
314
+ *
315
+ * @example
316
+ * ```ts twoslash
317
+ * import { Hex } from 'ox'
318
+ *
319
+ * Hex.slice('0x0123456789', 1, 4)
320
+ * // @log: '0x234567'
321
+ * ```
322
+ *
323
+ * @param value - The {@link ox#Hex.Hex} value to slice.
324
+ * @param start - The start offset (in bytes).
325
+ * @param end - The end offset (in bytes).
326
+ * @param options - Options.
327
+ * @returns The sliced {@link ox#Hex.Hex} value.
328
+ */
329
+ export function slice(value, start, end, options = {}) {
330
+ const { strict } = options;
331
+ internal.assertStartOffset(value, start);
332
+ const value_ = `0x${value
333
+ .replace('0x', '')
334
+ .slice((start ?? 0) * 2, (end ?? value.length) * 2)}`;
335
+ if (strict)
336
+ internal.assertEndOffset(value_, start, end);
337
+ return value_;
338
+ }
339
+ /* v8 ignore next */
340
+ slice.parseError = (error) => error;
341
+ /**
342
+ * Retrieves the size of a {@link ox#Hex.Hex} value (in bytes).
343
+ *
344
+ * @example
345
+ * ```ts twoslash
346
+ * import { Hex } from 'ox'
347
+ *
348
+ * Hex.size('0xdeadbeef')
349
+ * // @log: 4
350
+ * ```
351
+ *
352
+ * @param value - The {@link ox#Hex.Hex} value to get the size of.
353
+ * @returns The size of the {@link ox#Hex.Hex} value (in bytes).
354
+ */
355
+ export function size(value) {
356
+ return Math.ceil((value.length - 2) / 2);
357
+ }
358
+ /* v8 ignore next */
359
+ size.parseError = (error) => error;
360
+ /**
361
+ * Trims leading zeros from a {@link ox#Hex.Hex} value.
362
+ *
363
+ * @example
364
+ * ```ts twoslash
365
+ * import { Hex } from 'ox'
366
+ *
367
+ * Hex.trimLeft('0x00000000deadbeef')
368
+ * // @log: '0xdeadbeef'
369
+ * ```
370
+ *
371
+ * @param value - The {@link ox#Hex.Hex} value to trim.
372
+ * @returns The trimmed {@link ox#Hex.Hex} value.
373
+ */
374
+ export function trimLeft(value) {
375
+ return internal.trim(value, { dir: 'left' });
376
+ }
377
+ /* v8 ignore next */
378
+ trimLeft.parseError = (error) => error;
379
+ /**
380
+ * Trims trailing zeros from a {@link ox#Hex.Hex} value.
381
+ *
382
+ * @example
383
+ * ```ts twoslash
384
+ * import { Hex } from 'ox'
385
+ *
386
+ * Hex.trimRight('0xdeadbeef00000000')
387
+ * // @log: '0xdeadbeef'
388
+ * ```
389
+ *
390
+ * @param value - The {@link ox#Hex.Hex} value to trim.
391
+ * @returns The trimmed {@link ox#Hex.Hex} value.
392
+ */
393
+ export function trimRight(value) {
394
+ return internal.trim(value, { dir: 'right' });
395
+ }
396
+ /* v8 ignore next */
397
+ trimRight.parseError = (error) => error;
398
+ /**
399
+ * Decodes a {@link ox#Hex.Hex} value into a BigInt.
400
+ *
401
+ * @example
402
+ * ```ts twoslash
403
+ * import { Hex } from 'ox'
404
+ *
405
+ * Hex.toBigInt('0x1a4')
406
+ * // @log: 420n
407
+ *
408
+ * Hex.toBigInt('0x00000000000000000000000000000000000000000000000000000000000001a4', { size: 32 })
409
+ * // @log: 420n
410
+ * ```
411
+ *
412
+ * @param hex - The {@link ox#Hex.Hex} value to decode.
413
+ * @param options - Options.
414
+ * @returns The decoded BigInt.
415
+ */
416
+ export function toBigInt(hex, options = {}) {
417
+ const { signed } = options;
418
+ if (options.size)
419
+ internal.assertSize(hex, options.size);
420
+ const value = BigInt(hex);
421
+ if (!signed)
422
+ return value;
423
+ const size = (hex.length - 2) / 2;
424
+ const max_unsigned = (1n << (BigInt(size) * 8n)) - 1n;
425
+ const max_signed = max_unsigned >> 1n;
426
+ if (value <= max_signed)
427
+ return value;
428
+ return value - max_unsigned - 1n;
429
+ }
430
+ /* v8 ignore next */
431
+ toBigInt.parseError = (error) => error;
432
+ /**
433
+ * Decodes a {@link ox#Hex.Hex} value into a boolean.
434
+ *
435
+ * @example
436
+ * ```ts twoslash
437
+ * import { Hex } from 'ox'
438
+ *
439
+ * Hex.toBoolean('0x01')
440
+ * // @log: true
441
+ *
442
+ * Hex.toBoolean('0x0000000000000000000000000000000000000000000000000000000000000001', { size: 32 })
443
+ * // @log: true
444
+ * ```
445
+ *
446
+ * @param hex - The {@link ox#Hex.Hex} value to decode.
447
+ * @param options - Options.
448
+ * @returns The decoded boolean.
449
+ */
450
+ export function toBoolean(hex, options = {}) {
451
+ let hex_ = hex;
452
+ if (options.size) {
453
+ internal.assertSize(hex, options.size);
454
+ hex_ = trimLeft(hex_);
455
+ }
456
+ if (trimLeft(hex_) === '0x00')
457
+ return false;
458
+ if (trimLeft(hex_) === '0x01')
459
+ return true;
460
+ throw new InvalidHexBooleanError(hex_);
461
+ }
462
+ /* v8 ignore next */
463
+ toBoolean.parseError = (error) => error;
464
+ /**
465
+ * Decodes a {@link ox#Hex.Hex} value into a {@link ox#Bytes.Bytes}.
466
+ *
467
+ * @example
468
+ * ```ts twoslash
469
+ * import { Hex } from 'ox'
470
+ *
471
+ * const data = Hex.toBytes('0x48656c6c6f20776f726c6421')
472
+ * // @log: Uint8Array([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33])
473
+ * ```
474
+ *
475
+ * @param hex - The {@link ox#Hex.Hex} value to decode.
476
+ * @param options - Options.
477
+ * @returns The decoded {@link ox#Bytes.Bytes}.
478
+ */
479
+ export function toBytes(hex, options = {}) {
480
+ return Bytes.fromHex(hex, options);
481
+ }
482
+ /* v8 ignore next */
483
+ toBytes.parseError = (error) => error;
484
+ /**
485
+ * Decodes a {@link ox#Hex.Hex} value into a number.
486
+ *
487
+ * @example
488
+ * ```ts twoslash
489
+ * import { Hex } from 'ox'
490
+ *
491
+ * Hex.toNumber('0x1a4')
492
+ * // @log: 420
493
+ *
494
+ * Hex.toNumber('0x00000000000000000000000000000000000000000000000000000000000001a4', { size: 32 })
495
+ * // @log: 420
496
+ * ```
497
+ *
498
+ * @param hex - The {@link ox#Hex.Hex} value to decode.
499
+ * @param options - Options.
500
+ * @returns The decoded number.
501
+ */
502
+ export function toNumber(hex, options = {}) {
503
+ const { signed, size } = options;
504
+ if (!signed && !size)
505
+ return Number(hex);
506
+ return Number(toBigInt(hex, options));
507
+ }
508
+ /* v8 ignore next */
509
+ toNumber.parseError = (error) => error;
510
+ /**
511
+ * Decodes a {@link ox#Hex.Hex} value into a string.
512
+ *
513
+ * @example
514
+ * ```ts twoslash
515
+ * import { Hex } from 'ox'
516
+ *
517
+ * Hex.toString('0x48656c6c6f20576f726c6421')
518
+ * // @log: 'Hello world!'
519
+ *
520
+ * Hex.toString('0x48656c6c6f20576f726c64210000000000000000000000000000000000000000', {
521
+ * size: 32,
522
+ * })
523
+ * // @log: 'Hello world'
524
+ * ```
525
+ *
526
+ * @param hex - The {@link ox#Hex.Hex} value to decode.
527
+ * @param options - Options.
528
+ * @returns The decoded string.
529
+ */
530
+ export function toString(hex, options = {}) {
531
+ const { size } = options;
532
+ let bytes = Bytes.fromHex(hex);
533
+ if (size) {
534
+ internal_bytes.assertSize(bytes, size);
535
+ bytes = Bytes.trimRight(bytes);
536
+ }
537
+ return new TextDecoder().decode(bytes);
538
+ }
539
+ /* v8 ignore next */
540
+ toString.parseError = (error) => error;
541
+ /**
542
+ * Checks if the given value is {@link ox#Hex.Hex}.
543
+ *
544
+ * @example
545
+ * ```ts twoslash
546
+ * import { Bytes, Hex } from 'ox'
547
+ *
548
+ * Hex.validate('0xdeadbeef')
549
+ * // @log: true
550
+ *
551
+ * Hex.validate(Bytes.from([1, 2, 3]))
552
+ * // @log: false
553
+ * ```
554
+ *
555
+ * @param value - The value to check.
556
+ * @param options - Options.
557
+ * @returns `true` if the value is a {@link ox#Hex.Hex}, `false` otherwise.
558
+ */
559
+ export function validate(value, options = {}) {
560
+ const { strict = false } = options;
561
+ try {
562
+ assert(value, { strict });
563
+ return true;
564
+ }
565
+ catch {
566
+ return false;
567
+ }
568
+ }
569
+ /* v8 ignore next */
570
+ validate.parseError = (error) => error;
571
+ /**
572
+ * Thrown when the provided integer is out of range, and cannot be represented as a hex value.
573
+ *
574
+ * @example
575
+ * ```ts twoslash
576
+ * import { Hex } from 'ox'
577
+ *
578
+ * Hex.fromNumber(420182738912731283712937129)
579
+ * // @error: Hex.IntegerOutOfRangeError: Number \`4.2018273891273126e+26\` is not in safe unsigned integer range (`0` to `9007199254740991`)
580
+ * ```
581
+ */
582
+ export class IntegerOutOfRangeError extends Errors.BaseError {
583
+ constructor({ max, min, signed, size, value, }) {
584
+ super(`Number \`${value}\` is not in safe${size ? ` ${size * 8}-bit` : ''}${signed ? ' signed' : ' unsigned'} integer range ${max ? `(\`${min}\` to \`${max}\`)` : `(above \`${min}\`)`}`);
585
+ Object.defineProperty(this, "name", {
586
+ enumerable: true,
587
+ configurable: true,
588
+ writable: true,
589
+ value: 'Hex.IntegerOutOfRangeError'
590
+ });
591
+ }
592
+ }
593
+ /**
594
+ * Thrown when the provided hex value cannot be represented as a boolean.
595
+ *
596
+ * @example
597
+ * ```ts twoslash
598
+ * import { Hex } from 'ox'
599
+ *
600
+ * Hex.toBoolean('0xa')
601
+ * // @error: Hex.InvalidHexBooleanError: Hex value `"0xa"` is not a valid boolean.
602
+ * // @error: The hex value must be `"0x0"` (false) or `"0x1"` (true).
603
+ * ```
604
+ */
605
+ export class InvalidHexBooleanError extends Errors.BaseError {
606
+ constructor(hex) {
607
+ super(`Hex value \`"${hex}"\` is not a valid boolean.`, {
608
+ metaMessages: [
609
+ 'The hex value must be `"0x0"` (false) or `"0x1"` (true).',
610
+ ],
611
+ });
612
+ Object.defineProperty(this, "name", {
613
+ enumerable: true,
614
+ configurable: true,
615
+ writable: true,
616
+ value: 'Hex.InvalidHexBooleanError'
617
+ });
618
+ }
619
+ }
620
+ /**
621
+ * Thrown when the provided value is not a valid hex type.
622
+ *
623
+ * @example
624
+ * ```ts twoslash
625
+ * import { Hex } from 'ox'
626
+ *
627
+ * Hex.assert(1)
628
+ * // @error: Hex.InvalidHexTypeError: Value `1` of type `number` is an invalid hex type.
629
+ * ```
630
+ */
631
+ export class InvalidHexTypeError extends Errors.BaseError {
632
+ constructor(value) {
633
+ super(`Value \`${typeof value === 'object' ? Json.stringify(value) : value}\` of type \`${typeof value}\` is an invalid hex type.`, {
634
+ metaMessages: ['Hex types must be represented as `"0x${string}"`.'],
635
+ });
636
+ Object.defineProperty(this, "name", {
637
+ enumerable: true,
638
+ configurable: true,
639
+ writable: true,
640
+ value: 'Hex.InvalidHexTypeError'
641
+ });
642
+ }
643
+ }
644
+ /**
645
+ * Thrown when the provided hex value is invalid.
646
+ *
647
+ * @example
648
+ * ```ts twoslash
649
+ * import { Hex } from 'ox'
650
+ *
651
+ * Hex.assert('0x0123456789abcdefg')
652
+ * // @error: Hex.InvalidHexValueError: Value `0x0123456789abcdefg` is an invalid hex value.
653
+ * // @error: Hex values must start with `"0x"` and contain only hexadecimal characters (0-9, a-f, A-F).
654
+ * ```
655
+ */
656
+ export class InvalidHexValueError extends Errors.BaseError {
657
+ constructor(value) {
658
+ super(`Value \`${value}\` is an invalid hex value.`, {
659
+ metaMessages: [
660
+ 'Hex values must start with `"0x"` and contain only hexadecimal characters (0-9, a-f, A-F).',
661
+ ],
662
+ });
663
+ Object.defineProperty(this, "name", {
664
+ enumerable: true,
665
+ configurable: true,
666
+ writable: true,
667
+ value: 'Hex.InvalidHexValueError'
668
+ });
669
+ }
670
+ }
671
+ /**
672
+ * Thrown when the provided hex value is an odd length.
673
+ *
674
+ * @example
675
+ * ```ts twoslash
676
+ * import { Bytes } from 'ox'
677
+ *
678
+ * Bytes.fromHex('0xabcde')
679
+ * // @error: Hex.InvalidLengthError: Hex value `"0xabcde"` is an odd length (5 nibbles).
680
+ * ```
681
+ */
682
+ export class InvalidLengthError extends Errors.BaseError {
683
+ constructor(value) {
684
+ super(`Hex value \`"${value}"\` is an odd length (${value.length - 2} nibbles).`, {
685
+ metaMessages: ['It must be an even length.'],
686
+ });
687
+ Object.defineProperty(this, "name", {
688
+ enumerable: true,
689
+ configurable: true,
690
+ writable: true,
691
+ value: 'Hex.InvalidLengthError'
692
+ });
693
+ }
694
+ }
695
+ /**
696
+ * Thrown when the size of the value exceeds the expected max size.
697
+ *
698
+ * @example
699
+ * ```ts twoslash
700
+ * import { Hex } from 'ox'
701
+ *
702
+ * Hex.fromString('Hello World!', { size: 8 })
703
+ * // @error: Hex.SizeOverflowError: Size cannot exceed `8` bytes. Given size: `12` bytes.
704
+ * ```
705
+ */
706
+ export class SizeOverflowError extends Errors.BaseError {
707
+ constructor({ givenSize, maxSize }) {
708
+ super(`Size cannot exceed \`${maxSize}\` bytes. Given size: \`${givenSize}\` bytes.`);
709
+ Object.defineProperty(this, "name", {
710
+ enumerable: true,
711
+ configurable: true,
712
+ writable: true,
713
+ value: 'Hex.SizeOverflowError'
714
+ });
715
+ }
716
+ }
717
+ /**
718
+ * Thrown when the slice offset exceeds the bounds of the value.
719
+ *
720
+ * @example
721
+ * ```ts twoslash
722
+ * import { Hex } from 'ox'
723
+ *
724
+ * Hex.slice('0x0123456789', 6)
725
+ * // @error: Hex.SliceOffsetOutOfBoundsError: Slice starting at offset `6` is out-of-bounds (size: `5`).
726
+ * ```
727
+ */
728
+ export class SliceOffsetOutOfBoundsError extends Errors.BaseError {
729
+ constructor({ offset, position, size, }) {
730
+ super(`Slice ${position === 'start' ? 'starting' : 'ending'} at offset \`${offset}\` is out-of-bounds (size: \`${size}\`).`);
731
+ Object.defineProperty(this, "name", {
732
+ enumerable: true,
733
+ configurable: true,
734
+ writable: true,
735
+ value: 'Hex.SliceOffsetOutOfBoundsError'
736
+ });
737
+ }
738
+ }
739
+ /**
740
+ * Thrown when the size of the value exceeds the pad size.
741
+ *
742
+ * @example
743
+ * ```ts twoslash
744
+ * import { Hex } from 'ox'
745
+ *
746
+ * Hex.padLeft('0x1a4e12a45a21323123aaa87a897a897a898a6567a578a867a98778a667a85a875a87a6a787a65a675a6a9', 32)
747
+ * // @error: Hex.SizeExceedsPaddingSizeError: Hex size (`43`) exceeds padding size (`32`).
748
+ * ```
749
+ */
750
+ export class SizeExceedsPaddingSizeError extends Errors.BaseError {
751
+ constructor({ size, targetSize, type, }) {
752
+ super(`${type.charAt(0).toUpperCase()}${type
753
+ .slice(1)
754
+ .toLowerCase()} size (\`${size}\`) exceeds padding size (\`${targetSize}\`).`);
755
+ Object.defineProperty(this, "name", {
756
+ enumerable: true,
757
+ configurable: true,
758
+ writable: true,
759
+ value: 'Hex.SizeExceedsPaddingSizeError'
760
+ });
761
+ }
762
+ }
763
+ //# sourceMappingURL=Hex.js.map