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
@@ -0,0 +1,624 @@
1
+ import * as AccessList from './AccessList.js'
2
+ import * as Address from './Address.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 * as Signature from './Signature.js'
8
+ import * as TransactionEnvelope from './TransactionEnvelope.js'
9
+ import type {
10
+ Assign,
11
+ Compute,
12
+ PartialBy,
13
+ UnionPartialBy,
14
+ } from './internal/types.js'
15
+
16
+ export type TransactionEnvelopeEip2930<
17
+ signed extends boolean = boolean,
18
+ bigintType = bigint,
19
+ numberType = number,
20
+ type extends string = Type,
21
+ > = Compute<
22
+ TransactionEnvelope.Base<type, signed, bigintType, numberType> & {
23
+ /** EIP-2930 Access List. */
24
+ accessList?: AccessList.AccessList | undefined
25
+ /** Base fee per gas. */
26
+ gasPrice?: bigintType | undefined
27
+ }
28
+ >
29
+
30
+ export type Rpc<signed extends boolean = boolean> = TransactionEnvelopeEip2930<
31
+ signed,
32
+ Hex.Hex,
33
+ Hex.Hex,
34
+ '0x1'
35
+ >
36
+
37
+ export type Serialized = `${SerializedType}${string}`
38
+
39
+ export const serializedType = '0x01' as const
40
+ export type SerializedType = typeof serializedType
41
+
42
+ export type Signed = TransactionEnvelopeEip2930<true>
43
+
44
+ export const type = 'eip2930' as const
45
+ export type Type = typeof type
46
+
47
+ /**
48
+ * Asserts a {@link ox#TransactionEnvelopeEip2930.TransactionEnvelopeEip2930} is valid.
49
+ *
50
+ * @example
51
+ * ```ts twoslash
52
+ * import { TransactionEnvelopeEip2930, Value } from 'ox'
53
+ *
54
+ * TransactionEnvelopeEip2930.assert({
55
+ * gasPrice: 2n ** 256n - 1n + 1n,
56
+ * chainId: 1,
57
+ * to: '0x0000000000000000000000000000000000000000',
58
+ * value: Value.fromEther('1'),
59
+ * })
60
+ * // @error: GasPriceTooHighError:
61
+ * // @error: The gas price (`gasPrice` = 115792089237316195423570985008687907853269984665640564039457584007913 gwei) cannot be
62
+ * // @error: higher than the maximum allowed value (2^256-1).
63
+ * ```
64
+ *
65
+ * @param envelope - The transaction envelope to assert.
66
+ */
67
+ export function assert(
68
+ envelope: PartialBy<TransactionEnvelopeEip2930, 'type'>,
69
+ ) {
70
+ const { chainId, gasPrice, to } = envelope
71
+ if (chainId <= 0)
72
+ throw new TransactionEnvelope.InvalidChainIdError({ chainId })
73
+ if (to) Address.assert(to, { strict: false })
74
+ if (gasPrice && BigInt(gasPrice) > 2n ** 256n - 1n)
75
+ throw new TransactionEnvelope.GasPriceTooHighError({ gasPrice })
76
+ }
77
+
78
+ export declare namespace assert {
79
+ type ErrorType =
80
+ | Address.assert.ErrorType
81
+ | TransactionEnvelope.InvalidChainIdError
82
+ | TransactionEnvelope.GasPriceTooHighError
83
+ | Errors.GlobalErrorType
84
+ }
85
+
86
+ assert.parseError = (error: unknown) =>
87
+ /* v8 ignore next */
88
+ error as assert.ErrorType
89
+
90
+ /**
91
+ * Deserializes a {@link ox#TransactionEnvelopeEip2930.TransactionEnvelopeEip2930} from its serialized form.
92
+ *
93
+ * @example
94
+ * ```ts twoslash
95
+ * import { TransactionEnvelopeEip2930 } from 'ox'
96
+ *
97
+ * const envelope = TransactionEnvelopeEip2930.deserialize('0x01ef0182031184773594008477359400809470997970c51812dc3a010c7d01b50e0d17dc79c8880de0b6b3a764000080c0')
98
+ * // @log: {
99
+ * // @log: type: 'eip2930',
100
+ * // @log: nonce: 785n,
101
+ * // @log: gasPrice: 2000000000n,
102
+ * // @log: gas: 1000000n,
103
+ * // @log: to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',
104
+ * // @log: value: 1000000000000000000n,
105
+ * // @log: }
106
+ * ```
107
+ *
108
+ * @param serialized - The serialized transaction.
109
+ * @returns Deserialized Transaction Envelope.
110
+ */
111
+ export function deserialize(
112
+ serialized: Serialized,
113
+ ): TransactionEnvelopeEip2930 {
114
+ const transactionArray = Rlp.toHex(Hex.slice(serialized, 1))
115
+
116
+ const [
117
+ chainId,
118
+ nonce,
119
+ gasPrice,
120
+ gas,
121
+ to,
122
+ value,
123
+ data,
124
+ accessList,
125
+ yParity,
126
+ r,
127
+ s,
128
+ ] = transactionArray as readonly Hex.Hex[]
129
+
130
+ if (!(transactionArray.length === 8 || transactionArray.length === 11))
131
+ throw new TransactionEnvelope.InvalidSerializedError({
132
+ attributes: {
133
+ chainId,
134
+ nonce,
135
+ gasPrice,
136
+ gas,
137
+ to,
138
+ value,
139
+ data,
140
+ accessList,
141
+ ...(transactionArray.length > 8
142
+ ? {
143
+ yParity,
144
+ r,
145
+ s,
146
+ }
147
+ : {}),
148
+ },
149
+ serialized,
150
+ type,
151
+ })
152
+
153
+ let transaction = {
154
+ chainId: Number(chainId as Hex.Hex),
155
+ type,
156
+ } as TransactionEnvelopeEip2930
157
+ if (Hex.validate(to) && to !== '0x') transaction.to = to
158
+ if (Hex.validate(gas) && gas !== '0x') transaction.gas = BigInt(gas)
159
+ if (Hex.validate(data) && data !== '0x') transaction.data = data
160
+ if (Hex.validate(nonce) && nonce !== '0x') transaction.nonce = BigInt(nonce)
161
+ if (Hex.validate(value) && value !== '0x') transaction.value = BigInt(value)
162
+ if (Hex.validate(gasPrice) && gasPrice !== '0x')
163
+ transaction.gasPrice = BigInt(gasPrice)
164
+ if (accessList!.length !== 0 && accessList !== '0x')
165
+ transaction.accessList = AccessList.fromTupleList(accessList as any)
166
+
167
+ const signature =
168
+ r && s && yParity ? Signature.fromTuple([yParity, r, s]) : undefined
169
+ if (signature)
170
+ transaction = {
171
+ ...transaction,
172
+ ...signature,
173
+ } as TransactionEnvelopeEip2930
174
+
175
+ assert(transaction)
176
+
177
+ return transaction
178
+ }
179
+
180
+ export declare namespace deserialize {
181
+ type ErrorType = Errors.GlobalErrorType
182
+ }
183
+
184
+ /* v8 ignore next */
185
+ deserialize.parseError = (error: unknown) => error as deserialize.ErrorType
186
+
187
+ /**
188
+ * Converts an arbitrary transaction object into an EIP-2930 Transaction Envelope.
189
+ *
190
+ * @example
191
+ * ```ts twoslash
192
+ * // @noErrors
193
+ * import { TransactionEnvelopeEip2930, Value } from 'ox'
194
+ *
195
+ * const envelope = TransactionEnvelopeEip2930.from({
196
+ * chainId: 1,
197
+ * accessList: [...],
198
+ * gasPrice: Value.fromGwei('10'),
199
+ * to: '0x0000000000000000000000000000000000000000',
200
+ * value: Value.fromEther('1'),
201
+ * })
202
+ * ```
203
+ *
204
+ * @example
205
+ * ### Attaching Signatures
206
+ *
207
+ * It is possible to attach a `signature` to the transaction envelope.
208
+ *
209
+ * ```ts twoslash
210
+ * import { Secp256k1, TransactionEnvelopeEip2930, Value } from 'ox'
211
+ *
212
+ * const envelope = TransactionEnvelopeEip2930.from({
213
+ * chainId: 1,
214
+ * gasPrice: Value.fromGwei('10'),
215
+ * to: '0x0000000000000000000000000000000000000000',
216
+ * value: Value.fromEther('1'),
217
+ * })
218
+ *
219
+ * const signature = Secp256k1.sign({
220
+ * payload: TransactionEnvelopeEip2930.getSignPayload(envelope),
221
+ * privateKey: '0x...',
222
+ * })
223
+ *
224
+ * const envelope_signed = TransactionEnvelopeEip2930.from(envelope, { // [!code focus]
225
+ * signature, // [!code focus]
226
+ * }) // [!code focus]
227
+ * // @log: {
228
+ * // @log: chainId: 1,
229
+ * // @log: gasPrice: 10000000000n,
230
+ * // @log: to: '0x0000000000000000000000000000000000000000',
231
+ * // @log: type: 'eip2930',
232
+ * // @log: value: 1000000000000000000n,
233
+ * // @log: r: 125...n,
234
+ * // @log: s: 642...n,
235
+ * // @log: yParity: 0,
236
+ * // @log: }
237
+ * ```
238
+ *
239
+ * @example
240
+ * ### From Serialized
241
+ *
242
+ * It is possible to instantiate an EIP-2930 Transaction Envelope from a {@link ox#TransactionEnvelopeEip2930.Serialized} value.
243
+ *
244
+ * ```ts twoslash
245
+ * import { TransactionEnvelopeEip2930 } from 'ox'
246
+ *
247
+ * const envelope = TransactionEnvelopeEip2930.from('0x01f858018203118502540be4008504a817c800809470997970c51812dc3a010c7d01b50e0d17dc79c8880de0b6b3a764000080c08477359400e1a001627c687261b0e7f8638af1112efa8a77e23656f6e7945275b19e9deed80261')
248
+ * // @log: {
249
+ * // @log: chainId: 1,
250
+ * // @log: gasPrice: 10000000000n,
251
+ * // @log: to: '0x0000000000000000000000000000000000000000',
252
+ * // @log: type: 'eip2930',
253
+ * // @log: value: 1000000000000000000n,
254
+ * // @log: }
255
+ * ```
256
+ *
257
+ * @param envelope - The transaction object to convert.
258
+ * @param options - Options.
259
+ * @returns A {@link ox#TransactionEnvelopeEip2930.TransactionEnvelopeEip2930}
260
+ */
261
+ export function from<
262
+ const envelope extends
263
+ | UnionPartialBy<TransactionEnvelopeEip2930, 'type'>
264
+ | Serialized,
265
+ const signature extends Signature.Signature | undefined = undefined,
266
+ >(
267
+ envelope:
268
+ | envelope
269
+ | UnionPartialBy<TransactionEnvelopeEip2930, 'type'>
270
+ | Serialized,
271
+ options: from.Options<signature> = {},
272
+ ): from.ReturnType<envelope, signature> {
273
+ const { signature } = options
274
+
275
+ const envelope_ = (
276
+ typeof envelope === 'string' ? deserialize(envelope) : envelope
277
+ ) as TransactionEnvelopeEip2930
278
+
279
+ assert(envelope_)
280
+
281
+ return {
282
+ ...envelope_,
283
+ ...(signature ? Signature.from(signature) : {}),
284
+ type: 'eip2930',
285
+ } as never
286
+ }
287
+
288
+ export declare namespace from {
289
+ type Options<signature extends Signature.Signature | undefined = undefined> =
290
+ {
291
+ signature?: signature | Signature.Signature | undefined
292
+ }
293
+
294
+ type ReturnType<
295
+ envelope extends
296
+ | UnionPartialBy<TransactionEnvelopeEip2930, 'type'>
297
+ | Hex.Hex = TransactionEnvelopeEip2930 | Hex.Hex,
298
+ signature extends Signature.Signature | undefined = undefined,
299
+ > = Compute<
300
+ envelope extends Hex.Hex
301
+ ? TransactionEnvelopeEip2930
302
+ : Assign<
303
+ envelope,
304
+ (signature extends Signature.Signature ? Readonly<signature> : {}) & {
305
+ readonly type: 'eip2930'
306
+ }
307
+ >
308
+ >
309
+
310
+ type ErrorType =
311
+ | deserialize.ErrorType
312
+ | assert.ErrorType
313
+ | Errors.GlobalErrorType
314
+ }
315
+
316
+ from.parseError = (error: unknown) =>
317
+ /* v8 ignore next */
318
+ error as from.ErrorType
319
+
320
+ /**
321
+ * Returns the payload to sign for a {@link ox#TransactionEnvelopeEip2930.TransactionEnvelopeEip2930}.
322
+ *
323
+ * @example
324
+ * The example below demonstrates how to compute the sign payload which can be used
325
+ * with ECDSA signing utilities like {@link ox#Secp256k1.(sign:function)}.
326
+ *
327
+ * ```ts twoslash
328
+ * import { Secp256k1, TransactionEnvelopeEip2930 } from 'ox'
329
+ *
330
+ * const envelope = TransactionEnvelopeEip2930.from({
331
+ * chainId: 1,
332
+ * nonce: 0n,
333
+ * gasPrice: 1000000000n,
334
+ * gas: 21000n,
335
+ * to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',
336
+ * value: 1000000000000000000n,
337
+ * })
338
+ *
339
+ * const payload = TransactionEnvelopeEip2930.getSignPayload(envelope) // [!code focus]
340
+ * // @log: '0x...'
341
+ *
342
+ * const signature = Secp256k1.sign({ payload, privateKey: '0x...' })
343
+ * ```
344
+ *
345
+ * @param envelope - The transaction envelope to get the sign payload for.
346
+ * @returns The sign payload.
347
+ */
348
+ export function getSignPayload(
349
+ envelope: TransactionEnvelopeEip2930,
350
+ ): getSignPayload.ReturnType {
351
+ return hash(envelope, { presign: true })
352
+ }
353
+
354
+ export declare namespace getSignPayload {
355
+ type ReturnType = Hex.Hex
356
+
357
+ type ErrorType = hash.ErrorType | Errors.GlobalErrorType
358
+ }
359
+
360
+ getSignPayload.parseError = (error: unknown) =>
361
+ /* v8 ignore next */
362
+ error as getSignPayload.ErrorType
363
+
364
+ /**
365
+ * Hashes a {@link ox#TransactionEnvelopeEip2930.TransactionEnvelopeEip2930}. This is the "transaction hash".
366
+ *
367
+ * @example
368
+ * ```ts twoslash
369
+ * import { Secp256k1, TransactionEnvelopeEip2930 } from 'ox'
370
+ *
371
+ * const envelope = TransactionEnvelopeEip2930.from({
372
+ * chainId: 1,
373
+ * nonce: 0n,
374
+ * gasPrice: 1000000000n,
375
+ * gas: 21000n,
376
+ * to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',
377
+ * value: 1000000000000000000n,
378
+ * })
379
+ *
380
+ * const signature = Secp256k1.sign({
381
+ * payload: TransactionEnvelopeEip2930.getSignPayload(envelope),
382
+ * privateKey: '0x...',
383
+ * })
384
+ *
385
+ * const envelope_signed = TransactionEnvelopeEip2930.from(envelope, {
386
+ * signature,
387
+ * })
388
+ *
389
+ * const hash = TransactionEnvelopeEip2930.hash(envelope_signed) // [!code focus]
390
+ * ```
391
+ *
392
+ * @param envelope - The EIP-2930 Transaction Envelope to hash.
393
+ * @param options - Options.
394
+ * @returns The hash of the transaction envelope.
395
+ */
396
+ export function hash<presign extends boolean = false>(
397
+ envelope: TransactionEnvelopeEip2930<presign extends true ? false : true>,
398
+ options: hash.Options<presign> = {},
399
+ ): hash.ReturnType {
400
+ const { presign } = options
401
+ return Hash.keccak256(
402
+ serialize({
403
+ ...envelope,
404
+ ...(presign
405
+ ? {
406
+ r: undefined,
407
+ s: undefined,
408
+ yParity: undefined,
409
+ v: undefined,
410
+ }
411
+ : {}),
412
+ }),
413
+ )
414
+ }
415
+
416
+ export declare namespace hash {
417
+ type Options<presign extends boolean = false> = {
418
+ /** Whether to hash this transaction for signing. @default false */
419
+ presign?: presign | boolean | undefined
420
+ }
421
+
422
+ type ReturnType = Hex.Hex
423
+
424
+ type ErrorType =
425
+ | Hash.keccak256.ErrorType
426
+ | serialize.ErrorType
427
+ | Errors.GlobalErrorType
428
+ }
429
+
430
+ hash.parseError = (error: unknown) =>
431
+ /* v8 ignore next */
432
+ error as hash.ErrorType
433
+
434
+ /**
435
+ * Serializes a {@link ox#TransactionEnvelopeEip2930.TransactionEnvelopeEip2930}.
436
+ *
437
+ * @example
438
+ * ```ts twoslash
439
+ * import { TransactionEnvelopeEip2930, Value } from 'ox'
440
+ *
441
+ * const envelope = TransactionEnvelopeEip2930.from({
442
+ * chainId: 1,
443
+ * gasPrice: Value.fromGwei('10'),
444
+ * to: '0x0000000000000000000000000000000000000000',
445
+ * value: Value.fromEther('1'),
446
+ * })
447
+ *
448
+ * const serialized = TransactionEnvelopeEip2930.serialize(envelope) // [!code focus]
449
+ * ```
450
+ *
451
+ * @example
452
+ * ### Attaching Signatures
453
+ *
454
+ * It is possible to attach a `signature` to the serialized Transaction Envelope.
455
+ *
456
+ * ```ts twoslash
457
+ * import { Secp256k1, TransactionEnvelopeEip2930, Value } from 'ox'
458
+ *
459
+ * const envelope = TransactionEnvelopeEip2930.from({
460
+ * chainId: 1,
461
+ * gasPrice: Value.fromGwei('10'),
462
+ * to: '0x0000000000000000000000000000000000000000',
463
+ * value: Value.fromEther('1'),
464
+ * })
465
+ *
466
+ * const signature = Secp256k1.sign({
467
+ * payload: TransactionEnvelopeEip2930.getSignPayload(envelope),
468
+ * privateKey: '0x...',
469
+ * })
470
+ *
471
+ * const serialized = TransactionEnvelopeEip2930.serialize(envelope, { // [!code focus]
472
+ * signature, // [!code focus]
473
+ * }) // [!code focus]
474
+ *
475
+ * // ... send `serialized` transaction to JSON-RPC `eth_sendRawTransaction`
476
+ * ```
477
+ *
478
+ * @param envelope - The Transaction Envelope to serialize.
479
+ * @param options - Options.
480
+ * @returns The serialized Transaction Envelope.
481
+ */
482
+ export function serialize(
483
+ envelope: PartialBy<TransactionEnvelopeEip2930, 'type'>,
484
+ options: serialize.Options = {},
485
+ ): Serialized {
486
+ const { chainId, gas, data, input, nonce, to, value, accessList, gasPrice } =
487
+ envelope
488
+
489
+ assert(envelope)
490
+
491
+ const accessTupleList = AccessList.toTupleList(accessList)
492
+
493
+ const signature = Signature.extract(options.signature || (envelope as any))
494
+
495
+ const serialized = [
496
+ Hex.fromNumber(chainId),
497
+ nonce ? Hex.fromNumber(nonce) : '0x',
498
+ gasPrice ? Hex.fromNumber(gasPrice) : '0x',
499
+ gas ? Hex.fromNumber(gas) : '0x',
500
+ to ?? '0x',
501
+ value ? Hex.fromNumber(value) : '0x',
502
+ data ?? input ?? '0x',
503
+ accessTupleList,
504
+ ...(signature ? Signature.toTuple(signature) : []),
505
+ ] as const
506
+
507
+ return Hex.concat('0x01', Rlp.fromHex(serialized)) as Serialized
508
+ }
509
+
510
+ export declare namespace serialize {
511
+ type Options = {
512
+ /** Signature to append to the serialized Transaction Envelope. */
513
+ signature?: Signature.Signature | undefined
514
+ }
515
+
516
+ type ErrorType =
517
+ | assert.ErrorType
518
+ | Hex.fromNumber.ErrorType
519
+ | Signature.toTuple.ErrorType
520
+ | Hex.concat.ErrorType
521
+ | Rlp.fromHex.ErrorType
522
+ | Errors.GlobalErrorType
523
+ }
524
+
525
+ serialize.parseError = (error: unknown) =>
526
+ /* v8 ignore next */
527
+ error as serialize.ErrorType
528
+
529
+ /**
530
+ * Converts an {@link ox#TransactionEnvelopeEip2930.TransactionEnvelopeEip2930} to an {@link ox#TransactionEnvelopeEip2930.Rpc}.
531
+ *
532
+ * @example
533
+ * ```ts twoslash
534
+ * import { RpcRequest, TransactionEnvelopeEip2930, Value } from 'ox'
535
+ *
536
+ * const envelope = TransactionEnvelopeEip2930.from({
537
+ * chainId: 1,
538
+ * nonce: 0n,
539
+ * gas: 21000n,
540
+ * maxFeePerGas: Value.fromGwei('20'),
541
+ * to: '0x70997970c51812dc3a010c7d01b50e0d17dc79c8',
542
+ * value: Value.fromEther('1'),
543
+ * })
544
+ *
545
+ * const envelope_rpc = TransactionEnvelopeEip2930.toRpc(envelope) // [!code focus]
546
+ *
547
+ * const request = RpcRequest.from({
548
+ * id: 0,
549
+ * method: 'eth_sendTransaction',
550
+ * params: [envelope_rpc],
551
+ * })
552
+ * ```
553
+ *
554
+ * @param envelope - The EIP-2930 transaction envelope to convert.
555
+ * @returns An RPC-formatted EIP-2930 transaction envelope.
556
+ */
557
+ export function toRpc(envelope: Omit<TransactionEnvelopeEip2930, 'type'>): Rpc {
558
+ const signature = Signature.extract(envelope)!
559
+
560
+ return {
561
+ ...envelope,
562
+ chainId: Hex.fromNumber(envelope.chainId),
563
+ data: envelope.data ?? envelope.input,
564
+ ...(typeof envelope.gas === 'bigint'
565
+ ? { gas: Hex.fromNumber(envelope.gas) }
566
+ : {}),
567
+ ...(typeof envelope.nonce === 'bigint'
568
+ ? { nonce: Hex.fromNumber(envelope.nonce) }
569
+ : {}),
570
+ ...(typeof envelope.value === 'bigint'
571
+ ? { value: Hex.fromNumber(envelope.value) }
572
+ : {}),
573
+ ...(typeof envelope.gasPrice === 'bigint'
574
+ ? { gasPrice: Hex.fromNumber(envelope.gasPrice) }
575
+ : {}),
576
+ type: '0x1',
577
+ ...(signature ? Signature.toRpc(signature) : {}),
578
+ } as never
579
+ }
580
+
581
+ export declare namespace toRpc {
582
+ export type ErrorType = Signature.extract.ErrorType | Errors.GlobalErrorType
583
+ }
584
+
585
+ toRpc.parseError = (error: unknown) =>
586
+ /* v8 ignore next */
587
+ error as toRpc.ErrorType
588
+
589
+ /**
590
+ * Validates a {@link ox#TransactionEnvelopeEip2930.TransactionEnvelopeEip2930}. Returns `true` if the envelope is valid, `false` otherwise.
591
+ *
592
+ * @example
593
+ * ```ts twoslash
594
+ * import { TransactionEnvelopeEip2930, Value } from 'ox'
595
+ *
596
+ * const valid = TransactionEnvelopeEip2930.assert({
597
+ * gasPrice: 2n ** 256n - 1n + 1n,
598
+ * chainId: 1,
599
+ * to: '0x0000000000000000000000000000000000000000',
600
+ * value: Value.fromEther('1'),
601
+ * })
602
+ * // @log: false
603
+ * ```
604
+ *
605
+ * @param envelope - The transaction envelope to validate.
606
+ */
607
+ export function validate(
608
+ envelope: PartialBy<TransactionEnvelopeEip2930, 'type'>,
609
+ ) {
610
+ try {
611
+ assert(envelope)
612
+ return true
613
+ } catch {
614
+ return false
615
+ }
616
+ }
617
+
618
+ export declare namespace validate {
619
+ type ErrorType = Errors.GlobalErrorType
620
+ }
621
+
622
+ validate.parseError = (error: unknown) =>
623
+ /* v8 ignore next */
624
+ error as validate.ErrorType
@@ -0,0 +1,6 @@
1
+ {
2
+ "type": "module",
3
+ "types": "../_types/TransactionEnvelopeEip4844.d.ts",
4
+ "main": "../_cjs/TransactionEnvelopeEip4844.js",
5
+ "module": "../_esm/TransactionEnvelopeEip4844.js"
6
+ }