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