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/Transaction.ts ADDED
@@ -0,0 +1,429 @@
1
+ import type * as AccessList from './AccessList.js'
2
+ import type * as Address from './Address.js'
3
+ import * as Authorization from './Authorization.js'
4
+ import type * as Errors from './Errors.js'
5
+ import * as Hex from './Hex.js'
6
+ import * as Signature from './Signature.js'
7
+ import type { Compute, UnionCompute } from './internal/types.js'
8
+ import type { OneOf } from './internal/types.js'
9
+
10
+ /**
11
+ * A Transaction as defined in the [Execution API specification](https://github.com/ethereum/execution-apis/blob/main/src/schemas/transaction.yaml).
12
+ */
13
+ export type Transaction<
14
+ pending extends boolean = false,
15
+ bigintType = bigint,
16
+ numberType = number,
17
+ > = UnionCompute<
18
+ OneOf<
19
+ | Legacy<pending, bigintType, numberType>
20
+ | Eip1559<pending, bigintType, numberType>
21
+ | Eip2930<pending, bigintType, numberType>
22
+ | Eip4844<pending, bigintType, numberType>
23
+ | Eip7702<pending, bigintType, numberType>
24
+ | (Base & { type: Hex.Hex })
25
+ >
26
+ >
27
+
28
+ /**
29
+ * An RPC Transaction as defined in the [Execution API specification](https://github.com/ethereum/execution-apis/blob/main/src/schemas/transaction.yaml).
30
+ */
31
+ export type Rpc<pending extends boolean = false> = UnionCompute<
32
+ OneOf<
33
+ | LegacyRpc<pending>
34
+ | Eip1559Rpc<pending>
35
+ | Eip2930Rpc<pending>
36
+ | Eip4844Rpc<pending>
37
+ | Eip7702Rpc<pending>
38
+ | (BaseRpc & { type: Hex.Hex })
39
+ >
40
+ >
41
+
42
+ /** Base properties of a Transaction as defined in the [Execution API specification](https://github.com/ethereum/execution-apis/blob/main/src/schemas/transaction.yaml). */
43
+ export type Base<
44
+ type extends string = string,
45
+ pending extends boolean = false,
46
+ bigintType = bigint,
47
+ numberType = number,
48
+ > = Compute<{
49
+ /** Hash of the block that contains this transaction, or `null` if pending. */
50
+ blockHash: pending extends true ? null : Hex.Hex
51
+ /** Number of block containing this transaction or `null` if pending */
52
+ blockNumber: pending extends true ? null : bigintType
53
+ /** Chain ID that this transaction is valid on. */
54
+ chainId: numberType
55
+ /** @alias `input` Added for TransactionEnvelope - Transaction compatibility. */
56
+ data?: Hex.Hex | undefined
57
+ /** Sender of this transaction */
58
+ from: Address.Address
59
+ /** Hash of this transaction */
60
+ hash: Hex.Hex
61
+ /** Contract code or a hashed method call with encoded args */
62
+ input: Hex.Hex
63
+ /** Gas provided for transaction execution */
64
+ gas: bigintType
65
+ /** Unique number identifying this transaction */
66
+ nonce: bigintType
67
+ /** Transaction recipient. `null` if the transaction is a contract creation. */
68
+ to: Address.Address | null
69
+ /** Index of this transaction in the block or `null` if pending */
70
+ transactionIndex: pending extends true ? null : numberType
71
+ /** Transaction type */
72
+ type: type
73
+ /** Value in wei sent with this transaction */
74
+ value: bigintType
75
+ /** ECDSA signature r. */
76
+ r: bigintType
77
+ /** ECDSA signature s. */
78
+ s: bigintType
79
+ /** ECDSA signature yParity. */
80
+ yParity: numberType
81
+ /** @deprecated ECDSA signature v (for backwards compatibility). */
82
+ v?: numberType | undefined
83
+ }>
84
+
85
+ /** Base properties of an RPC Transaction as defined in the [Execution API specification](https://github.com/ethereum/execution-apis/blob/main/src/schemas/transaction.yaml). */
86
+ export type BaseRpc<
87
+ type extends string = string,
88
+ pending extends boolean = false,
89
+ > = Base<type, pending, Hex.Hex, Hex.Hex>
90
+
91
+ /** An [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559) Transaction as defined in the [Execution API specification](https://github.com/ethereum/execution-apis/blob/main/src/schemas/transaction.yaml). */
92
+ export type Eip1559<
93
+ pending extends boolean = false,
94
+ bigintType = bigint,
95
+ numberType = number,
96
+ type extends string = 'eip1559',
97
+ > = Compute<
98
+ Base<type, pending, bigintType, numberType> & {
99
+ /** EIP-2930 Access List. */
100
+ accessList: AccessList.AccessList
101
+ /** Effective gas price paid by the sender in wei. */
102
+ gasPrice?: bigintType | undefined
103
+ /** Total fee per gas in wei (gasPrice/baseFeePerGas + maxPriorityFeePerGas). */
104
+ maxFeePerGas: bigintType
105
+ /** Max priority fee per gas (in wei). */
106
+ maxPriorityFeePerGas: bigintType
107
+ }
108
+ >
109
+
110
+ /** An [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559) RPC Transaction as defined in the [Execution API specification](https://github.com/ethereum/execution-apis/blob/main/src/schemas/transaction.yaml). */
111
+ export type Eip1559Rpc<pending extends boolean = false> = Compute<
112
+ Eip1559<pending, Hex.Hex, Hex.Hex, ToRpcType['eip1559']>
113
+ >
114
+
115
+ /** An [EIP-2930](https://eips.ethereum.org/EIPS/eip-2930) Transaction as defined in the [Execution API specification](https://github.com/ethereum/execution-apis/blob/main/src/schemas/transaction.yaml). */
116
+ export type Eip2930<
117
+ pending extends boolean = false,
118
+ bigintType = bigint,
119
+ numberType = number,
120
+ type extends string = 'eip2930',
121
+ > = Compute<
122
+ Base<type, pending, bigintType, numberType> & {
123
+ /** EIP-2930 Access List. */
124
+ accessList: AccessList.AccessList
125
+ /** The gas price willing to be paid by the sender (in wei). */
126
+ gasPrice: bigintType
127
+ }
128
+ >
129
+
130
+ /** An RPC [EIP-2930](https://eips.ethereum.org/EIPS/eip-2930) Transaction as defined in the [Execution API specification](https://github.com/ethereum/execution-apis/blob/main/src/schemas/transaction.yaml). */
131
+ export type Eip2930Rpc<pending extends boolean = false> = Compute<
132
+ Eip2930<pending, Hex.Hex, Hex.Hex, ToRpcType['eip2930']>
133
+ >
134
+
135
+ /** An [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844) Transaction as defined in the [Execution API specification](https://github.com/ethereum/execution-apis/blob/main/src/schemas/transaction.yaml). */
136
+ export type Eip4844<
137
+ pending extends boolean = false,
138
+ bigintType = bigint,
139
+ numberType = number,
140
+ type extends string = 'eip4844',
141
+ > = Compute<
142
+ Base<type, pending, bigintType, numberType> & {
143
+ /** EIP-2930 Access List. */
144
+ accessList: AccessList.AccessList
145
+ /** List of versioned blob hashes associated with the transaction's blobs. */
146
+ blobVersionedHashes: readonly Hex.Hex[]
147
+ /** Total fee per blob gas in wei. */
148
+ maxFeePerBlobGas: bigintType
149
+ /** Total fee per gas in wei (gasPrice/baseFeePerGas + maxPriorityFeePerGas). */
150
+ maxFeePerGas: bigintType
151
+ /** Max priority fee per gas (in wei). */
152
+ maxPriorityFeePerGas: bigintType
153
+ }
154
+ >
155
+
156
+ /** An RPC [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844) Transaction as defined in the [Execution API specification](https://github.com/ethereum/execution-apis/blob/main/src/schemas/transaction.yaml). */
157
+ export type Eip4844Rpc<pending extends boolean = false> = Compute<
158
+ Eip4844<pending, Hex.Hex, Hex.Hex, ToRpcType['eip4844']>
159
+ >
160
+
161
+ /** An [EIP-7702](https://eips.ethereum.org/EIPS/eip-7702) Transaction as defined in the [Execution API specification](https://github.com/ethereum/execution-apis/blob/main/src/schemas/transaction.yaml). */
162
+ export type Eip7702<
163
+ pending extends boolean = false,
164
+ bigintType = bigint,
165
+ numberType = number,
166
+ type extends string = 'eip7702',
167
+ > = Compute<
168
+ Base<type, pending, bigintType, numberType> & {
169
+ /** EIP-2930 Access List. */
170
+ accessList: AccessList.AccessList
171
+ /** EIP-7702 Authorization list for the transaction. */
172
+ authorizationList: Authorization.ListSigned<bigintType, numberType>
173
+ /** Total fee per gas in wei (gasPrice/baseFeePerGas + maxPriorityFeePerGas). */
174
+ maxFeePerGas: bigintType
175
+ /** Max priority fee per gas (in wei). */
176
+ maxPriorityFeePerGas: bigintType
177
+ }
178
+ >
179
+
180
+ /** An RPC [EIP-7702](https://eips.ethereum.org/EIPS/eip-7702) Transaction as defined in the [Execution API specification](https://github.com/ethereum/execution-apis/blob/main/src/schemas/transaction.yaml). */
181
+ export type Eip7702Rpc<pending extends boolean = false> = Compute<
182
+ Eip7702<pending, Hex.Hex, Hex.Hex, ToRpcType['eip7702']>
183
+ >
184
+
185
+ /** An legacy Transaction as defined in the [Execution API specification](https://github.com/ethereum/execution-apis/blob/main/src/schemas/transaction.yaml). */
186
+ export type Legacy<
187
+ pending extends boolean = false,
188
+ bigintType = bigint,
189
+ numberType = number,
190
+ type extends string = 'legacy',
191
+ > = Compute<
192
+ Omit<
193
+ Base<type, pending, bigintType, numberType>,
194
+ 'chainId' | 'v' | 'yParity'
195
+ > & {
196
+ chainId?: numberType | undefined
197
+ /** The gas price willing to be paid by the sender (in wei). */
198
+ gasPrice: bigintType
199
+ /** ECDSA signature v. */
200
+ v: numberType
201
+ /** ECDSA signature yParity. */
202
+ yParity?: numberType | undefined
203
+ }
204
+ >
205
+
206
+ /** A legacy RPC Transaction as defined in the [Execution API specification](https://github.com/ethereum/execution-apis/blob/main/src/schemas/transaction.yaml). */
207
+ export type LegacyRpc<pending extends boolean = false> = Compute<
208
+ Legacy<pending, Hex.Hex, Hex.Hex, ToRpcType['legacy']>
209
+ >
210
+
211
+ /** Type to RPC Type mapping. */
212
+ export const toRpcType = {
213
+ legacy: '0x0',
214
+ eip2930: '0x1',
215
+ eip1559: '0x2',
216
+ eip4844: '0x3',
217
+ eip7702: '0x4',
218
+ } as const
219
+
220
+ /** Type to RPC Type mapping. */
221
+ export type ToRpcType = typeof toRpcType & {
222
+ [type: string]: `0x${string}`
223
+ }
224
+
225
+ /** RPC Type to Type mapping. */
226
+ export const fromRpcType = {
227
+ '0x0': 'legacy',
228
+ '0x1': 'eip2930',
229
+ '0x2': 'eip1559',
230
+ '0x3': 'eip4844',
231
+ '0x4': 'eip7702',
232
+ } as const
233
+
234
+ /** RPC Type to Type mapping. */
235
+
236
+ export type FromRpcType = typeof fromRpcType & {
237
+ [type: `0x${string}`]: string
238
+ }
239
+
240
+ /**
241
+ * Converts an {@link ox#Transaction.Rpc} to an {@link ox#Transaction.Transaction}.
242
+ *
243
+ * @example
244
+ * ```ts twoslash
245
+ * import { Transaction } from 'ox'
246
+ *
247
+ * const transaction = Transaction.fromRpc({
248
+ * hash: '0x353fdfc38a2f26115daadee9f5b8392ce62b84f410957967e2ed56b35338cdd0',
249
+ * nonce: '0x357',
250
+ * blockHash:
251
+ * '0xc350d807505fb835650f0013632c5515592987ba169bbc6626d9fc54d91f0f0b',
252
+ * blockNumber: '0x12f296f',
253
+ * transactionIndex: '0x2',
254
+ * from: '0x814e5e0e31016b9a7f138c76b7e7b2bb5c1ab6a6',
255
+ * to: '0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad',
256
+ * value: '0x9b6e64a8ec60000',
257
+ * gas: '0x43f5d',
258
+ * maxFeePerGas: '0x2ca6ae494',
259
+ * maxPriorityFeePerGas: '0x41cc3c0',
260
+ * input:
261
+ * '0x3593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006643504700000000000000000000000000000000000000000000000000000000000000040b080604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000009b6e64a8ec600000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000009b6e64a8ec60000000000000000000000000000000000000000000000000000019124bb5ae978c000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000c56c7a0eaa804f854b536a5f3d5f49d2ec4b12b80000000000000000000000000000000000000000000000000000000000000060000000000000000000000000c56c7a0eaa804f854b536a5f3d5f49d2ec4b12b8000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c00000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000060000000000000000000000000c56c7a0eaa804f854b536a5f3d5f49d2ec4b12b800000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000190240001b9872b',
262
+ * r: '0x635dc2033e60185bb36709c29c75d64ea51dfbd91c32ef4be198e4ceb169fb4d',
263
+ * s: '0x50c2667ac4c771072746acfdcf1f1483336dcca8bd2df47cd83175dbe60f0540',
264
+ * yParity: '0x0',
265
+ * chainId: '0x1',
266
+ * accessList: [],
267
+ * type: '0x2',
268
+ * })
269
+ * ```
270
+ *
271
+ * @param transaction - The RPC transaction to convert.
272
+ * @returns An instantiated {@link ox#Transaction.Transaction}.
273
+ */
274
+ export function fromRpc<
275
+ const transaction extends Rpc | null,
276
+ pending extends boolean = false,
277
+ >(
278
+ transaction: transaction | Rpc<pending> | null,
279
+ _options: fromRpc.Options<pending> = {},
280
+ ): transaction extends Rpc<pending> ? Transaction<pending> : null {
281
+ if (!transaction) return null as never
282
+
283
+ const signature = Signature.extract(transaction)
284
+
285
+ const transaction_ = {
286
+ ...transaction,
287
+ ...signature,
288
+ } as unknown as Transaction<boolean>
289
+
290
+ transaction_.blockNumber = transaction.blockNumber
291
+ ? BigInt(transaction.blockNumber)
292
+ : null
293
+ transaction_.data = transaction.input
294
+ transaction_.gas = BigInt(transaction.gas ?? 0n)
295
+ transaction_.nonce = BigInt(transaction.nonce ?? 0n)
296
+ transaction_.transactionIndex = transaction.transactionIndex
297
+ ? Number(transaction.transactionIndex)
298
+ : null
299
+ transaction_.value = BigInt(transaction.value ?? 0n)
300
+
301
+ if (transaction.authorizationList)
302
+ transaction_.authorizationList = Authorization.fromRpcList(
303
+ transaction.authorizationList,
304
+ )
305
+ if (transaction.chainId) transaction_.chainId = Number(transaction.chainId)
306
+ if (transaction.gasPrice) transaction_.gasPrice = BigInt(transaction.gasPrice)
307
+ if (transaction.maxFeePerBlobGas)
308
+ transaction_.maxFeePerBlobGas = BigInt(transaction.maxFeePerBlobGas)
309
+ if (transaction.maxFeePerGas)
310
+ transaction_.maxFeePerGas = BigInt(transaction.maxFeePerGas)
311
+ if (transaction.maxPriorityFeePerGas)
312
+ transaction_.maxPriorityFeePerGas = BigInt(transaction.maxPriorityFeePerGas)
313
+ if (transaction.type)
314
+ transaction_.type =
315
+ (fromRpcType as any)[transaction.type] ?? transaction.type
316
+ if (signature) transaction_.v = Signature.yParityToV(signature.yParity)
317
+
318
+ return transaction_ as never
319
+ }
320
+
321
+ export declare namespace fromRpc {
322
+ type Options<pending extends boolean = false> = {
323
+ pending?: pending | boolean | undefined
324
+ }
325
+
326
+ type ErrorType = Signature.extract.ErrorType | Errors.GlobalErrorType
327
+ }
328
+
329
+ fromRpc.parseError = (error: unknown) =>
330
+ /* v8 ignore next */
331
+ error as fromRpc.ErrorType
332
+
333
+ /**
334
+ * Converts an {@link ox#Transaction.Transaction} to an {@link ox#Transaction.Rpc}.
335
+ *
336
+ * @example
337
+ * ```ts twoslash
338
+ * import { Transaction } from 'ox'
339
+ *
340
+ * const transaction = Transaction.toRpc({
341
+ * accessList: [],
342
+ * blockHash:
343
+ * '0xc350d807505fb835650f0013632c5515592987ba169bbc6626d9fc54d91f0f0b',
344
+ * blockNumber: 19868015n,
345
+ * chainId: 1,
346
+ * from: '0x814e5e0e31016b9a7f138c76b7e7b2bb5c1ab6a6',
347
+ * gas: 278365n,
348
+ * hash: '0x353fdfc38a2f26115daadee9f5b8392ce62b84f410957967e2ed56b35338cdd0',
349
+ * input:
350
+ * '0x3593564c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006643504700000000000000000000000000000000000000000000000000000000000000040b080604000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000009b6e64a8ec600000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000009b6e64a8ec60000000000000000000000000000000000000000000000000000019124bb5ae978c000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000c56c7a0eaa804f854b536a5f3d5f49d2ec4b12b80000000000000000000000000000000000000000000000000000000000000060000000000000000000000000c56c7a0eaa804f854b536a5f3d5f49d2ec4b12b8000000000000000000000000000000fee13a103a10d593b9ae06b3e05f2e7e1c00000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000060000000000000000000000000c56c7a0eaa804f854b536a5f3d5f49d2ec4b12b800000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000190240001b9872b',
351
+ * maxFeePerGas: 11985937556n,
352
+ * maxPriorityFeePerGas: 68993984n,
353
+ * nonce: 855n,
354
+ * r: 44944627813007772897391531230081695102703289123332187696115181104739239197517n,
355
+ * s: 36528503505192438307355164441104001310566505351980369085208178712678799181120n,
356
+ * to: '0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad',
357
+ * transactionIndex: 2,
358
+ * type: 'eip1559',
359
+ * v: 27,
360
+ * value: 700000000000000000n,
361
+ * yParity: 0,
362
+ * })
363
+ * ```
364
+ *
365
+ * @param transaction - The transaction to convert.
366
+ * @returns An RPC-formatted transaction.
367
+ */
368
+ export function toRpc<pending extends boolean = false>(
369
+ transaction: Transaction<pending>,
370
+ _options?: toRpc.Options<pending>,
371
+ ): Rpc<pending> {
372
+ const rpc = {} as Rpc<boolean>
373
+
374
+ rpc.blockHash = transaction.blockHash
375
+ rpc.blockNumber =
376
+ typeof transaction.blockNumber === 'bigint'
377
+ ? Hex.fromNumber(transaction.blockNumber)
378
+ : null
379
+ rpc.from = transaction.from
380
+ rpc.gas = Hex.fromNumber(transaction.gas ?? 0n)
381
+ rpc.hash = transaction.hash
382
+ rpc.input = transaction.input
383
+ rpc.nonce = Hex.fromNumber(transaction.nonce ?? 0n)
384
+ rpc.to = transaction.to
385
+ rpc.transactionIndex = transaction.transactionIndex
386
+ ? Hex.fromNumber(transaction.transactionIndex)
387
+ : null
388
+ rpc.type = (toRpcType as any)[transaction.type] ?? transaction.type
389
+ rpc.value = Hex.fromNumber(transaction.value ?? 0n)
390
+
391
+ if (transaction.accessList) rpc.accessList = transaction.accessList
392
+ if (transaction.authorizationList)
393
+ rpc.authorizationList = Authorization.toRpcList(
394
+ transaction.authorizationList,
395
+ )
396
+ if (transaction.blobVersionedHashes)
397
+ rpc.blobVersionedHashes = transaction.blobVersionedHashes
398
+ if (transaction.chainId) rpc.chainId = Hex.fromNumber(transaction.chainId)
399
+ if (typeof transaction.gasPrice === 'bigint')
400
+ rpc.gasPrice = Hex.fromNumber(transaction.gasPrice)
401
+ if (typeof transaction.maxFeePerBlobGas === 'bigint')
402
+ rpc.maxFeePerBlobGas = Hex.fromNumber(transaction.maxFeePerBlobGas)
403
+ if (typeof transaction.maxFeePerGas === 'bigint')
404
+ rpc.maxFeePerGas = Hex.fromNumber(transaction.maxFeePerGas)
405
+ if (typeof transaction.maxPriorityFeePerGas === 'bigint')
406
+ rpc.maxPriorityFeePerGas = Hex.fromNumber(transaction.maxPriorityFeePerGas)
407
+ if (typeof transaction.r === 'bigint')
408
+ rpc.r = Hex.fromNumber(transaction.r, { size: 32 })
409
+ if (typeof transaction.s === 'bigint')
410
+ rpc.s = Hex.fromNumber(transaction.s, { size: 32 })
411
+ if (typeof transaction.v === 'number')
412
+ rpc.v = Hex.fromNumber(transaction.v, { size: 1 })
413
+ if (typeof transaction.yParity === 'number')
414
+ rpc.yParity = transaction.yParity === 0 ? '0x0' : '0x1'
415
+
416
+ return rpc as Rpc<pending>
417
+ }
418
+
419
+ export declare namespace toRpc {
420
+ type Options<pending extends boolean = false> = {
421
+ pending?: pending | boolean | undefined
422
+ }
423
+
424
+ type ErrorType = Signature.extract.ErrorType | Errors.GlobalErrorType
425
+ }
426
+
427
+ toRpc.parseError = (error: unknown) =>
428
+ /* v8 ignore next */
429
+ error as toRpc.ErrorType
@@ -0,0 +1,6 @@
1
+ {
2
+ "type": "module",
3
+ "types": "../_types/TransactionEnvelope.d.ts",
4
+ "main": "../_cjs/TransactionEnvelope.js",
5
+ "module": "../_esm/TransactionEnvelope.js"
6
+ }
@@ -0,0 +1,205 @@
1
+ import type * as Address from './Address.js'
2
+ import * as Errors from './Errors.js'
3
+ import type * as Hex from './Hex.js'
4
+ import * as Value from './Value.js'
5
+ import type { Compute } from './internal/types.js'
6
+
7
+ /** Base type for a Transaction Envelope. Transaction Envelopes inherit this type. */
8
+ export type Base<
9
+ type extends string = string,
10
+ signed extends boolean = boolean,
11
+ bigintType = bigint,
12
+ numberType = number,
13
+ > = Compute<
14
+ {
15
+ /** EIP-155 Chain ID. */
16
+ chainId: numberType
17
+ /** Contract code or a hashed method call with encoded args */
18
+ data?: Hex.Hex | undefined
19
+ /** @alias `data` – added for TransactionEnvelope - Transaction compatibility. */
20
+ input?: Hex.Hex | undefined
21
+ /** Sender of the transaction. */
22
+ from?: Address.Address | undefined
23
+ /** Gas provided for transaction execution */
24
+ gas?: bigintType | undefined
25
+ /** Unique number identifying this transaction */
26
+ nonce?: bigintType | undefined
27
+ /** Transaction recipient */
28
+ to?: Address.Address | null | undefined
29
+ /** Transaction type */
30
+ type: type
31
+ /** Value in wei sent with this transaction */
32
+ value?: bigintType | undefined
33
+ /** ECDSA signature r. */
34
+ r?: bigintType | undefined
35
+ /** ECDSA signature s. */
36
+ s?: bigintType | undefined
37
+ /** ECDSA signature yParity. */
38
+ yParity?: numberType | undefined
39
+ /** @deprecated ECDSA signature v (for backwards compatibility). */
40
+ v?: numberType | undefined
41
+ } & (signed extends true ? { r: bigintType; s: bigintType } : {})
42
+ >
43
+
44
+ /** RPC representation of a {@link ox#(TransactionEnvelope:namespace).Base}. */
45
+ export type BaseRpc<
46
+ type extends string = string,
47
+ signed extends boolean = boolean,
48
+ > = Base<type, signed, Hex.Hex, Hex.Hex>
49
+
50
+ /** Signed representation of a {@link ox#(TransactionEnvelope:namespace).Base}. */
51
+ export type BaseSigned<type extends string = string> = Base<type, true>
52
+
53
+ /**
54
+ * Thrown when a fee cap is too high.
55
+ *
56
+ * @example
57
+ * ```ts twoslash
58
+ * import { TransactionEnvelopeEip1559 } from 'ox'
59
+ *
60
+ * TransactionEnvelopeEip1559.assert({
61
+ * maxFeePerGas: 2n ** 256n - 1n + 1n,
62
+ * chainId: 1,
63
+ * })
64
+ * // @error: TransactionEnvelope.FeeCapTooHighError: The fee cap (`maxFeePerGas`/`maxPriorityFeePerGas` = 115792089237316195423570985008687907853269984665640564039457584007913.129639936 gwei) cannot be higher than the maximum allowed value (2^256-1).
65
+ * ```
66
+ */
67
+ export class FeeCapTooHighError extends Errors.BaseError {
68
+ override readonly name = 'TransactionEnvelope.FeeCapTooHighError'
69
+ constructor({
70
+ feeCap,
71
+ }: {
72
+ feeCap?: bigint | undefined
73
+ } = {}) {
74
+ super(
75
+ `The fee cap (\`maxFeePerGas\`/\`maxPriorityFeePerGas\`${
76
+ feeCap ? ` = ${Value.formatGwei(feeCap)} gwei` : ''
77
+ }) cannot be higher than the maximum allowed value (2^256-1).`,
78
+ )
79
+ }
80
+ }
81
+
82
+ /**
83
+ * Thrown when a gas price is too high.
84
+ *
85
+ * @example
86
+ * ```ts twoslash
87
+ * import { TransactionEnvelopeLegacy } from 'ox'
88
+ *
89
+ * TransactionEnvelopeLegacy.assert({
90
+ * gasPrice: 2n ** 256n - 1n + 1n,
91
+ * chainId: 1,
92
+ * })
93
+ * // @error: TransactionEnvelope.GasPriceTooHighError: The gas price (`gasPrice` = 115792089237316195423570985008687907853269984665640564039457584007913.129639936 gwei) cannot be higher than the maximum allowed value (2^256-1).
94
+ * ```
95
+ */
96
+ export class GasPriceTooHighError extends Errors.BaseError {
97
+ override readonly name = 'TransactionEnvelope.GasPriceTooHighError'
98
+ constructor({
99
+ gasPrice,
100
+ }: {
101
+ gasPrice?: bigint | undefined
102
+ } = {}) {
103
+ super(
104
+ `The gas price (\`gasPrice\`${
105
+ gasPrice ? ` = ${Value.formatGwei(gasPrice)} gwei` : ''
106
+ }) cannot be higher than the maximum allowed value (2^256-1).`,
107
+ )
108
+ }
109
+ }
110
+
111
+ /**
112
+ * Thrown when a chain ID is invalid.
113
+ *
114
+ * @example
115
+ * ```ts twoslash
116
+ * import { TransactionEnvelopeEip1559 } from 'ox'
117
+ *
118
+ * TransactionEnvelopeEip1559.assert({ chainId: 0 })
119
+ * // @error: TransactionEnvelope.InvalidChainIdError: Chain ID "0" is invalid.
120
+ * ```
121
+ */
122
+ export class InvalidChainIdError extends Errors.BaseError {
123
+ override readonly name = 'TransactionEnvelope.InvalidChainIdError'
124
+ constructor({ chainId }: { chainId?: number | undefined }) {
125
+ super(
126
+ typeof chainId !== 'undefined'
127
+ ? `Chain ID "${chainId}" is invalid.`
128
+ : 'Chain ID is invalid.',
129
+ )
130
+ }
131
+ }
132
+
133
+ /**
134
+ * Thrown when a serialized transaction is invalid.
135
+ *
136
+ * @example
137
+ * ```ts twoslash
138
+ * import { TransactionEnvelopeEip1559 } from 'ox'
139
+ *
140
+ * TransactionEnvelopeEip1559.deserialize('0x02c0')
141
+ * // @error: TransactionEnvelope.InvalidSerializedError: Invalid serialized transaction of type "eip1559" was provided.
142
+ * // @error: Serialized Transaction: "0x02c0"
143
+ * // @error: Missing Attributes: chainId, nonce, maxPriorityFeePerGas, maxFeePerGas, gas, to, value, data, accessList
144
+ * ```
145
+ */
146
+ export class InvalidSerializedError extends Errors.BaseError {
147
+ override readonly name = 'TransactionEnvelope.InvalidSerializedError'
148
+ constructor({
149
+ attributes,
150
+ serialized,
151
+ type,
152
+ }: {
153
+ attributes: Record<string, unknown>
154
+ serialized: Hex.Hex
155
+ type: string
156
+ }) {
157
+ const missing = Object.entries(attributes)
158
+ .map(([key, value]) => (typeof value === 'undefined' ? key : undefined))
159
+ .filter(Boolean)
160
+ super(`Invalid serialized transaction of type "${type}" was provided.`, {
161
+ metaMessages: [
162
+ `Serialized Transaction: "${serialized}"`,
163
+ missing.length > 0 ? `Missing Attributes: ${missing.join(', ')}` : '',
164
+ ].filter(Boolean),
165
+ })
166
+ }
167
+ }
168
+
169
+ /**
170
+ * Thrown when a tip is higher than a fee cap.
171
+ *
172
+ * @example
173
+ * ```ts twoslash
174
+ * import { TransactionEnvelopeEip1559 } from 'ox'
175
+ *
176
+ * TransactionEnvelopeEip1559.assert({
177
+ * chainId: 1,
178
+ * maxFeePerGas: 10n,
179
+ * maxPriorityFeePerGas: 11n,
180
+ * })
181
+ * // @error: TransactionEnvelope.TipAboveFeeCapError: The provided tip (`maxPriorityFeePerGas` = 11 gwei) cannot be higher than the fee cap (`maxFeePerGas` = 10 gwei).
182
+ * ```
183
+ */
184
+ export class TipAboveFeeCapError extends Errors.BaseError {
185
+ override readonly name = 'TransactionEnvelope.TipAboveFeeCapError'
186
+ constructor({
187
+ maxPriorityFeePerGas,
188
+ maxFeePerGas,
189
+ }: {
190
+ maxPriorityFeePerGas?: bigint | undefined
191
+ maxFeePerGas?: bigint | undefined
192
+ } = {}) {
193
+ super(
194
+ [
195
+ `The provided tip (\`maxPriorityFeePerGas\`${
196
+ maxPriorityFeePerGas
197
+ ? ` = ${Value.formatGwei(maxPriorityFeePerGas)} gwei`
198
+ : ''
199
+ }) cannot be higher than the fee cap (\`maxFeePerGas\`${
200
+ maxFeePerGas ? ` = ${Value.formatGwei(maxFeePerGas)} gwei` : ''
201
+ }).`,
202
+ ].join('\n'),
203
+ )
204
+ }
205
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "type": "module",
3
+ "types": "../_types/TransactionEnvelopeEip1559.d.ts",
4
+ "main": "../_cjs/TransactionEnvelopeEip1559.js",
5
+ "module": "../_esm/TransactionEnvelopeEip1559.js"
6
+ }