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/CHANGELOG.md ADDED
@@ -0,0 +1,7 @@
1
+ # ox
2
+
3
+ ## 0.1.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`4297bcf`](https://github.com/wevm/ox/commit/4297bcf0acef7f1f208ba3770d679fefa0c2cb8d) Thanks [@jxom](https://github.com/jxom)! - Initial release.
@@ -0,0 +1,6 @@
1
+ {
2
+ "type": "module",
3
+ "types": "../_types/Caches.d.ts",
4
+ "main": "../_cjs/Caches.js",
5
+ "module": "../_esm/Caches.js"
6
+ }
package/Caches.ts ADDED
@@ -0,0 +1,21 @@
1
+ import type * as Address from './Address.js'
2
+ import { LruMap } from './internal/lru.js'
3
+
4
+ const caches = {
5
+ checksum: /*#__PURE__*/ new LruMap<Address.Address>(8192),
6
+ }
7
+
8
+ export const checksum = caches.checksum
9
+
10
+ /**
11
+ * Clears all global caches.
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * import { Caches } from 'ox'
16
+ * Caches.clear()
17
+ * ```
18
+ */
19
+ export function clear() {
20
+ for (const cache of Object.values(caches)) cache.clear()
21
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "type": "module",
3
+ "types": "../_types/ContractAddress.d.ts",
4
+ "main": "../_cjs/ContractAddress.js",
5
+ "module": "../_esm/ContractAddress.js"
6
+ }
@@ -0,0 +1,181 @@
1
+ import * as Address from './Address.js'
2
+ import * as Bytes from './Bytes.js'
3
+ import type * as Errors from './Errors.js'
4
+ import * as Hash from './Hash.js'
5
+ import * as Hex from './Hex.js'
6
+ import * as Rlp from './Rlp.js'
7
+ import type { OneOf } from './internal/types.js'
8
+
9
+ /**
10
+ * Computes Contract Address generated by the [CREATE](https://ethereum.stackexchange.com/questions/68943/create-opcode-what-does-it-really-do/68945#68945) or [CREATE2](https://eips.ethereum.org/EIPS/eip-1014) opcode.
11
+ *
12
+ * @example
13
+ * ### CREATE
14
+ *
15
+ * Computes via the [CREATE](https://ethereum.stackexchange.com/questions/68943/create-opcode-what-does-it-really-do/68945#68945) opcode. Shorthand for {@link ox#ContractAddress.(fromCreate:function)}.
16
+ *
17
+ * ```ts twoslash
18
+ * import { ContractAddress } from 'ox'
19
+ * ContractAddress.from({
20
+ * from: '0x1a1e021a302c237453d3d45c7b82b19ceeb7e2e6',
21
+ * nonce: 0n,
22
+ * })
23
+ * // @log: '0xFBA3912Ca04dd458c843e2EE08967fC04f3579c2'
24
+ * ```
25
+ *
26
+ * @example
27
+ * ### CREATE2
28
+ *
29
+ * Computes via the [CREATE2](https://eips.ethereum.org/EIPS/eip-1014) opcode. Shorthand for {@link ox#ContractAddress.(fromCreate2:function)}.
30
+ *
31
+ * ```ts twoslash
32
+ * import { ContractAddress, Hex } from 'ox'
33
+ * ContractAddress.from({
34
+ * from: '0x1a1e021a302c237453d3d45c7b82b19ceeb7e2e6',
35
+ * bytecode: '0x6394198df16000526103ff60206004601c335afa6040516060f3',
36
+ * salt: Hex.fromString('hello world'),
37
+ * })
38
+ * // @log: '0x59fbB593ABe27Cb193b6ee5C5DC7bbde312290aB'
39
+ * ```
40
+ *
41
+ * @param options - Options.
42
+ * @returns Contract Address.
43
+ */
44
+ export function from(options: from.Options): Address.Address {
45
+ if (options.salt) return fromCreate2(options)
46
+ return fromCreate(options)
47
+ }
48
+
49
+ export declare namespace from {
50
+ export type Options = OneOf<fromCreate.Options | fromCreate2.Options>
51
+
52
+ type ErrorType =
53
+ | fromCreate.ErrorType
54
+ | fromCreate2.ErrorType
55
+ | Errors.GlobalErrorType
56
+ }
57
+
58
+ from.parseError = (error: unknown) =>
59
+ /* v8 ignore next */
60
+ error as from.ErrorType
61
+
62
+ /**
63
+ * Computes contract address via [CREATE](https://ethereum.stackexchange.com/questions/68943/create-opcode-what-does-it-really-do/68945#68945) opcode.
64
+ *
65
+ * @example
66
+ * ```ts twoslash
67
+ * import { ContractAddress } from 'ox'
68
+ *
69
+ * ContractAddress.fromCreate({
70
+ * from: '0x1a1e021a302c237453d3d45c7b82b19ceeb7e2e6',
71
+ * nonce: 0n,
72
+ * })
73
+ * // @log: '0xFBA3912Ca04dd458c843e2EE08967fC04f3579c2'
74
+ * ```
75
+ *
76
+ * @param options - Options for retrieving address.
77
+ * @returns Contract Address.
78
+ */
79
+ export function fromCreate(options: fromCreate.Options): Address.Address {
80
+ const from = Bytes.fromHex(Address.from(options.from))
81
+
82
+ let nonce = Bytes.fromNumber(options.nonce)
83
+ if (nonce[0] === 0) nonce = new Uint8Array([])
84
+
85
+ return Address.from(
86
+ `0x${Hash.keccak256(Rlp.fromBytes([from, nonce], { as: 'Hex' })).slice(26)}` as Address.Address,
87
+ )
88
+ }
89
+
90
+ export declare namespace fromCreate {
91
+ type Options = {
92
+ /** The address the contract was deployed from. */
93
+ from: Address.Address
94
+ /** The nonce of the transaction which deployed the contract. */
95
+ nonce: bigint
96
+ }
97
+
98
+ type ErrorType =
99
+ | Hash.keccak256.ErrorType
100
+ | Address.from.ErrorType
101
+ | Bytes.fromHex.ErrorType
102
+ | Bytes.fromNumber.ErrorType
103
+ | Rlp.fromBytes.ErrorType
104
+ | Errors.GlobalErrorType
105
+ }
106
+
107
+ fromCreate.parseError = (error: unknown) =>
108
+ /* v8 ignore next */
109
+ error as fromCreate.ErrorType
110
+
111
+ /**
112
+ * Computes contract address via [CREATE2](https://eips.ethereum.org/EIPS/eip-1014) opcode.
113
+ *
114
+ * @example
115
+ * ```ts twoslash
116
+ * import { ContractAddress, Hex } from 'ox'
117
+ *
118
+ * ContractAddress.fromCreate2({
119
+ * from: '0x1a1e021a302c237453d3d45c7b82b19ceeb7e2e6',
120
+ * bytecode: '0x6394198df16000526103ff60206004601c335afa6040516060f3',
121
+ * salt: Hex.fromString('hello world'),
122
+ * })
123
+ * // @log: '0x59fbB593ABe27Cb193b6ee5C5DC7bbde312290aB'
124
+ * ```
125
+ *
126
+ * @param options - Options for retrieving address.
127
+ * @returns Contract Address.
128
+ */
129
+ export function fromCreate2(options: fromCreate2.Options): Address.Address {
130
+ const from = Bytes.fromHex(Address.from(options.from))
131
+ const salt = Bytes.padLeft(
132
+ Bytes.validate(options.salt) ? options.salt : Bytes.fromHex(options.salt),
133
+ 32,
134
+ )
135
+
136
+ const bytecodeHash = (() => {
137
+ if ('bytecodeHash' in options) {
138
+ if (Bytes.validate(options.bytecodeHash)) return options.bytecodeHash
139
+ return Bytes.fromHex(options.bytecodeHash)
140
+ }
141
+ return Hash.keccak256(options.bytecode, { as: 'Bytes' })
142
+ })()
143
+
144
+ return Address.from(
145
+ Hex.slice(
146
+ Hash.keccak256(
147
+ Bytes.concat(Bytes.fromHex('0xff'), from, salt, bytecodeHash),
148
+ { as: 'Hex' },
149
+ ),
150
+ 12,
151
+ ),
152
+ )
153
+ }
154
+
155
+ export declare namespace fromCreate2 {
156
+ type Options =
157
+ | {
158
+ bytecode: Bytes.Bytes | Hex.Hex
159
+ from: Address.Address
160
+ salt: Bytes.Bytes | Hex.Hex
161
+ }
162
+ | {
163
+ bytecodeHash: Bytes.Bytes | Hex.Hex
164
+ from: Address.Address
165
+ salt: Bytes.Bytes | Hex.Hex
166
+ }
167
+
168
+ type ErrorType =
169
+ | Address.from.ErrorType
170
+ | Bytes.concat.ErrorType
171
+ | Bytes.validate.ErrorType
172
+ | Bytes.padLeft.ErrorType
173
+ | Hash.keccak256.ErrorType
174
+ | Hex.slice.ErrorType
175
+ | Bytes.fromHex.ErrorType
176
+ | Errors.GlobalErrorType
177
+ }
178
+
179
+ fromCreate2.parseError = (error: unknown) =>
180
+ /* v8 ignore next */
181
+ error as fromCreate2.ErrorType
@@ -0,0 +1,6 @@
1
+ {
2
+ "type": "module",
3
+ "types": "../_types/Ens.d.ts",
4
+ "main": "../_cjs/Ens.js",
5
+ "module": "../_esm/Ens.js"
6
+ }
package/Ens.ts ADDED
@@ -0,0 +1,116 @@
1
+ import { ens_normalize } from '@adraffy/ens-normalize'
2
+ import * as Bytes from './Bytes.js'
3
+ import type * as Errors from './Errors.js'
4
+ import * as Hash from './Hash.js'
5
+ import * as Hex from './Hex.js'
6
+ import * as internal from './internal/ens.js'
7
+
8
+ /**
9
+ * Hashes ENS label.
10
+ *
11
+ * Since ENS labels prohibit certain forbidden characters (e.g. underscore) and have other validation rules, you likely want to [normalize ENS labels](https://docs.ens.domains/contract-api-reference/name-processing#normalising-names) with [UTS-46 normalization](https://unicode.org/reports/tr46) before passing them to `labelhash`. You can use the built-in {@link ox#Ens.(normalize:function)} function for this.
12
+ *
13
+ * @example
14
+ * ```ts twoslash
15
+ * import { Ens } from 'ox'
16
+ * Ens.labelhash('eth')
17
+ * '0x4f5b812789fc606be1b3b16908db13fc7a9adf7ca72641f84d75b47069d3d7f0'
18
+ * ```
19
+ *
20
+ * @param label - ENS label.
21
+ * @returns ENS labelhash.
22
+ */
23
+ export function labelhash(label: string) {
24
+ const result = new Uint8Array(32).fill(0)
25
+ if (!label) return Hex.fromBytes(result)
26
+ return (
27
+ internal.unwrapLabelhash(label) || Hash.keccak256(Hex.fromString(label))
28
+ )
29
+ }
30
+
31
+ export declare namespace labelhash {
32
+ type ErrorType =
33
+ | Hex.fromBytes.ErrorType
34
+ | internal.unwrapLabelhash.ErrorType
35
+ | Hash.keccak256.ErrorType
36
+ | Hex.fromString.ErrorType
37
+ | Errors.GlobalErrorType
38
+ }
39
+
40
+ labelhash.parseError = (error: unknown) =>
41
+ /* v8 ignore next */
42
+ error as labelhash.ErrorType
43
+
44
+ /**
45
+ * Hashes ENS name.
46
+ *
47
+ * Since ENS names prohibit certain forbidden characters (e.g. underscore) and have other validation rules, you likely want to [normalize ENS names](https://docs.ens.domains/contract-api-reference/name-processing#normalising-names) with [UTS-46 normalization](https://unicode.org/reports/tr46) before passing them to `namehash`. You can use the built-in {@link ox#Ens.(normalize:function)} function for this.
48
+ *
49
+ * @example
50
+ * ```ts twoslash
51
+ * import { Ens } from 'ox'
52
+ * Ens.namehash('wevm.eth')
53
+ * // @log: '0xf246651c1b9a6b141d19c2604e9a58f567973833990f830d882534a747801359'
54
+ * ```
55
+ *
56
+ * @param name - ENS name.
57
+ * @returns ENS namehash.
58
+ */
59
+ export function namehash(name: string) {
60
+ let result = new Uint8Array(32).fill(0)
61
+ if (!name) return Hex.fromBytes(result)
62
+
63
+ const labels = name.split('.')
64
+ // Iterate in reverse order building up hash
65
+ for (let i = labels.length - 1; i >= 0; i -= 1) {
66
+ const hashFromEncodedLabel = internal.unwrapLabelhash(labels[i]!)
67
+ const hashed = hashFromEncodedLabel
68
+ ? Bytes.fromHex(hashFromEncodedLabel)
69
+ : Hash.keccak256(Bytes.fromString(labels[i]!), { as: 'Bytes' })
70
+ result = Hash.keccak256(Bytes.concat(result, hashed), { as: 'Bytes' })
71
+ }
72
+
73
+ return Hex.fromBytes(result)
74
+ }
75
+
76
+ export declare namespace namehash {
77
+ type ErrorType =
78
+ | Hex.fromBytes.ErrorType
79
+ | internal.unwrapLabelhash.ErrorType
80
+ | Bytes.fromHex.ErrorType
81
+ | Hash.keccak256.ErrorType
82
+ | Bytes.fromString.ErrorType
83
+ | Bytes.concat.ErrorType
84
+ | Errors.GlobalErrorType
85
+ }
86
+
87
+ namehash.parseError = (error: unknown) =>
88
+ /* v8 ignore next */
89
+ error as namehash.ErrorType
90
+
91
+ /**
92
+ * Normalizes ENS name according to [ENSIP-15](https://github.com/ensdomains/docs/blob/9edf9443de4333a0ea7ec658a870672d5d180d53/ens-improvement-proposals/ensip-15-normalization-standard.md).
93
+ *
94
+ * For more info see [ENS documentation](https://docs.ens.domains/contract-api-reference/name-processing#normalising-names) on name processing.
95
+ *
96
+ * @example
97
+ * ```ts twoslash
98
+ * import { Ens } from 'ox'
99
+ * Ens.normalize('wevm.eth')
100
+ * // @log: 'wevm.eth'
101
+ * ```
102
+ *
103
+ * @param name - ENS name.
104
+ * @returns Normalized ENS name.
105
+ */
106
+ export function normalize(name: string): string {
107
+ return ens_normalize(name)
108
+ }
109
+
110
+ export declare namespace normalize {
111
+ type ErrorType = Errors.GlobalErrorType
112
+ }
113
+
114
+ normalize.parseError = (error: unknown) =>
115
+ /* v8 ignore next */
116
+ error as normalize.ErrorType
@@ -0,0 +1,6 @@
1
+ {
2
+ "type": "module",
3
+ "types": "../_types/Errors.d.ts",
4
+ "main": "../_cjs/Errors.js",
5
+ "module": "../_esm/Errors.js"
6
+ }
package/Errors.ts ADDED
@@ -0,0 +1,95 @@
1
+ import { getVersion } from './internal/errors.js'
2
+
3
+ export type GlobalErrorType<name extends string = 'Error'> = Error & {
4
+ name: name
5
+ }
6
+
7
+ /**
8
+ * Base error class inherited by all errors thrown by ox.
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * import { Errors } from 'ox'
13
+ * throw new Errors.BaseError('An error occurred')
14
+ * ```
15
+ */
16
+ export class BaseError<
17
+ cause extends Error | undefined = undefined,
18
+ > extends Error {
19
+ details: string
20
+ docs?: string | undefined
21
+ docsPath?: string | undefined
22
+ shortMessage: string
23
+
24
+ override cause: cause
25
+ override name = 'BaseError'
26
+
27
+ version = `ox@${getVersion()}`
28
+
29
+ constructor(shortMessage: string, options: BaseError.Options<cause> = {}) {
30
+ const details = (() => {
31
+ if (options.cause instanceof BaseError) {
32
+ if (options.cause.details) return options.cause.details
33
+ if (options.cause.shortMessage) return options.cause.shortMessage
34
+ }
35
+ if (options.cause?.message) return options.cause.message
36
+ return options.details!
37
+ })()
38
+ const docsPath = (() => {
39
+ if (options.cause instanceof BaseError)
40
+ return options.cause.docsPath || options.docsPath
41
+ return options.docsPath
42
+ })()
43
+
44
+ const docsBaseUrl = 'https://oxlib.sh'
45
+ const docs = `${docsBaseUrl}${docsPath ?? ''}`
46
+
47
+ const message = [
48
+ shortMessage || 'An error occurred.',
49
+ ...(options.metaMessages ? ['', ...options.metaMessages] : []),
50
+ ...(details || docsPath
51
+ ? [
52
+ '',
53
+ details ? `Details: ${details}` : undefined,
54
+ docsPath ? `See: ${docs}` : undefined,
55
+ ]
56
+ : []),
57
+ ]
58
+ .filter((x) => typeof x === 'string')
59
+ .join('\n')
60
+
61
+ super(message, options.cause ? { cause: options.cause } : undefined)
62
+
63
+ this.cause = options.cause as any
64
+ this.details = details
65
+ this.docs = docs
66
+ this.docsPath = docsPath
67
+ this.shortMessage = shortMessage
68
+ }
69
+
70
+ walk(): Error
71
+ walk(fn: (err: unknown) => boolean): Error | null
72
+ walk(fn?: any): any {
73
+ return walk(this, fn)
74
+ }
75
+ }
76
+
77
+ export declare namespace BaseError {
78
+ type Options<cause extends Error | undefined = Error | undefined> = {
79
+ cause?: cause | undefined
80
+ details?: string | undefined
81
+ docsPath?: string | undefined
82
+ metaMessages?: (string | undefined)[] | undefined
83
+ }
84
+ }
85
+
86
+ /** @internal */
87
+ function walk(
88
+ err: unknown,
89
+ fn?: ((err: unknown) => boolean) | undefined,
90
+ ): unknown {
91
+ if (fn?.(err)) return err
92
+ if (err && typeof err === 'object' && 'cause' in err && err.cause)
93
+ return walk(err.cause, fn)
94
+ return fn ? null : err
95
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "type": "module",
3
+ "types": "../_types/Fee.d.ts",
4
+ "main": "../_cjs/Fee.js",
5
+ "module": "../_esm/Fee.js"
6
+ }
package/Fee.ts ADDED
@@ -0,0 +1,57 @@
1
+ import type * as Hex from './Hex.js'
2
+ import type { Compute, OneOf } from './internal/types.js'
3
+
4
+ export type FeeHistory<bigintType = bigint> = Compute<{
5
+ /**
6
+ * An array of block base fees per gas (in wei). This includes the next block after
7
+ * the newest of the returned range, because this value can be derived from the newest block.
8
+ * Zeroes are returned for pre-EIP-1559 blocks. */
9
+ baseFeePerGas: bigintType[]
10
+ /** An array of block gas used ratios. These are calculated as the ratio of gasUsed and gasLimit. */
11
+ gasUsedRatio: number[]
12
+ /** Lowest number block of the returned range. */
13
+ oldestBlock: bigintType
14
+ /** An array of effective priority fees (in wei) per gas data points from a single block. All zeroes are returned if the block is empty. */
15
+ reward?: bigintType[][] | undefined
16
+ }>
17
+
18
+ export type FeeHistoryRpc = FeeHistory<Hex.Hex>
19
+
20
+ export type FeeValuesLegacy<bigintType = bigint> = {
21
+ /** Base fee per gas. */
22
+ gasPrice: bigintType
23
+ }
24
+
25
+ export type FeeValuesLegacyRpc = FeeValuesLegacy<Hex.Hex>
26
+
27
+ export type FeeValuesEip1559<bigintType = bigint> = {
28
+ /** Total fee per gas in wei (gasPrice/baseFeePerGas + maxPriorityFeePerGas). */
29
+ maxFeePerGas: bigintType
30
+ /** Max priority fee per gas (in wei). */
31
+ maxPriorityFeePerGas: bigintType
32
+ }
33
+
34
+ export type FeeValuesEip1559Rpc = FeeValuesEip1559<Hex.Hex>
35
+
36
+ export type FeeValuesEip4844<bigintType = bigint> = {
37
+ /** Maximum total fee per gas sender is willing to pay for blob gas (in wei). */
38
+ maxFeePerBlobGas: bigintType
39
+ /** Total fee per gas in wei (gasPrice/baseFeePerGas + maxPriorityFeePerGas). */
40
+ maxFeePerGas: bigintType
41
+ /** Max priority fee per gas (in wei). */
42
+ maxPriorityFeePerGas: bigintType
43
+ }
44
+
45
+ export type FeeValuesEip4844Rpc = FeeValuesEip4844<Hex.Hex>
46
+
47
+ export type FeeValues<bigintType = bigint> = OneOf<
48
+ | FeeValuesLegacy<bigintType>
49
+ | FeeValuesEip1559<bigintType>
50
+ | FeeValuesEip4844<bigintType>
51
+ >
52
+
53
+ export type FeeValuesRpc = OneOf<
54
+ FeeValuesLegacyRpc | FeeValuesEip1559Rpc | FeeValuesEip4844Rpc
55
+ >
56
+
57
+ export type FeeValuesType = 'legacy' | 'eip1559' | 'eip4844'
@@ -0,0 +1,6 @@
1
+ {
2
+ "type": "module",
3
+ "types": "../_types/Filter.d.ts",
4
+ "main": "../_cjs/Filter.js",
5
+ "module": "../_esm/Filter.js"
6
+ }
package/Filter.ts ADDED
@@ -0,0 +1,144 @@
1
+ import type * as Address from './Address.js'
2
+ import type * as Block from './Block.js'
3
+ import type * as Errors from './Errors.js'
4
+ import * as Hex from './Hex.js'
5
+ import type { Compute } from './internal/types.js'
6
+
7
+ /** A Filter as defined in the [Execution API specification](https://github.com/ethereum/execution-apis/blob/main/src/schemas/filter.yaml). */
8
+ export type Filter<bigintType = bigint> = Compute<{
9
+ /** Address to filter for logs. */
10
+ address?: Address.Address | readonly Address.Address[] | null | undefined
11
+ /** Block number or tag to filter logs from. */
12
+ fromBlock?: Block.Number<bigintType> | Block.Tag | undefined
13
+ /** Block number or tag to filter logs to. */
14
+ toBlock?: Block.Number<bigintType> | Block.Tag | undefined
15
+ /** Topics to filter for logs. */
16
+ topics?: Topics | undefined
17
+ }>
18
+
19
+ /** RPC representation of a {@link ox#Filter.Filter}. */
20
+ export type Rpc = Filter<Hex.Hex>
21
+
22
+ /** Set of Filter topics. */
23
+ export type Topics = readonly Topic[]
24
+
25
+ /**
26
+ * A filter topic.
27
+ *
28
+ * - `null`: Matches any topic.
29
+ * - `Hex`: Matches if the topic is equal.
30
+ * - `Hex[]`: Matches if the topic is in the array.
31
+ */
32
+ export type Topic = Hex.Hex | readonly Hex.Hex[] | null
33
+
34
+ /**
35
+ * Converts a {@link ox#Filter.Rpc} to an {@link ox#Filter.Filter}.
36
+ *
37
+ * @example
38
+ * ```ts twoslash
39
+ * import { Filter } from 'ox'
40
+ *
41
+ * const filter = Filter.fromRpc({
42
+ * address: '0xd3cda913deb6f67967b99d671a681250403edf27',
43
+ * fromBlock: 'latest',
44
+ * toBlock: '0x010f2c',
45
+ * topics: [
46
+ * '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef',
47
+ * null,
48
+ * '0x0000000000000000000000000c04d9e9278ec5e4d424476d3ebec70cb5d648d1',
49
+ * ],
50
+ * })
51
+ * // @log: {
52
+ * // @log: address: '0xd3cda913deb6f67967b99d671a681250403edf27',
53
+ * // @log: fromBlock: 'latest',
54
+ * // @log: toBlock: 69420n,
55
+ * // @log: topics: [
56
+ * // @log: '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef',
57
+ * // @log: null,
58
+ * // @log: '0x0000000000000000000000000c04d9e9278ec5e4d424476d3ebec70cb5d648d1',
59
+ * // @log: ],
60
+ * // @log: }
61
+ * ```
62
+ *
63
+ * @param filter - The RPC filter to convert.
64
+ * @returns An instantiated {@link ox#Filter.Filter}.
65
+ */
66
+ export function fromRpc(filter: Rpc): Filter {
67
+ const { fromBlock, toBlock } = filter
68
+ return {
69
+ ...filter,
70
+ ...(fromBlock && {
71
+ fromBlock: Hex.validate(fromBlock, { strict: false })
72
+ ? BigInt(fromBlock)
73
+ : fromBlock,
74
+ }),
75
+ ...(toBlock && {
76
+ toBlock: Hex.validate(toBlock, { strict: false })
77
+ ? BigInt(toBlock)
78
+ : toBlock,
79
+ }),
80
+ } as Filter
81
+ }
82
+
83
+ export declare namespace fromRpc {
84
+ type ErrorType = Errors.GlobalErrorType
85
+ }
86
+
87
+ fromRpc.parseError = (error: unknown) =>
88
+ /* v8 ignore next */
89
+ error as fromRpc.ErrorType
90
+
91
+ /**
92
+ * Converts a {@link ox#Filter.Filter} to a {@link ox#Filter.Rpc}.
93
+ *
94
+ * @example
95
+ * ```ts twoslash
96
+ * import { AbiEvent, Filter } from 'ox'
97
+ *
98
+ * const transfer = AbiEvent.from('event Transfer(address indexed, address indexed, uint256)')
99
+ * const { topics } = AbiEvent.encode(transfer)
100
+ *
101
+ * const filter = Filter.toRpc({
102
+ * address: '0xfba3912ca04dd458c843e2ee08967fc04f3579c2',
103
+ * topics,
104
+ * })
105
+ * // @log: {
106
+ * // @log: address: '0xfba3912ca04dd458c843e2ee08967fc04f3579c2',
107
+ * // @log: topics: [
108
+ * // @log: '0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef',
109
+ * // @log: ],
110
+ * // @log: }
111
+ * ```
112
+ *
113
+ * @param filter - The filter to convert.
114
+ * @returns An RPC filter.
115
+ */
116
+ export function toRpc(filter: Filter): Rpc {
117
+ const { address, topics, fromBlock, toBlock } = filter
118
+ return {
119
+ ...(address && { address }),
120
+ ...(topics && { topics }),
121
+ ...(typeof fromBlock !== 'undefined'
122
+ ? {
123
+ fromBlock:
124
+ typeof fromBlock === 'bigint'
125
+ ? Hex.fromNumber(fromBlock)
126
+ : fromBlock,
127
+ }
128
+ : {}),
129
+ ...(typeof toBlock !== 'undefined'
130
+ ? {
131
+ toBlock:
132
+ typeof toBlock === 'bigint' ? Hex.fromNumber(toBlock) : toBlock,
133
+ }
134
+ : {}),
135
+ }
136
+ }
137
+
138
+ export declare namespace toRpc {
139
+ type ErrorType = Errors.GlobalErrorType
140
+ }
141
+
142
+ toRpc.parseError = (error: unknown) =>
143
+ /* v8 ignore next */
144
+ error as toRpc.ErrorType
@@ -0,0 +1,6 @@
1
+ {
2
+ "type": "module",
3
+ "types": "../_types/Hash.d.ts",
4
+ "main": "../_cjs/Hash.js",
5
+ "module": "../_esm/Hash.js"
6
+ }