ox 0.14.28 → 1.0.0-beta.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 (2486) hide show
  1. package/LICENSE +2 -2
  2. package/dist/core/Abi.d.ts +102 -0
  3. package/dist/core/Abi.d.ts.map +1 -0
  4. package/dist/core/Abi.js +13 -0
  5. package/dist/core/Abi.js.map +1 -0
  6. package/dist/core/AbiConstructor.d.ts +319 -0
  7. package/dist/core/AbiConstructor.d.ts.map +1 -0
  8. package/dist/core/AbiConstructor.js +91 -0
  9. package/dist/core/AbiConstructor.js.map +1 -0
  10. package/dist/core/AbiError.d.ts +507 -0
  11. package/dist/core/AbiError.d.ts.map +1 -0
  12. package/dist/core/AbiError.js +303 -0
  13. package/dist/core/AbiError.js.map +1 -0
  14. package/dist/core/AbiEvent.d.ts +1041 -0
  15. package/dist/core/AbiEvent.d.ts.map +1 -0
  16. package/dist/core/AbiEvent.js +1200 -0
  17. package/dist/core/AbiEvent.js.map +1 -0
  18. package/dist/core/AbiFunction.d.ts +662 -0
  19. package/dist/core/AbiFunction.d.ts.map +1 -0
  20. package/dist/core/AbiFunction.js +290 -0
  21. package/dist/core/AbiFunction.js.map +1 -0
  22. package/dist/core/AbiItem.d.ts +504 -0
  23. package/dist/core/AbiItem.d.ts.map +1 -0
  24. package/dist/core/AbiItem.js +432 -0
  25. package/dist/core/AbiItem.js.map +1 -0
  26. package/dist/core/AbiParameters.d.ts +465 -0
  27. package/dist/core/AbiParameters.d.ts.map +1 -0
  28. package/dist/core/AbiParameters.js +517 -0
  29. package/dist/core/AbiParameters.js.map +1 -0
  30. package/dist/core/AccessList.d.ts +84 -0
  31. package/dist/core/AccessList.d.ts.map +1 -0
  32. package/dist/core/AccessList.js +105 -0
  33. package/dist/core/AccessList.js.map +1 -0
  34. package/dist/core/AccountProof.d.ts +115 -0
  35. package/dist/core/AccountProof.d.ts.map +1 -0
  36. package/dist/core/AccountProof.js +106 -0
  37. package/dist/core/AccountProof.js.map +1 -0
  38. package/dist/core/Address.d.ts +233 -0
  39. package/dist/core/Address.d.ts.map +1 -0
  40. package/dist/core/Address.js +271 -0
  41. package/dist/core/Address.js.map +1 -0
  42. package/dist/core/AesGcm.d.ts.map +1 -0
  43. package/dist/core/AesGcm.js +116 -0
  44. package/dist/core/AesGcm.js.map +1 -0
  45. package/dist/core/Authorization.d.ts +464 -0
  46. package/dist/core/Authorization.d.ts.map +1 -0
  47. package/dist/core/Authorization.js +448 -0
  48. package/dist/core/Authorization.js.map +1 -0
  49. package/dist/core/Base32.d.ts +86 -0
  50. package/dist/core/Base32.d.ts.map +1 -0
  51. package/dist/core/Base32.js +112 -0
  52. package/dist/core/Base32.js.map +1 -0
  53. package/dist/core/Base58.d.ts +122 -0
  54. package/dist/core/Base58.d.ts.map +1 -0
  55. package/dist/core/Base58.js +137 -0
  56. package/dist/core/Base58.js.map +1 -0
  57. package/dist/core/Base64.d.ts +262 -0
  58. package/dist/core/Base64.d.ts.map +1 -0
  59. package/dist/core/Base64.js +318 -0
  60. package/dist/core/Base64.js.map +1 -0
  61. package/dist/core/Bech32m.d.ts +99 -0
  62. package/dist/core/Bech32m.d.ts.map +1 -0
  63. package/dist/core/Bech32m.js +179 -0
  64. package/dist/core/Bech32m.js.map +1 -0
  65. package/dist/core/BinaryStateTree.d.ts +91 -0
  66. package/dist/core/BinaryStateTree.d.ts.map +1 -0
  67. package/dist/core/BinaryStateTree.js +205 -0
  68. package/dist/core/BinaryStateTree.js.map +1 -0
  69. package/dist/core/BlobCells.d.ts +202 -0
  70. package/dist/core/BlobCells.d.ts.map +1 -0
  71. package/dist/core/BlobCells.js +181 -0
  72. package/dist/core/BlobCells.js.map +1 -0
  73. package/dist/core/Blobs.d.ts +436 -0
  74. package/dist/core/Blobs.d.ts.map +1 -0
  75. package/dist/core/Blobs.js +498 -0
  76. package/dist/core/Blobs.js.map +1 -0
  77. package/dist/core/Block.d.ts +195 -0
  78. package/dist/core/Block.d.ts.map +1 -0
  79. package/dist/core/Block.js +158 -0
  80. package/dist/core/Block.js.map +1 -0
  81. package/dist/core/BlockOverrides.d.ts +91 -0
  82. package/dist/core/BlockOverrides.d.ts.map +1 -0
  83. package/dist/core/BlockOverrides.js +103 -0
  84. package/dist/core/BlockOverrides.js.map +1 -0
  85. package/dist/core/Bloom.d.ts +141 -0
  86. package/dist/core/Bloom.d.ts.map +1 -0
  87. package/dist/core/Bloom.js +140 -0
  88. package/dist/core/Bloom.js.map +1 -0
  89. package/dist/core/Bls.d.ts +443 -0
  90. package/dist/core/Bls.d.ts.map +1 -0
  91. package/dist/core/Bls.js +300 -0
  92. package/dist/core/Bls.js.map +1 -0
  93. package/dist/core/BlsPoint.d.ts +212 -0
  94. package/dist/core/BlsPoint.d.ts.map +1 -0
  95. package/dist/core/BlsPoint.js +122 -0
  96. package/dist/core/BlsPoint.js.map +1 -0
  97. package/dist/core/Bytes.d.ts +616 -0
  98. package/dist/core/Bytes.d.ts.map +1 -0
  99. package/dist/core/Bytes.js +638 -0
  100. package/dist/core/Bytes.js.map +1 -0
  101. package/dist/core/Caches.d.ts +13 -0
  102. package/dist/core/Caches.d.ts.map +1 -0
  103. package/dist/core/Caches.js +19 -0
  104. package/dist/core/Caches.js.map +1 -0
  105. package/dist/core/Cbor.d.ts.map +1 -0
  106. package/dist/core/Cbor.js +758 -0
  107. package/dist/core/Cbor.js.map +1 -0
  108. package/dist/core/CompactSize.d.ts +121 -0
  109. package/dist/core/CompactSize.d.ts.map +1 -0
  110. package/dist/core/CompactSize.js +167 -0
  111. package/dist/core/CompactSize.js.map +1 -0
  112. package/dist/core/ContractAddress.d.ts +108 -0
  113. package/dist/core/ContractAddress.d.ts.map +1 -0
  114. package/dist/core/ContractAddress.js +103 -0
  115. package/dist/core/ContractAddress.js.map +1 -0
  116. package/dist/core/CoseKey.d.ts +93 -0
  117. package/dist/core/CoseKey.d.ts.map +1 -0
  118. package/dist/core/CoseKey.js +171 -0
  119. package/dist/core/CoseKey.js.map +1 -0
  120. package/dist/core/Ed25519.d.ts +231 -0
  121. package/dist/core/Ed25519.d.ts.map +1 -0
  122. package/dist/core/Ed25519.js +184 -0
  123. package/dist/core/Ed25519.js.map +1 -0
  124. package/dist/core/Ens.d.ts +88 -0
  125. package/dist/core/Ens.d.ts.map +1 -0
  126. package/dist/core/Ens.js +107 -0
  127. package/dist/core/Ens.js.map +1 -0
  128. package/dist/core/Errors.d.ts.map +1 -0
  129. package/dist/core/Errors.js +95 -0
  130. package/dist/core/Errors.js.map +1 -0
  131. package/dist/core/Fee.d.ts +172 -0
  132. package/dist/core/Fee.d.ts.map +1 -0
  133. package/dist/core/Fee.js +141 -0
  134. package/dist/core/Fee.js.map +1 -0
  135. package/dist/core/Filter.d.ts +103 -0
  136. package/dist/core/Filter.d.ts.map +1 -0
  137. package/dist/core/Filter.js +97 -0
  138. package/dist/core/Filter.js.map +1 -0
  139. package/dist/core/Hash.d.ts +164 -0
  140. package/dist/core/Hash.d.ts.map +1 -0
  141. package/dist/core/Hash.js +164 -0
  142. package/dist/core/Hash.js.map +1 -0
  143. package/dist/core/HdKey.d.ts +138 -0
  144. package/dist/core/HdKey.d.ts.map +1 -0
  145. package/dist/core/HdKey.js +100 -0
  146. package/dist/core/HdKey.js.map +1 -0
  147. package/dist/core/Hex.d.ts +643 -0
  148. package/dist/core/Hex.d.ts.map +1 -0
  149. package/dist/core/Hex.js +718 -0
  150. package/dist/core/Hex.js.map +1 -0
  151. package/dist/core/Json.d.ts +83 -0
  152. package/dist/core/Json.d.ts.map +1 -0
  153. package/dist/core/Json.js +134 -0
  154. package/dist/core/Json.js.map +1 -0
  155. package/dist/core/Keystore.d.ts +332 -0
  156. package/dist/core/Keystore.d.ts.map +1 -0
  157. package/dist/core/Keystore.js +371 -0
  158. package/dist/core/Keystore.js.map +1 -0
  159. package/dist/core/Kzg.d.ts +59 -0
  160. package/dist/core/Kzg.d.ts.map +1 -0
  161. package/dist/core/Kzg.js +30 -0
  162. package/dist/core/Kzg.js.map +1 -0
  163. package/dist/core/Log.d.ts +190 -0
  164. package/dist/core/Log.d.ts.map +1 -0
  165. package/dist/core/Log.js +183 -0
  166. package/dist/core/Log.js.map +1 -0
  167. package/dist/core/Mnemonic.d.ts +163 -0
  168. package/dist/core/Mnemonic.d.ts.map +1 -0
  169. package/dist/core/Mnemonic.js +141 -0
  170. package/dist/core/Mnemonic.js.map +1 -0
  171. package/dist/core/P256.d.ts +271 -0
  172. package/dist/core/P256.d.ts.map +1 -0
  173. package/dist/core/P256.js +185 -0
  174. package/dist/core/P256.js.map +1 -0
  175. package/dist/core/PersonalMessage.d.ts +50 -0
  176. package/dist/core/PersonalMessage.d.ts.map +1 -0
  177. package/dist/core/PersonalMessage.js +58 -0
  178. package/dist/core/PersonalMessage.js.map +1 -0
  179. package/dist/core/Provider.d.ts +402 -0
  180. package/dist/core/Provider.d.ts.map +1 -0
  181. package/dist/core/Provider.js +257 -0
  182. package/dist/core/Provider.js.map +1 -0
  183. package/dist/core/PublicKey.d.ts +323 -0
  184. package/dist/core/PublicKey.d.ts.map +1 -0
  185. package/dist/core/PublicKey.js +393 -0
  186. package/dist/core/PublicKey.js.map +1 -0
  187. package/dist/core/Rlp.d.ts +147 -0
  188. package/dist/core/Rlp.d.ts.map +1 -0
  189. package/dist/core/Rlp.js +485 -0
  190. package/dist/core/Rlp.js.map +1 -0
  191. package/dist/core/RpcRequest.d.ts +152 -0
  192. package/dist/core/RpcRequest.d.ts.map +1 -0
  193. package/dist/core/RpcRequest.js +134 -0
  194. package/dist/core/RpcRequest.js.map +1 -0
  195. package/dist/core/RpcResponse.d.ts +302 -0
  196. package/dist/core/RpcResponse.d.ts.map +1 -0
  197. package/dist/core/RpcResponse.js +348 -0
  198. package/dist/core/RpcResponse.js.map +1 -0
  199. package/dist/core/RpcSchema.d.ts +263 -0
  200. package/dist/core/RpcSchema.d.ts.map +1 -0
  201. package/dist/core/RpcSchema.js +41 -0
  202. package/dist/core/RpcSchema.js.map +1 -0
  203. package/dist/core/RpcTransport.d.ts +66 -0
  204. package/dist/core/RpcTransport.d.ts.map +1 -0
  205. package/dist/core/RpcTransport.js +118 -0
  206. package/dist/core/RpcTransport.js.map +1 -0
  207. package/dist/core/Secp256k1.d.ts +346 -0
  208. package/dist/core/Secp256k1.d.ts.map +1 -0
  209. package/dist/core/Secp256k1.js +238 -0
  210. package/dist/core/Secp256k1.js.map +1 -0
  211. package/dist/core/Signature.d.ts +660 -0
  212. package/dist/core/Signature.d.ts.map +1 -0
  213. package/dist/core/Signature.js +760 -0
  214. package/dist/core/Signature.js.map +1 -0
  215. package/dist/core/Siwe.d.ts +247 -0
  216. package/dist/core/Siwe.d.ts.map +1 -0
  217. package/dist/core/Siwe.js +367 -0
  218. package/dist/core/Siwe.js.map +1 -0
  219. package/dist/core/Solidity.d.ts +142 -0
  220. package/dist/core/Solidity.d.ts.map +1 -0
  221. package/dist/core/Solidity.js +154 -0
  222. package/dist/core/Solidity.js.map +1 -0
  223. package/dist/core/StateOverrides.d.ts +79 -0
  224. package/dist/core/StateOverrides.d.ts.map +1 -0
  225. package/dist/core/StateOverrides.js +78 -0
  226. package/dist/core/StateOverrides.js.map +1 -0
  227. package/dist/core/Transaction.d.ts +230 -0
  228. package/dist/core/Transaction.d.ts.map +1 -0
  229. package/dist/core/Transaction.js +184 -0
  230. package/dist/core/Transaction.js.map +1 -0
  231. package/dist/core/TransactionReceipt.d.ts +265 -0
  232. package/dist/core/TransactionReceipt.d.ts.map +1 -0
  233. package/dist/core/TransactionReceipt.js +223 -0
  234. package/dist/core/TransactionReceipt.js.map +1 -0
  235. package/dist/core/TransactionRequest.d.ts +182 -0
  236. package/dist/core/TransactionRequest.d.ts.map +1 -0
  237. package/dist/core/TransactionRequest.js +338 -0
  238. package/dist/core/TransactionRequest.js.map +1 -0
  239. package/dist/core/TxEnvelope.d.ts +465 -0
  240. package/dist/core/TxEnvelope.d.ts.map +1 -0
  241. package/dist/core/TxEnvelope.js +517 -0
  242. package/dist/core/TxEnvelope.js.map +1 -0
  243. package/dist/core/TxEnvelopeEip1559.d.ts +354 -0
  244. package/dist/core/TxEnvelopeEip1559.d.ts.map +1 -0
  245. package/dist/core/TxEnvelopeEip1559.js +457 -0
  246. package/dist/core/TxEnvelopeEip1559.js.map +1 -0
  247. package/dist/core/TxEnvelopeEip2930.d.ts +349 -0
  248. package/dist/core/TxEnvelopeEip2930.d.ts.map +1 -0
  249. package/dist/core/TxEnvelopeEip2930.js +437 -0
  250. package/dist/core/TxEnvelopeEip2930.js.map +1 -0
  251. package/dist/core/TxEnvelopeEip4844.d.ts +463 -0
  252. package/dist/core/TxEnvelopeEip4844.d.ts.map +1 -0
  253. package/dist/core/TxEnvelopeEip4844.js +623 -0
  254. package/dist/core/TxEnvelopeEip4844.js.map +1 -0
  255. package/dist/core/TxEnvelopeEip7702.d.ts +407 -0
  256. package/dist/core/TxEnvelopeEip7702.d.ts.map +1 -0
  257. package/dist/core/TxEnvelopeEip7702.js +513 -0
  258. package/dist/core/TxEnvelopeEip7702.js.map +1 -0
  259. package/dist/core/TxEnvelopeLegacy.d.ts +345 -0
  260. package/dist/core/TxEnvelopeLegacy.d.ts.map +1 -0
  261. package/dist/core/TxEnvelopeLegacy.js +496 -0
  262. package/dist/core/TxEnvelopeLegacy.js.map +1 -0
  263. package/dist/core/TypedData.d.ts +512 -0
  264. package/dist/core/TypedData.d.ts.map +1 -0
  265. package/dist/core/TypedData.js +690 -0
  266. package/dist/core/TypedData.js.map +1 -0
  267. package/dist/core/ValidatorData.d.ts +62 -0
  268. package/dist/core/ValidatorData.d.ts.map +1 -0
  269. package/dist/core/ValidatorData.js +54 -0
  270. package/dist/core/ValidatorData.js.map +1 -0
  271. package/dist/core/Value.d.ts +158 -0
  272. package/dist/core/Value.d.ts.map +1 -0
  273. package/dist/core/Value.js +230 -0
  274. package/dist/core/Value.js.map +1 -0
  275. package/dist/core/WebAuthnP256.d.ts +336 -0
  276. package/dist/core/WebAuthnP256.d.ts.map +1 -0
  277. package/dist/core/WebAuthnP256.js +298 -0
  278. package/dist/core/WebAuthnP256.js.map +1 -0
  279. package/dist/core/WebCryptoP256.d.ts +226 -0
  280. package/dist/core/WebCryptoP256.d.ts.map +1 -0
  281. package/dist/core/WebCryptoP256.js +215 -0
  282. package/dist/core/WebCryptoP256.js.map +1 -0
  283. package/dist/core/Withdrawal.d.ts +68 -0
  284. package/dist/core/Withdrawal.d.ts.map +1 -0
  285. package/dist/core/Withdrawal.js +66 -0
  286. package/dist/core/Withdrawal.js.map +1 -0
  287. package/dist/core/X25519.d.ts +158 -0
  288. package/dist/core/X25519.d.ts.map +1 -0
  289. package/dist/core/X25519.js +99 -0
  290. package/dist/core/X25519.js.map +1 -0
  291. package/dist/core/internal/abi.d.ts.map +1 -0
  292. package/dist/core/internal/abi.js.map +1 -0
  293. package/dist/core/internal/abiConstructor.d.ts.map +1 -0
  294. package/dist/core/internal/abiConstructor.js.map +1 -0
  295. package/dist/core/internal/abiError.d.ts.map +1 -0
  296. package/dist/core/internal/abiError.js.map +1 -0
  297. package/dist/core/internal/abiEvent.d.ts.map +1 -0
  298. package/dist/core/internal/abiEvent.js.map +1 -0
  299. package/dist/core/internal/abiFunction.d.ts.map +1 -0
  300. package/dist/core/internal/abiFunction.js.map +1 -0
  301. package/dist/core/internal/abiItem.d.ts.map +1 -0
  302. package/dist/core/internal/abiItem.js +142 -0
  303. package/dist/core/internal/abiItem.js.map +1 -0
  304. package/dist/core/internal/abiParameters.d.ts.map +1 -0
  305. package/dist/core/internal/abiParameters.js +473 -0
  306. package/dist/core/internal/abiParameters.js.map +1 -0
  307. package/dist/core/internal/address.d.ts +33 -0
  308. package/dist/core/internal/address.d.ts.map +1 -0
  309. package/dist/core/internal/address.js +80 -0
  310. package/dist/core/internal/address.js.map +1 -0
  311. package/dist/core/internal/base58.d.ts.map +1 -0
  312. package/dist/core/internal/base58.js +86 -0
  313. package/dist/core/internal/base58.js.map +1 -0
  314. package/dist/core/internal/bytes.d.ts +52 -0
  315. package/dist/core/internal/bytes.d.ts.map +1 -0
  316. package/dist/core/internal/bytes.js +78 -0
  317. package/dist/core/internal/bytes.js.map +1 -0
  318. package/dist/core/internal/codec/bech32-base32.d.ts +29 -0
  319. package/dist/core/internal/codec/bech32-base32.d.ts.map +1 -0
  320. package/dist/core/internal/codec/bech32-base32.js +53 -0
  321. package/dist/core/internal/codec/bech32-base32.js.map +1 -0
  322. package/dist/core/internal/codec/errors.d.ts +25 -0
  323. package/dist/core/internal/codec/errors.d.ts.map +1 -0
  324. package/dist/core/internal/codec/errors.js +23 -0
  325. package/dist/core/internal/codec/errors.js.map +1 -0
  326. package/dist/core/internal/codec/hex.d.ts +40 -0
  327. package/dist/core/internal/codec/hex.d.ts.map +1 -0
  328. package/dist/core/internal/codec/hex.js +112 -0
  329. package/dist/core/internal/codec/hex.js.map +1 -0
  330. package/dist/core/internal/codec/int.d.ts +54 -0
  331. package/dist/core/internal/codec/int.d.ts.map +1 -0
  332. package/dist/core/internal/codec/int.js +141 -0
  333. package/dist/core/internal/codec/int.js.map +1 -0
  334. package/dist/core/internal/codec/utf8.d.ts +11 -0
  335. package/dist/core/internal/codec/utf8.d.ts.map +1 -0
  336. package/dist/core/internal/codec/utf8.js +11 -0
  337. package/dist/core/internal/codec/utf8.js.map +1 -0
  338. package/dist/core/internal/cryptoIo.d.ts +37 -0
  339. package/dist/core/internal/cryptoIo.d.ts.map +1 -0
  340. package/dist/core/internal/cryptoIo.js +59 -0
  341. package/dist/core/internal/cryptoIo.js.map +1 -0
  342. package/dist/core/internal/cursor.d.ts +71 -0
  343. package/dist/core/internal/cursor.d.ts.map +1 -0
  344. package/dist/core/internal/cursor.js +193 -0
  345. package/dist/core/internal/cursor.js.map +1 -0
  346. package/dist/core/internal/ens.d.ts +24 -0
  347. package/dist/core/internal/ens.d.ts.map +1 -0
  348. package/dist/core/internal/ens.js +48 -0
  349. package/dist/core/internal/ens.js.map +1 -0
  350. package/dist/core/internal/entropy.d.ts.map +1 -0
  351. package/dist/core/internal/entropy.js.map +1 -0
  352. package/dist/core/internal/errors.d.ts.map +1 -0
  353. package/dist/core/internal/errors.js.map +1 -0
  354. package/dist/core/internal/hdKey.d.ts.map +1 -0
  355. package/dist/core/internal/hdKey.js.map +1 -0
  356. package/dist/core/internal/hex.d.ts +39 -0
  357. package/dist/core/internal/hex.d.ts.map +1 -0
  358. package/dist/core/internal/hex.js +67 -0
  359. package/dist/core/internal/hex.js.map +1 -0
  360. package/dist/core/internal/lru.d.ts +25 -0
  361. package/dist/core/internal/lru.d.ts.map +1 -0
  362. package/dist/core/internal/lru.js +53 -0
  363. package/dist/core/internal/lru.js.map +1 -0
  364. package/dist/core/internal/mnemonic/wordlists.d.ts +11 -0
  365. package/dist/core/internal/mnemonic/wordlists.d.ts.map +1 -0
  366. package/dist/core/internal/mnemonic/wordlists.js +11 -0
  367. package/dist/core/internal/mnemonic/wordlists.js.map +1 -0
  368. package/dist/core/internal/promise.d.ts.map +1 -0
  369. package/dist/core/internal/promise.js +46 -0
  370. package/dist/core/internal/promise.js.map +1 -0
  371. package/dist/core/internal/quantity.d.ts +46 -0
  372. package/dist/core/internal/quantity.d.ts.map +1 -0
  373. package/dist/core/internal/quantity.js +68 -0
  374. package/dist/core/internal/quantity.js.map +1 -0
  375. package/dist/core/internal/register.d.ts.map +1 -0
  376. package/dist/core/internal/register.js.map +1 -0
  377. package/dist/core/internal/rpcSchema.d.ts.map +1 -0
  378. package/dist/core/internal/rpcSchema.js.map +1 -0
  379. package/dist/core/internal/rpcSchemas/eth.d.ts +753 -0
  380. package/dist/core/internal/rpcSchemas/eth.d.ts.map +1 -0
  381. package/dist/core/internal/rpcSchemas/eth.js.map +1 -0
  382. package/dist/core/internal/rpcSchemas/wallet.d.ts +441 -0
  383. package/dist/core/internal/rpcSchemas/wallet.d.ts.map +1 -0
  384. package/dist/core/internal/rpcSchemas/wallet.js.map +1 -0
  385. package/dist/core/internal/rpcTransport.d.ts +35 -0
  386. package/dist/core/internal/rpcTransport.d.ts.map +1 -0
  387. package/dist/core/internal/rpcTransport.js +19 -0
  388. package/dist/core/internal/rpcTransport.js.map +1 -0
  389. package/dist/core/internal/signature.d.ts +2 -0
  390. package/dist/core/internal/signature.d.ts.map +1 -0
  391. package/dist/core/internal/signature.js +5 -0
  392. package/dist/core/internal/signature.js.map +1 -0
  393. package/dist/core/internal/tx.d.ts +103 -0
  394. package/dist/core/internal/tx.d.ts.map +1 -0
  395. package/dist/core/internal/tx.js +167 -0
  396. package/dist/core/internal/tx.js.map +1 -0
  397. package/dist/core/internal/types.d.ts +320 -0
  398. package/dist/core/internal/types.d.ts.map +1 -0
  399. package/dist/core/internal/types.js.map +1 -0
  400. package/dist/core/internal/webauthn.d.ts +26 -0
  401. package/dist/core/internal/webauthn.d.ts.map +1 -0
  402. package/dist/core/internal/webauthn.js +91 -0
  403. package/dist/core/internal/webauthn.js.map +1 -0
  404. package/dist/core/version.d.ts.map +1 -0
  405. package/dist/core/version.js.map +1 -0
  406. package/dist/erc4337/EntryPoint.d.ts.map +1 -0
  407. package/dist/erc4337/EntryPoint.js.map +1 -0
  408. package/dist/erc4337/RpcSchema.d.ts +139 -0
  409. package/dist/erc4337/RpcSchema.d.ts.map +1 -0
  410. package/dist/erc4337/RpcSchema.js.map +1 -0
  411. package/dist/erc4337/UserOperation.d.ts +550 -0
  412. package/dist/erc4337/UserOperation.d.ts.map +1 -0
  413. package/dist/erc4337/UserOperation.js +615 -0
  414. package/dist/erc4337/UserOperation.js.map +1 -0
  415. package/dist/erc4337/UserOperationGas.d.ts +66 -0
  416. package/dist/erc4337/UserOperationGas.d.ts.map +1 -0
  417. package/dist/erc4337/UserOperationGas.js +61 -0
  418. package/dist/erc4337/UserOperationGas.js.map +1 -0
  419. package/dist/erc4337/UserOperationReceipt.d.ts.map +1 -0
  420. package/dist/erc4337/UserOperationReceipt.js.map +1 -0
  421. package/dist/erc4337/index.d.ts +32 -0
  422. package/dist/erc4337/index.d.ts.map +1 -0
  423. package/dist/erc4337/index.js +33 -0
  424. package/dist/erc4337/index.js.map +1 -0
  425. package/dist/erc6492/SignatureErc6492.d.ts +188 -0
  426. package/dist/erc6492/SignatureErc6492.d.ts.map +1 -0
  427. package/dist/erc6492/SignatureErc6492.js +212 -0
  428. package/dist/erc6492/SignatureErc6492.js.map +1 -0
  429. package/dist/erc6492/index.d.ts +27 -0
  430. package/dist/erc6492/index.d.ts.map +1 -0
  431. package/dist/erc6492/index.js +28 -0
  432. package/dist/erc6492/index.js.map +1 -0
  433. package/dist/erc7821/Calls.d.ts +132 -0
  434. package/dist/erc7821/Calls.d.ts.map +1 -0
  435. package/dist/erc7821/Calls.js +112 -0
  436. package/dist/erc7821/Calls.js.map +1 -0
  437. package/dist/erc7821/Execute.d.ts +126 -0
  438. package/dist/erc7821/Execute.d.ts.map +1 -0
  439. package/dist/erc7821/Execute.js +149 -0
  440. package/dist/erc7821/Execute.js.map +1 -0
  441. package/dist/erc7821/index.d.ts +70 -0
  442. package/dist/erc7821/index.d.ts.map +1 -0
  443. package/dist/erc7821/index.js +71 -0
  444. package/dist/erc7821/index.js.map +1 -0
  445. package/dist/erc8010/SignatureErc8010.d.ts +176 -0
  446. package/dist/erc8010/SignatureErc8010.d.ts.map +1 -0
  447. package/dist/erc8010/SignatureErc8010.js +203 -0
  448. package/dist/erc8010/SignatureErc8010.js.map +1 -0
  449. package/dist/erc8010/index.d.ts +50 -0
  450. package/dist/erc8010/index.d.ts.map +1 -0
  451. package/dist/erc8010/index.js +51 -0
  452. package/dist/erc8010/index.js.map +1 -0
  453. package/dist/erc8021/Attribution.d.ts +227 -0
  454. package/dist/erc8021/Attribution.d.ts.map +1 -0
  455. package/dist/erc8021/Attribution.js +330 -0
  456. package/dist/erc8021/Attribution.js.map +1 -0
  457. package/dist/erc8021/index.d.ts +44 -0
  458. package/dist/erc8021/index.d.ts.map +1 -0
  459. package/dist/erc8021/index.js +45 -0
  460. package/dist/erc8021/index.js.map +1 -0
  461. package/dist/index.d.ts +3786 -0
  462. package/dist/index.d.ts.map +1 -0
  463. package/dist/index.docs.d.ts +11 -0
  464. package/dist/index.docs.d.ts.map +1 -0
  465. package/dist/index.docs.js +13 -0
  466. package/dist/index.docs.js.map +1 -0
  467. package/dist/index.js +3786 -0
  468. package/dist/index.js.map +1 -0
  469. package/dist/tempo/AuthorizationTempo.d.ts +745 -0
  470. package/dist/tempo/AuthorizationTempo.d.ts.map +1 -0
  471. package/dist/tempo/AuthorizationTempo.js +728 -0
  472. package/dist/tempo/AuthorizationTempo.js.map +1 -0
  473. package/dist/tempo/Channel.d.ts +184 -0
  474. package/dist/tempo/Channel.d.ts.map +1 -0
  475. package/dist/tempo/Channel.js +165 -0
  476. package/dist/tempo/Channel.js.map +1 -0
  477. package/dist/tempo/KeyAuthorization.d.ts +692 -0
  478. package/dist/tempo/KeyAuthorization.d.ts.map +1 -0
  479. package/dist/tempo/KeyAuthorization.js +790 -0
  480. package/dist/tempo/KeyAuthorization.js.map +1 -0
  481. package/dist/tempo/MultisigConfig.d.ts +294 -0
  482. package/dist/tempo/MultisigConfig.d.ts.map +1 -0
  483. package/dist/tempo/MultisigConfig.js +331 -0
  484. package/dist/tempo/MultisigConfig.js.map +1 -0
  485. package/dist/tempo/Period.d.ts.map +1 -0
  486. package/dist/tempo/Period.js.map +1 -0
  487. package/dist/tempo/PoolId.d.ts +33 -0
  488. package/dist/tempo/PoolId.d.ts.map +1 -0
  489. package/dist/tempo/PoolId.js +31 -0
  490. package/dist/tempo/PoolId.js.map +1 -0
  491. package/dist/tempo/ReceivePolicyReceipt.d.ts +171 -0
  492. package/dist/tempo/ReceivePolicyReceipt.d.ts.map +1 -0
  493. package/dist/tempo/ReceivePolicyReceipt.js +187 -0
  494. package/dist/tempo/ReceivePolicyReceipt.js.map +1 -0
  495. package/dist/tempo/RpcSchemaTempo.d.ts +51 -0
  496. package/dist/tempo/RpcSchemaTempo.d.ts.map +1 -0
  497. package/dist/tempo/RpcSchemaTempo.js.map +1 -0
  498. package/dist/tempo/SignatureEnvelope.d.ts +846 -0
  499. package/dist/tempo/SignatureEnvelope.d.ts.map +1 -0
  500. package/dist/tempo/SignatureEnvelope.js +1155 -0
  501. package/dist/tempo/SignatureEnvelope.js.map +1 -0
  502. package/dist/tempo/Tick.d.ts.map +1 -0
  503. package/dist/tempo/Tick.js +132 -0
  504. package/dist/tempo/Tick.js.map +1 -0
  505. package/dist/tempo/TokenId.d.ts +87 -0
  506. package/dist/tempo/TokenId.d.ts.map +1 -0
  507. package/dist/tempo/TokenId.js +123 -0
  508. package/dist/tempo/TokenId.js.map +1 -0
  509. package/dist/tempo/TokenRole.d.ts.map +1 -0
  510. package/dist/tempo/TokenRole.js.map +1 -0
  511. package/dist/tempo/Transaction.d.ts +210 -0
  512. package/dist/tempo/Transaction.d.ts.map +1 -0
  513. package/dist/tempo/Transaction.js +169 -0
  514. package/dist/tempo/Transaction.js.map +1 -0
  515. package/dist/tempo/TransactionReceipt.d.ts +165 -0
  516. package/dist/tempo/TransactionReceipt.d.ts.map +1 -0
  517. package/dist/tempo/TransactionReceipt.js +138 -0
  518. package/dist/tempo/TransactionReceipt.js.map +1 -0
  519. package/dist/tempo/TransactionRequest.d.ts +164 -0
  520. package/dist/tempo/TransactionRequest.d.ts.map +1 -0
  521. package/dist/tempo/TransactionRequest.js +271 -0
  522. package/dist/tempo/TransactionRequest.js.map +1 -0
  523. package/dist/tempo/TxEnvelopeTempo.d.ts +677 -0
  524. package/dist/tempo/TxEnvelopeTempo.d.ts.map +1 -0
  525. package/dist/tempo/TxEnvelopeTempo.js +760 -0
  526. package/dist/tempo/TxEnvelopeTempo.js.map +1 -0
  527. package/dist/tempo/VirtualAddress.d.ts +128 -0
  528. package/dist/tempo/VirtualAddress.d.ts.map +1 -0
  529. package/dist/tempo/VirtualAddress.js +155 -0
  530. package/dist/tempo/VirtualAddress.js.map +1 -0
  531. package/dist/tempo/VirtualMaster.d.ts +248 -0
  532. package/dist/tempo/VirtualMaster.d.ts.map +1 -0
  533. package/dist/tempo/VirtualMaster.js +508 -0
  534. package/dist/tempo/VirtualMaster.js.map +1 -0
  535. package/dist/tempo/ZoneId.d.ts.map +1 -0
  536. package/dist/tempo/ZoneId.js.map +1 -0
  537. package/dist/tempo/ZoneRpcAuthentication.d.ts +278 -0
  538. package/dist/tempo/ZoneRpcAuthentication.d.ts.map +1 -0
  539. package/dist/tempo/ZoneRpcAuthentication.js +255 -0
  540. package/dist/tempo/ZoneRpcAuthentication.js.map +1 -0
  541. package/dist/tempo/index.d.ts +584 -0
  542. package/dist/tempo/index.d.ts.map +1 -0
  543. package/dist/tempo/index.js +585 -0
  544. package/dist/tempo/index.js.map +1 -0
  545. package/dist/tempo/internal/mine.wasm.d.ts.map +1 -0
  546. package/dist/tempo/internal/mine.wasm.js.map +1 -0
  547. package/dist/tempo/internal/virtualMasterPool.d.ts.map +1 -0
  548. package/dist/tempo/internal/virtualMasterPool.js.map +1 -0
  549. package/dist/trusted-setups/Paths.d.ts.map +1 -0
  550. package/dist/trusted-setups/Paths.js.map +1 -0
  551. package/dist/trusted-setups/index.d.ts.map +1 -0
  552. package/dist/trusted-setups/index.js.map +1 -0
  553. package/dist/trusted-setups/internal/paths.d.ts.map +1 -0
  554. package/dist/trusted-setups/internal/paths.js.map +1 -0
  555. package/dist/webauthn/Authentication.d.ts +339 -0
  556. package/dist/webauthn/Authentication.d.ts.map +1 -0
  557. package/dist/webauthn/Authentication.js +481 -0
  558. package/dist/webauthn/Authentication.js.map +1 -0
  559. package/dist/webauthn/Authenticator.d.ts +188 -0
  560. package/dist/webauthn/Authenticator.d.ts.map +1 -0
  561. package/dist/webauthn/Authenticator.js +217 -0
  562. package/dist/webauthn/Authenticator.js.map +1 -0
  563. package/dist/webauthn/Credential.d.ts +83 -0
  564. package/dist/webauthn/Credential.d.ts.map +1 -0
  565. package/dist/webauthn/Credential.js +105 -0
  566. package/dist/webauthn/Credential.js.map +1 -0
  567. package/dist/webauthn/Registration.d.ts +326 -0
  568. package/dist/webauthn/Registration.d.ts.map +1 -0
  569. package/dist/webauthn/Registration.js +523 -0
  570. package/dist/webauthn/Registration.js.map +1 -0
  571. package/dist/webauthn/Types.d.ts.map +1 -0
  572. package/dist/webauthn/Types.js.map +1 -0
  573. package/dist/webauthn/index.d.ts +32 -0
  574. package/dist/webauthn/index.d.ts.map +1 -0
  575. package/dist/webauthn/index.js +33 -0
  576. package/dist/webauthn/index.js.map +1 -0
  577. package/dist/webauthn/internal/utils.d.ts +61 -0
  578. package/dist/webauthn/internal/utils.d.ts.map +1 -0
  579. package/dist/webauthn/internal/utils.js +105 -0
  580. package/dist/webauthn/internal/utils.js.map +1 -0
  581. package/dist/window/index.d.ts.map +1 -0
  582. package/dist/window/index.js.map +1 -0
  583. package/dist/zod/AccessList.d.ts +16 -0
  584. package/dist/zod/AccessList.d.ts.map +1 -0
  585. package/dist/zod/AccessList.js +16 -0
  586. package/dist/zod/AccessList.js.map +1 -0
  587. package/dist/zod/AccountProof.d.ts +22 -0
  588. package/dist/zod/AccountProof.d.ts.map +1 -0
  589. package/dist/zod/AccountProof.js +23 -0
  590. package/dist/zod/AccountProof.js.map +1 -0
  591. package/dist/zod/Address.d.ts +4 -0
  592. package/dist/zod/Address.d.ts.map +1 -0
  593. package/dist/zod/Address.js +7 -0
  594. package/dist/zod/Address.js.map +1 -0
  595. package/dist/zod/Authorization.d.ts +71 -0
  596. package/dist/zod/Authorization.d.ts.map +1 -0
  597. package/dist/zod/Authorization.js +49 -0
  598. package/dist/zod/Authorization.js.map +1 -0
  599. package/dist/zod/BigInt.d.ts +4 -0
  600. package/dist/zod/BigInt.d.ts.map +1 -0
  601. package/dist/zod/BigInt.js +10 -0
  602. package/dist/zod/BigInt.js.map +1 -0
  603. package/dist/zod/Block.d.ts +456 -0
  604. package/dist/zod/Block.d.ts.map +1 -0
  605. package/dist/zod/Block.js +86 -0
  606. package/dist/zod/Block.js.map +1 -0
  607. package/dist/zod/BlockOverrides.d.ts +18 -0
  608. package/dist/zod/BlockOverrides.d.ts.map +1 -0
  609. package/dist/zod/BlockOverrides.js +17 -0
  610. package/dist/zod/BlockOverrides.js.map +1 -0
  611. package/dist/zod/Bytes.d.ts +8 -0
  612. package/dist/zod/Bytes.d.ts.map +1 -0
  613. package/dist/zod/Bytes.js +38 -0
  614. package/dist/zod/Bytes.js.map +1 -0
  615. package/dist/zod/Fee.d.ts +35 -0
  616. package/dist/zod/Fee.d.ts.map +1 -0
  617. package/dist/zod/Fee.js +32 -0
  618. package/dist/zod/Fee.js.map +1 -0
  619. package/dist/zod/Filter.d.ts +20 -0
  620. package/dist/zod/Filter.d.ts.map +1 -0
  621. package/dist/zod/Filter.js +46 -0
  622. package/dist/zod/Filter.js.map +1 -0
  623. package/dist/zod/Hash.d.ts +3 -0
  624. package/dist/zod/Hash.d.ts.map +1 -0
  625. package/dist/zod/Hash.js +5 -0
  626. package/dist/zod/Hash.js.map +1 -0
  627. package/dist/zod/Hex.d.ts +76 -0
  628. package/dist/zod/Hex.d.ts.map +1 -0
  629. package/dist/zod/Hex.js +82 -0
  630. package/dist/zod/Hex.js.map +1 -0
  631. package/dist/zod/Int.d.ts +68 -0
  632. package/dist/zod/Int.d.ts.map +1 -0
  633. package/dist/zod/Int.js +86 -0
  634. package/dist/zod/Int.js.map +1 -0
  635. package/dist/zod/Log.d.ts +28 -0
  636. package/dist/zod/Log.d.ts.map +1 -0
  637. package/dist/zod/Log.js +34 -0
  638. package/dist/zod/Log.js.map +1 -0
  639. package/dist/zod/Number.d.ts +4 -0
  640. package/dist/zod/Number.d.ts.map +1 -0
  641. package/dist/zod/Number.js +10 -0
  642. package/dist/zod/Number.js.map +1 -0
  643. package/dist/zod/RpcResponse.d.ts +24 -0
  644. package/dist/zod/RpcResponse.d.ts.map +1 -0
  645. package/dist/zod/RpcResponse.js +26 -0
  646. package/dist/zod/RpcResponse.js.map +1 -0
  647. package/dist/zod/RpcSchema.d.ts +3057 -0
  648. package/dist/zod/RpcSchema.d.ts.map +1 -0
  649. package/dist/zod/RpcSchema.js +122 -0
  650. package/dist/zod/RpcSchema.js.map +1 -0
  651. package/dist/zod/Signature.d.ts +22 -0
  652. package/dist/zod/Signature.d.ts.map +1 -0
  653. package/dist/zod/Signature.js +27 -0
  654. package/dist/zod/Signature.js.map +1 -0
  655. package/dist/zod/StateOverrides.d.ts +36 -0
  656. package/dist/zod/StateOverrides.d.ts.map +1 -0
  657. package/dist/zod/StateOverrides.js +29 -0
  658. package/dist/zod/StateOverrides.js.map +1 -0
  659. package/dist/zod/Transaction.d.ts +670 -0
  660. package/dist/zod/Transaction.d.ts.map +1 -0
  661. package/dist/zod/Transaction.js +204 -0
  662. package/dist/zod/Transaction.js.map +1 -0
  663. package/dist/zod/TransactionEnvelope.d.ts +482 -0
  664. package/dist/zod/TransactionEnvelope.d.ts.map +1 -0
  665. package/dist/zod/TransactionEnvelope.js +127 -0
  666. package/dist/zod/TransactionEnvelope.js.map +1 -0
  667. package/dist/zod/TransactionReceipt.d.ts +37 -0
  668. package/dist/zod/TransactionReceipt.d.ts.map +1 -0
  669. package/dist/zod/TransactionReceipt.js +60 -0
  670. package/dist/zod/TransactionReceipt.js.map +1 -0
  671. package/dist/zod/TransactionRequest.d.ts +36 -0
  672. package/dist/zod/TransactionRequest.d.ts.map +1 -0
  673. package/dist/zod/TransactionRequest.js +51 -0
  674. package/dist/zod/TransactionRequest.js.map +1 -0
  675. package/dist/zod/TxEnvelopeEip1559.d.ts +46 -0
  676. package/dist/zod/TxEnvelopeEip1559.d.ts.map +1 -0
  677. package/dist/zod/TxEnvelopeEip1559.js +21 -0
  678. package/dist/zod/TxEnvelopeEip1559.js.map +1 -0
  679. package/dist/zod/TxEnvelopeEip2930.d.ts +44 -0
  680. package/dist/zod/TxEnvelopeEip2930.d.ts.map +1 -0
  681. package/dist/zod/TxEnvelopeEip2930.js +19 -0
  682. package/dist/zod/TxEnvelopeEip2930.js.map +1 -0
  683. package/dist/zod/TxEnvelopeEip4844.d.ts +66 -0
  684. package/dist/zod/TxEnvelopeEip4844.d.ts.map +1 -0
  685. package/dist/zod/TxEnvelopeEip4844.js +34 -0
  686. package/dist/zod/TxEnvelopeEip4844.js.map +1 -0
  687. package/dist/zod/TxEnvelopeEip7702.d.ts +62 -0
  688. package/dist/zod/TxEnvelopeEip7702.d.ts.map +1 -0
  689. package/dist/zod/TxEnvelopeEip7702.js +24 -0
  690. package/dist/zod/TxEnvelopeEip7702.js.map +1 -0
  691. package/dist/zod/TxEnvelopeLegacy.d.ts +36 -0
  692. package/dist/zod/TxEnvelopeLegacy.d.ts.map +1 -0
  693. package/dist/zod/TxEnvelopeLegacy.js +16 -0
  694. package/dist/zod/TxEnvelopeLegacy.js.map +1 -0
  695. package/dist/zod/Uint.d.ts +68 -0
  696. package/dist/zod/Uint.d.ts.map +1 -0
  697. package/dist/zod/Uint.js +86 -0
  698. package/dist/zod/Uint.js.map +1 -0
  699. package/dist/zod/Withdrawal.d.ts +9 -0
  700. package/dist/zod/Withdrawal.d.ts.map +1 -0
  701. package/dist/zod/Withdrawal.js +13 -0
  702. package/dist/zod/Withdrawal.js.map +1 -0
  703. package/dist/zod/index.d.ts +20 -0
  704. package/dist/zod/index.d.ts.map +1 -0
  705. package/dist/zod/index.js +20 -0
  706. package/dist/zod/index.js.map +1 -0
  707. package/dist/zod/internal/Integer.d.ts +10 -0
  708. package/dist/zod/internal/Integer.d.ts.map +1 -0
  709. package/dist/zod/internal/Integer.js +60 -0
  710. package/dist/zod/internal/Integer.js.map +1 -0
  711. package/dist/zod/internal/TransactionEnvelope.d.ts +63 -0
  712. package/dist/zod/internal/TransactionEnvelope.d.ts.map +1 -0
  713. package/dist/zod/internal/TransactionEnvelope.js +49 -0
  714. package/dist/zod/internal/TransactionEnvelope.js.map +1 -0
  715. package/dist/zod/internal/rpcSchemas/Eth.d.ts +2814 -0
  716. package/dist/zod/internal/rpcSchemas/Eth.d.ts.map +1 -0
  717. package/dist/zod/internal/rpcSchemas/Eth.js +279 -0
  718. package/dist/zod/internal/rpcSchemas/Eth.js.map +1 -0
  719. package/dist/zod/internal/rpcSchemas/Wallet.d.ts +224 -0
  720. package/dist/zod/internal/rpcSchemas/Wallet.d.ts.map +1 -0
  721. package/dist/zod/internal/rpcSchemas/Wallet.js +202 -0
  722. package/dist/zod/internal/rpcSchemas/Wallet.js.map +1 -0
  723. package/dist/zod/internal/rpcSchemas/from.d.ts +34 -0
  724. package/dist/zod/internal/rpcSchemas/from.d.ts.map +1 -0
  725. package/dist/zod/internal/rpcSchemas/from.js +28 -0
  726. package/dist/zod/internal/rpcSchemas/from.js.map +1 -0
  727. package/dist/zod/tempo/AuthorizationTempo.d.ts +637 -0
  728. package/dist/zod/tempo/AuthorizationTempo.d.ts.map +1 -0
  729. package/dist/zod/tempo/AuthorizationTempo.js +56 -0
  730. package/dist/zod/tempo/AuthorizationTempo.js.map +1 -0
  731. package/dist/zod/tempo/KeyAuthorization.d.ts +419 -0
  732. package/dist/zod/tempo/KeyAuthorization.d.ts.map +1 -0
  733. package/dist/zod/tempo/KeyAuthorization.js +62 -0
  734. package/dist/zod/tempo/KeyAuthorization.js.map +1 -0
  735. package/dist/zod/tempo/MultisigConfig.d.ts +16 -0
  736. package/dist/zod/tempo/MultisigConfig.d.ts.map +1 -0
  737. package/dist/zod/tempo/MultisigConfig.js +16 -0
  738. package/dist/zod/tempo/MultisigConfig.js.map +1 -0
  739. package/dist/zod/tempo/PoolId.d.ts +3 -0
  740. package/dist/zod/tempo/PoolId.d.ts.map +1 -0
  741. package/dist/zod/tempo/PoolId.js +5 -0
  742. package/dist/zod/tempo/PoolId.js.map +1 -0
  743. package/dist/zod/tempo/RpcSchemaTempo.d.ts +1838 -0
  744. package/dist/zod/tempo/RpcSchemaTempo.d.ts.map +1 -0
  745. package/dist/zod/tempo/RpcSchemaTempo.js +60 -0
  746. package/dist/zod/tempo/RpcSchemaTempo.js.map +1 -0
  747. package/dist/zod/tempo/SignatureEnvelope.d.ts +317 -0
  748. package/dist/zod/tempo/SignatureEnvelope.d.ts.map +1 -0
  749. package/dist/zod/tempo/SignatureEnvelope.js +268 -0
  750. package/dist/zod/tempo/SignatureEnvelope.js.map +1 -0
  751. package/dist/zod/tempo/Tick.d.ts +4 -0
  752. package/dist/zod/tempo/Tick.d.ts.map +1 -0
  753. package/dist/zod/tempo/Tick.js +10 -0
  754. package/dist/zod/tempo/Tick.js.map +1 -0
  755. package/dist/zod/tempo/TokenId.d.ts +6 -0
  756. package/dist/zod/tempo/TokenId.d.ts.map +1 -0
  757. package/dist/zod/tempo/TokenId.js +14 -0
  758. package/dist/zod/tempo/TokenId.js.map +1 -0
  759. package/dist/zod/tempo/TokenRole.d.ts +4 -0
  760. package/dist/zod/tempo/TokenRole.d.ts.map +1 -0
  761. package/dist/zod/tempo/TokenRole.js +6 -0
  762. package/dist/zod/tempo/TokenRole.js.map +1 -0
  763. package/dist/zod/tempo/Transaction.d.ts +1018 -0
  764. package/dist/zod/tempo/Transaction.d.ts.map +1 -0
  765. package/dist/zod/tempo/Transaction.js +74 -0
  766. package/dist/zod/tempo/Transaction.js.map +1 -0
  767. package/dist/zod/tempo/TransactionReceipt.d.ts +39 -0
  768. package/dist/zod/tempo/TransactionReceipt.d.ts.map +1 -0
  769. package/dist/zod/tempo/TransactionReceipt.js +64 -0
  770. package/dist/zod/tempo/TransactionReceipt.js.map +1 -0
  771. package/dist/zod/tempo/TransactionRequest.d.ts +828 -0
  772. package/dist/zod/tempo/TransactionRequest.d.ts.map +1 -0
  773. package/dist/zod/tempo/TransactionRequest.js +242 -0
  774. package/dist/zod/tempo/TransactionRequest.js.map +1 -0
  775. package/dist/zod/tempo/TxEnvelopeTempo.d.ts +646 -0
  776. package/dist/zod/tempo/TxEnvelopeTempo.d.ts.map +1 -0
  777. package/dist/zod/tempo/TxEnvelopeTempo.js +57 -0
  778. package/dist/zod/tempo/TxEnvelopeTempo.js.map +1 -0
  779. package/dist/zod/tempo/VirtualAddress.d.ts +9 -0
  780. package/dist/zod/tempo/VirtualAddress.d.ts.map +1 -0
  781. package/dist/zod/tempo/VirtualAddress.js +13 -0
  782. package/dist/zod/tempo/VirtualAddress.js.map +1 -0
  783. package/dist/zod/tempo/ZoneId.d.ts +6 -0
  784. package/dist/zod/tempo/ZoneId.d.ts.map +1 -0
  785. package/dist/zod/tempo/ZoneId.js +13 -0
  786. package/dist/zod/tempo/ZoneId.js.map +1 -0
  787. package/dist/zod/tempo/ZoneRpcAuthentication.d.ts +210 -0
  788. package/dist/zod/tempo/ZoneRpcAuthentication.d.ts.map +1 -0
  789. package/dist/zod/tempo/ZoneRpcAuthentication.js +37 -0
  790. package/dist/zod/tempo/ZoneRpcAuthentication.js.map +1 -0
  791. package/dist/zod/tempo/z.d.ts +17 -0
  792. package/dist/zod/tempo/z.d.ts.map +1 -0
  793. package/dist/zod/tempo/z.js +18 -0
  794. package/dist/zod/tempo/z.js.map +1 -0
  795. package/dist/zod/z.d.ts +33 -0
  796. package/dist/zod/z.d.ts.map +1 -0
  797. package/dist/zod/z.js +34 -0
  798. package/dist/zod/z.js.map +1 -0
  799. package/package.json +657 -405
  800. package/src/CHANGELOG.md +814 -0
  801. package/src/LICENSE +21 -0
  802. package/src/README.md +92 -0
  803. package/src/core/Abi.ts +126 -0
  804. package/src/core/AbiConstructor.ts +488 -0
  805. package/src/core/AbiError.ts +832 -0
  806. package/src/core/AbiEvent.bench.ts +29 -0
  807. package/src/core/AbiEvent.ts +1976 -0
  808. package/src/core/AbiFunction.bench.ts +54 -0
  809. package/src/core/AbiFunction.ts +1090 -0
  810. package/src/core/AbiItem.bench.ts +40 -0
  811. package/src/core/AbiItem.ts +794 -0
  812. package/src/core/AbiParameters.bench.ts +82 -0
  813. package/src/core/AbiParameters.ts +749 -0
  814. package/src/core/AccessList.ts +126 -0
  815. package/src/core/AccountProof.bench.ts +66 -0
  816. package/src/core/AccountProof.ts +151 -0
  817. package/src/core/Address.bench.ts +92 -0
  818. package/src/core/Address.ts +373 -0
  819. package/src/core/AesGcm.bench.ts +25 -0
  820. package/src/core/AesGcm.ts +208 -0
  821. package/src/core/Authorization.ts +651 -0
  822. package/src/core/Base32.ts +138 -0
  823. package/src/core/Base58.ts +170 -0
  824. package/src/core/Base64.bench.ts +70 -0
  825. package/src/core/Base64.ts +437 -0
  826. package/src/core/Bech32m.ts +242 -0
  827. package/src/core/BinaryStateTree.ts +280 -0
  828. package/src/core/BlobCells.ts +379 -0
  829. package/src/core/Blobs.ts +754 -0
  830. package/src/core/Block.bench.ts +115 -0
  831. package/src/core/Block.ts +306 -0
  832. package/src/core/BlockOverrides.ts +135 -0
  833. package/src/core/Bloom.ts +188 -0
  834. package/src/core/Bls.bench.ts +32 -0
  835. package/src/core/Bls.ts +766 -0
  836. package/src/core/BlsPoint.ts +310 -0
  837. package/src/core/Bls_crypto.bench.ts +23 -0
  838. package/src/core/Bytes.bench.ts +121 -0
  839. package/src/core/Bytes.ts +889 -0
  840. package/src/core/Caches.ts +21 -0
  841. package/src/core/Cbor.bench.ts +58 -0
  842. package/src/core/Cbor.ts +969 -0
  843. package/src/core/CompactSize.ts +203 -0
  844. package/src/core/ContractAddress.ts +171 -0
  845. package/src/core/CoseKey.ts +221 -0
  846. package/src/core/Ed25519.ts +347 -0
  847. package/src/core/Ens.ts +141 -0
  848. package/src/core/Errors.ts +140 -0
  849. package/src/core/Fee.ts +237 -0
  850. package/src/core/Filter.ts +151 -0
  851. package/src/core/Hash.bench.ts +31 -0
  852. package/src/core/Hash.ts +269 -0
  853. package/src/core/HdKey.ts +164 -0
  854. package/src/core/Hex.bench.ts +121 -0
  855. package/src/core/Hex.ts +1002 -0
  856. package/src/core/Json.bench.ts +65 -0
  857. package/src/core/Json.ts +160 -0
  858. package/src/core/Keystore.ts +579 -0
  859. package/src/core/Kzg.ts +80 -0
  860. package/src/core/Log.bench.ts +53 -0
  861. package/src/core/Log.ts +250 -0
  862. package/src/core/Mnemonic.bench.ts +16 -0
  863. package/src/core/Mnemonic.ts +231 -0
  864. package/src/core/P256.ts +415 -0
  865. package/src/core/PersonalMessage.ts +80 -0
  866. package/src/core/Provider.bench.ts +31 -0
  867. package/src/core/Provider.ts +680 -0
  868. package/src/core/PublicKey.ts +567 -0
  869. package/src/core/Rlp.bench.ts +73 -0
  870. package/src/core/Rlp.ts +645 -0
  871. package/src/core/Rlp_tx.bench.ts +97 -0
  872. package/src/core/RpcRequest.bench.ts +41 -0
  873. package/src/core/RpcRequest.ts +207 -0
  874. package/src/core/RpcResponse.bench.ts +65 -0
  875. package/src/core/RpcResponse.ts +640 -0
  876. package/src/core/RpcSchema.ts +306 -0
  877. package/src/core/RpcTransport.bench.ts +42 -0
  878. package/src/core/RpcTransport.ts +222 -0
  879. package/src/core/Secp256k1.ts +510 -0
  880. package/src/core/Signature.bench.ts +56 -0
  881. package/src/core/Signature.ts +1005 -0
  882. package/src/core/Siwe.ts +512 -0
  883. package/src/core/Solidity.ts +166 -0
  884. package/src/core/StateOverrides.ts +134 -0
  885. package/src/core/Transaction.ts +434 -0
  886. package/src/core/TransactionReceipt.ts +333 -0
  887. package/src/core/TransactionRequest.ts +451 -0
  888. package/src/core/TxEnvelope.ts +944 -0
  889. package/src/core/TxEnvelopeEip1559.bench.ts +75 -0
  890. package/src/core/TxEnvelopeEip1559.ts +644 -0
  891. package/src/core/TxEnvelopeEip2930.ts +605 -0
  892. package/src/core/TxEnvelopeEip4844.ts +877 -0
  893. package/src/core/TxEnvelopeEip7702.ts +704 -0
  894. package/src/core/TxEnvelopeLegacy.ts +659 -0
  895. package/src/core/TypedData.ts +1039 -0
  896. package/src/core/ValidatorData.ts +86 -0
  897. package/src/core/Value.ts +278 -0
  898. package/src/core/WebAuthnP256.ts +400 -0
  899. package/src/core/WebCryptoP256.bench.ts +38 -0
  900. package/src/core/WebCryptoP256.ts +388 -0
  901. package/src/core/Withdrawal.ts +87 -0
  902. package/src/core/X25519.ts +204 -0
  903. package/src/core/_test/Abi.test-d.ts +74 -0
  904. package/src/core/_test/Abi.test.ts +124 -0
  905. package/src/core/_test/AbiConstructor.test-d.ts +149 -0
  906. package/src/core/_test/AbiConstructor.test.ts +380 -0
  907. package/src/core/_test/AbiError.test-d.ts +128 -0
  908. package/src/core/_test/AbiError.test.ts +1144 -0
  909. package/src/core/_test/AbiEvent.snap-d.ts +330 -0
  910. package/src/core/_test/AbiEvent.test-d.ts +94 -0
  911. package/src/core/_test/AbiEvent.test.ts +1937 -0
  912. package/src/core/_test/AbiFunction.snap-d.ts +276 -0
  913. package/src/core/_test/AbiFunction.test.ts +1272 -0
  914. package/src/core/_test/AbiItem.snap-d.ts +131 -0
  915. package/src/core/_test/AbiItem.test.ts +2121 -0
  916. package/src/core/_test/AbiParameters.adversarial.fuzz.ts +142 -0
  917. package/src/core/_test/AbiParameters.decode.test.ts +1800 -0
  918. package/src/core/_test/AbiParameters.encode.test.ts +1965 -0
  919. package/src/core/_test/AbiParameters.fuzz.ts +37 -0
  920. package/src/core/_test/AbiParameters.snap-d.ts +66 -0
  921. package/src/core/_test/AbiParameters.test.ts +377 -0
  922. package/src/core/_test/AccessList.test.ts +94 -0
  923. package/src/core/_test/AccountProof.test.ts +116 -0
  924. package/src/core/_test/Address.test.ts +252 -0
  925. package/src/core/_test/AesGcm.test.ts +112 -0
  926. package/src/core/_test/Authorization.test.ts +621 -0
  927. package/src/core/_test/Base.fuzz.ts +43 -0
  928. package/src/core/_test/Base32.test.ts +67 -0
  929. package/src/core/_test/Base58.test.ts +85 -0
  930. package/src/core/_test/Base64.test.ts +106 -0
  931. package/src/core/_test/Bech32m.test.ts +259 -0
  932. package/src/core/_test/BinaryStateTree.test.ts +182 -0
  933. package/src/core/_test/BlobCells.test.ts +276 -0
  934. package/src/core/_test/Blobs.test.ts +924 -0
  935. package/src/core/_test/Block.test.ts +641 -0
  936. package/src/core/_test/BlockOverrides.test.ts +110 -0
  937. package/src/core/_test/Bloom.test.ts +122 -0
  938. package/src/core/_test/Bls.test.ts +350 -0
  939. package/src/core/_test/BlsPoint.test.ts +251 -0
  940. package/src/core/_test/Bytes.test.ts +1659 -0
  941. package/src/core/_test/Caches.test.ts +20 -0
  942. package/src/core/_test/Cbor.fuzz.ts +89 -0
  943. package/src/core/_test/Cbor.test.ts +769 -0
  944. package/src/core/_test/CompactSize.test.ts +176 -0
  945. package/src/core/_test/ContractAddress.test.ts +147 -0
  946. package/src/core/_test/CoseKey.test.ts +107 -0
  947. package/src/core/_test/Ed25519.test-d.ts +155 -0
  948. package/src/core/_test/Ed25519.test.ts +438 -0
  949. package/src/core/_test/Ens.test.ts +212 -0
  950. package/src/core/_test/Errors.test.ts +285 -0
  951. package/src/core/_test/Fee.test.ts +89 -0
  952. package/src/core/_test/Filter.test.ts +149 -0
  953. package/src/core/_test/Hash.test.ts +540 -0
  954. package/src/core/_test/HdKey.test.ts +106 -0
  955. package/src/core/_test/Hex.fuzz.ts +73 -0
  956. package/src/core/_test/Hex.test-d.ts +16 -0
  957. package/src/core/_test/Hex.test.ts +787 -0
  958. package/src/core/_test/Json.test.ts +201 -0
  959. package/src/core/_test/Keystore.test.ts +628 -0
  960. package/src/core/_test/Kzg.test.ts +220 -0
  961. package/src/core/_test/Log.test.ts +223 -0
  962. package/src/core/_test/Mnemonic.test.ts +337 -0
  963. package/src/core/_test/P256.test.ts +612 -0
  964. package/src/core/_test/PersonalMessage.test.ts +56 -0
  965. package/src/core/_test/Provider.test-d.ts +283 -0
  966. package/src/core/_test/Provider.test.ts +914 -0
  967. package/src/core/_test/PublicKey.test-d.ts +52 -0
  968. package/src/core/_test/PublicKey.test.ts +576 -0
  969. package/src/core/_test/Rlp.fuzz.ts +63 -0
  970. package/src/core/_test/Rlp.test-d.ts +21 -0
  971. package/src/core/_test/Rlp.test.ts +339 -0
  972. package/src/core/_test/RpcRequest.test.ts +212 -0
  973. package/src/core/_test/RpcResponse.test.ts +725 -0
  974. package/src/core/_test/RpcSchema.test-d.ts +118 -0
  975. package/src/core/_test/RpcSchema.test.ts +10 -0
  976. package/src/core/_test/RpcTransport.test.ts +255 -0
  977. package/src/core/_test/Secp256k1.snap-d.ts +44 -0
  978. package/src/core/_test/Secp256k1.test.ts +611 -0
  979. package/src/core/_test/Signature.fuzz.ts +66 -0
  980. package/src/core/_test/Signature.snap-d.ts +91 -0
  981. package/src/core/_test/Signature.test.ts +862 -0
  982. package/src/core/_test/Siwe.test.ts +792 -0
  983. package/src/core/_test/Solidity.test.ts +135 -0
  984. package/src/core/_test/StateOverrides.test.ts +104 -0
  985. package/src/core/_test/Transaction.test.ts +1975 -0
  986. package/src/core/_test/TransactionEnvelope.test-d.ts +182 -0
  987. package/src/core/_test/TransactionEnvelope.test.ts +384 -0
  988. package/src/core/_test/TransactionEnvelopeEip1559.test-d.ts +47 -0
  989. package/src/core/_test/TransactionEnvelopeEip1559.test.ts +790 -0
  990. package/src/core/_test/TransactionEnvelopeEip2930.test-d.ts +74 -0
  991. package/src/core/_test/TransactionEnvelopeEip2930.test.ts +592 -0
  992. package/src/core/_test/TransactionEnvelopeEip4844.test-d.ts +92 -0
  993. package/src/core/_test/TransactionEnvelopeEip4844.test.ts +795 -0
  994. package/src/core/_test/TransactionEnvelopeEip7702.test-d.ts +80 -0
  995. package/src/core/_test/TransactionEnvelopeEip7702.test.ts +984 -0
  996. package/src/core/_test/TransactionEnvelopeLegacy.test-d.ts +69 -0
  997. package/src/core/_test/TransactionEnvelopeLegacy.test.ts +949 -0
  998. package/src/core/_test/TransactionReceipt.test.ts +405 -0
  999. package/src/core/_test/TransactionRequest.test-d.ts +125 -0
  1000. package/src/core/_test/TransactionRequest.test.ts +430 -0
  1001. package/src/core/_test/TypedData.test-d.ts +151 -0
  1002. package/src/core/_test/TypedData.test.ts +1595 -0
  1003. package/src/core/_test/ValidatorData.test.ts +79 -0
  1004. package/src/core/_test/Value.test.ts +715 -0
  1005. package/src/core/_test/WebAuthnP256.test.ts +1833 -0
  1006. package/src/core/_test/WebCryptoP256.test.ts +279 -0
  1007. package/src/core/_test/Withdrawal.test.ts +51 -0
  1008. package/src/core/_test/X25519.test-d.ts +132 -0
  1009. package/src/core/_test/X25519.test.ts +361 -0
  1010. package/src/core/_test/_snap/Block.test.ts.snap +3436 -0
  1011. package/src/core/_test/index.test.ts +82 -0
  1012. package/src/core/_test/internal/base58.test.ts +11 -0
  1013. package/src/core/_test/internal/cursor.test.ts +649 -0
  1014. package/src/core/_test/internal/ens.test.ts +76 -0
  1015. package/src/core/_test/internal/lru.test.ts +38 -0
  1016. package/src/core/_test/internal/promise.test.ts +64 -0
  1017. package/src/core/_test/internal/rpcTransport.test.ts +47 -0
  1018. package/src/core/_test/internal/uid.test.ts +7 -0
  1019. package/src/core/_test/internal/webauthn.test.ts +43 -0
  1020. package/src/core/internal/abiConstructor.ts +33 -0
  1021. package/src/core/internal/abiError.ts +31 -0
  1022. package/src/core/internal/abiEvent.ts +155 -0
  1023. package/src/core/internal/abiFunction.ts +33 -0
  1024. package/src/core/internal/abiItem.ts +687 -0
  1025. package/src/core/internal/abiParameters.ts +821 -0
  1026. package/src/core/internal/address.ts +79 -0
  1027. package/src/core/internal/base58.ts +102 -0
  1028. package/src/core/internal/bytes.ts +139 -0
  1029. package/src/core/internal/codec/bech32-base32.ts +64 -0
  1030. package/src/core/internal/codec/errors.ts +30 -0
  1031. package/src/core/internal/codec/hex.ts +145 -0
  1032. package/src/core/internal/codec/int.ts +186 -0
  1033. package/src/core/internal/codec/utf8.ts +11 -0
  1034. package/src/core/internal/cryptoIo.ts +74 -0
  1035. package/src/core/internal/cursor.ts +254 -0
  1036. package/src/core/internal/ens.ts +65 -0
  1037. package/src/core/internal/hex.ts +116 -0
  1038. package/src/core/internal/lru.ts +58 -0
  1039. package/src/core/internal/mnemonic/wordlists.ts +10 -0
  1040. package/src/core/internal/promise.ts +66 -0
  1041. package/src/core/internal/quantity.ts +83 -0
  1042. package/src/core/internal/rpcSchemas/eth.ts +767 -0
  1043. package/src/core/internal/rpcSchemas/wallet.ts +460 -0
  1044. package/src/core/internal/rpcTransport.ts +74 -0
  1045. package/src/core/internal/signature.ts +10 -0
  1046. package/src/core/internal/tx.ts +185 -0
  1047. package/src/core/internal/types.ts +450 -0
  1048. package/src/core/internal/webauthn.ts +105 -0
  1049. package/src/erc4337/RpcSchema.ts +159 -0
  1050. package/src/erc4337/UserOperation.bench.ts +87 -0
  1051. package/src/erc4337/UserOperation.ts +1012 -0
  1052. package/src/erc4337/UserOperationGas.ts +116 -0
  1053. package/src/erc4337/_test/UserOperation.snap-d.ts +56 -0
  1054. package/src/erc4337/_test/UserOperation.test.ts +1502 -0
  1055. package/src/erc4337/_test/UserOperationGas.test.ts +93 -0
  1056. package/src/erc4337/_test/UserOperationReceipt.test.ts +403 -0
  1057. package/src/erc4337/index.ts +37 -0
  1058. package/src/erc6492/SignatureErc6492.bench.ts +21 -0
  1059. package/src/erc6492/SignatureErc6492.ts +290 -0
  1060. package/src/erc6492/_test/SignatureErc6492.test.ts +161 -0
  1061. package/src/erc6492/_test/index.test.ts +10 -0
  1062. package/src/erc6492/index.ts +28 -0
  1063. package/src/erc7821/Calls.bench.ts +36 -0
  1064. package/src/erc7821/Calls.ts +161 -0
  1065. package/src/erc7821/Execute.ts +197 -0
  1066. package/src/erc7821/_test/Calls.test.ts +214 -0
  1067. package/src/erc7821/_test/Execute.test.ts +548 -0
  1068. package/src/erc7821/index.ts +72 -0
  1069. package/src/erc8010/SignatureErc8010.ts +266 -0
  1070. package/src/erc8010/_test/SignatureErc8010.test.ts +211 -0
  1071. package/src/erc8010/_test/index.test.ts +10 -0
  1072. package/src/erc8010/index.ts +51 -0
  1073. package/src/erc8021/Attribution.bench.ts +25 -0
  1074. package/src/erc8021/Attribution.ts +516 -0
  1075. package/src/erc8021/_test/Attribution.test.ts +772 -0
  1076. package/src/erc8021/_test/index.test.ts +10 -0
  1077. package/src/erc8021/index.ts +45 -0
  1078. package/src/index.docs.ts +12 -0
  1079. package/src/index.ts +3829 -0
  1080. package/src/tempo/AuthorizationTempo.test.ts +1378 -0
  1081. package/src/tempo/AuthorizationTempo.ts +946 -0
  1082. package/src/tempo/Channel.test.ts +203 -0
  1083. package/src/tempo/Channel.ts +303 -0
  1084. package/src/tempo/KeyAuthorization.test.ts +2443 -0
  1085. package/src/tempo/KeyAuthorization.ts +1183 -0
  1086. package/src/tempo/MultisigConfig.test.ts +227 -0
  1087. package/src/tempo/MultisigConfig.ts +447 -0
  1088. package/src/tempo/Period.test.ts +44 -0
  1089. package/src/tempo/PoolId.test.ts +58 -0
  1090. package/src/tempo/PoolId.ts +42 -0
  1091. package/src/tempo/ReceivePolicyReceipt.test.ts +198 -0
  1092. package/src/tempo/ReceivePolicyReceipt.ts +274 -0
  1093. package/src/tempo/RpcSchemaTempo.ts +55 -0
  1094. package/src/tempo/SignatureEnvelope.test.ts +2933 -0
  1095. package/src/tempo/SignatureEnvelope.ts +1683 -0
  1096. package/src/tempo/Tick.test.ts +281 -0
  1097. package/src/tempo/TokenId.bench.ts +36 -0
  1098. package/src/tempo/TokenId.test.ts +79 -0
  1099. package/src/tempo/TokenId.ts +141 -0
  1100. package/src/tempo/TokenRole.test.ts +16 -0
  1101. package/src/tempo/Transaction.test.ts +529 -0
  1102. package/src/tempo/Transaction.ts +341 -0
  1103. package/src/tempo/TransactionReceipt.ts +200 -0
  1104. package/src/tempo/TransactionRequest.test-d.ts +118 -0
  1105. package/src/tempo/TransactionRequest.test.ts +324 -0
  1106. package/src/tempo/TransactionRequest.ts +382 -0
  1107. package/src/tempo/TxEnvelopeTempo.test.ts +1643 -0
  1108. package/src/tempo/TxEnvelopeTempo.ts +1167 -0
  1109. package/src/tempo/VirtualAddress.bench.ts +43 -0
  1110. package/src/tempo/VirtualAddress.test.ts +78 -0
  1111. package/src/tempo/VirtualAddress.ts +206 -0
  1112. package/src/tempo/VirtualMaster.bench.ts +42 -0
  1113. package/src/tempo/VirtualMaster.test.ts +194 -0
  1114. package/src/tempo/VirtualMaster.ts +732 -0
  1115. package/src/tempo/ZoneId.test.ts +42 -0
  1116. package/src/tempo/ZoneRpcAuthentication.test.ts +226 -0
  1117. package/src/tempo/ZoneRpcAuthentication.ts +427 -0
  1118. package/src/tempo/e2e.test.ts +3212 -0
  1119. package/src/tempo/index.ts +588 -0
  1120. package/src/trusted-setups/_test/Paths.test.ts +10 -0
  1121. package/src/trusted-setups/_test/index.test.ts +10 -0
  1122. package/src/tsconfig.json +15 -0
  1123. package/src/version.ts +2 -0
  1124. package/src/webauthn/Authentication.bench.ts +94 -0
  1125. package/src/webauthn/Authentication.ts +701 -0
  1126. package/src/webauthn/Authenticator.bench.ts +63 -0
  1127. package/src/webauthn/Authenticator.ts +306 -0
  1128. package/src/webauthn/Credential.ts +165 -0
  1129. package/src/webauthn/Registration.bench.ts +108 -0
  1130. package/src/webauthn/Registration.ts +825 -0
  1131. package/src/webauthn/_test/Authentication.browser.test.ts +755 -0
  1132. package/src/webauthn/_test/Authentication.test.ts +1871 -0
  1133. package/src/webauthn/_test/Authenticator.test.ts +57 -0
  1134. package/src/webauthn/_test/Credential.test.ts +147 -0
  1135. package/src/webauthn/_test/Registration.browser.test.ts +899 -0
  1136. package/src/webauthn/_test/Registration.test.ts +1050 -0
  1137. package/src/webauthn/index.ts +37 -0
  1138. package/src/webauthn/internal/utils.ts +149 -0
  1139. package/src/zod/AccessList.ts +21 -0
  1140. package/src/zod/AccountProof.ts +24 -0
  1141. package/src/zod/Address.ts +9 -0
  1142. package/src/zod/Authorization.ts +70 -0
  1143. package/src/zod/BigInt.ts +10 -0
  1144. package/src/zod/Block.ts +108 -0
  1145. package/src/zod/BlockOverrides.ts +17 -0
  1146. package/src/zod/Bytes.ts +59 -0
  1147. package/src/zod/Fee.ts +36 -0
  1148. package/src/zod/Filter.ts +52 -0
  1149. package/src/zod/Hash.ts +5 -0
  1150. package/src/zod/Hex.ts +89 -0
  1151. package/src/zod/Int.ts +98 -0
  1152. package/src/zod/Log.ts +36 -0
  1153. package/src/zod/Number.ts +10 -0
  1154. package/src/zod/RpcResponse.ts +28 -0
  1155. package/src/zod/RpcSchema.ts +182 -0
  1156. package/src/zod/Signature.ts +38 -0
  1157. package/src/zod/StateOverrides.ts +32 -0
  1158. package/src/zod/Transaction.ts +250 -0
  1159. package/src/zod/TransactionEnvelope.ts +147 -0
  1160. package/src/zod/TransactionReceipt.ts +70 -0
  1161. package/src/zod/TransactionRequest.ts +54 -0
  1162. package/src/zod/TxEnvelopeEip1559.ts +27 -0
  1163. package/src/zod/TxEnvelopeEip2930.ts +25 -0
  1164. package/src/zod/TxEnvelopeEip4844.ts +41 -0
  1165. package/src/zod/TxEnvelopeEip7702.ts +30 -0
  1166. package/src/zod/TxEnvelopeLegacy.ts +22 -0
  1167. package/src/zod/Uint.ts +95 -0
  1168. package/src/zod/Withdrawal.ts +13 -0
  1169. package/src/zod/_test/AccessList.test-d.ts +13 -0
  1170. package/src/zod/_test/AccessList.test.ts +44 -0
  1171. package/src/zod/_test/AccountProof.test-d.ts +19 -0
  1172. package/src/zod/_test/AccountProof.test.ts +102 -0
  1173. package/src/zod/_test/Address.test-d.ts +13 -0
  1174. package/src/zod/_test/Address.test.ts +17 -0
  1175. package/src/zod/_test/Authorization.test-d.ts +40 -0
  1176. package/src/zod/_test/Authorization.test.ts +148 -0
  1177. package/src/zod/_test/BigInt.test-d.ts +9 -0
  1178. package/src/zod/_test/BigInt.test.ts +9 -0
  1179. package/src/zod/_test/Block.test-d.ts +30 -0
  1180. package/src/zod/_test/Block.test.ts +231 -0
  1181. package/src/zod/_test/BlockOverrides.test-d.ts +13 -0
  1182. package/src/zod/_test/BlockOverrides.test.ts +99 -0
  1183. package/src/zod/_test/Bytes.test-d.ts +16 -0
  1184. package/src/zod/_test/Bytes.test.ts +26 -0
  1185. package/src/zod/_test/Fee.test-d.ts +31 -0
  1186. package/src/zod/_test/Fee.test.ts +91 -0
  1187. package/src/zod/_test/Filter.test-d.ts +25 -0
  1188. package/src/zod/_test/Filter.test.ts +89 -0
  1189. package/src/zod/_test/Hash.test-d.ts +9 -0
  1190. package/src/zod/_test/Hash.test.ts +11 -0
  1191. package/src/zod/_test/Hex.test-d.ts +11 -0
  1192. package/src/zod/_test/Hex.test.ts +42 -0
  1193. package/src/zod/_test/Int.test-d.ts +15 -0
  1194. package/src/zod/_test/Int.test.ts +43 -0
  1195. package/src/zod/_test/Log.test-d.ts +15 -0
  1196. package/src/zod/_test/Log.test.ts +132 -0
  1197. package/src/zod/_test/Number.test-d.ts +9 -0
  1198. package/src/zod/_test/Number.test.ts +11 -0
  1199. package/src/zod/_test/RpcResponse.test-d.ts +13 -0
  1200. package/src/zod/_test/RpcResponse.test.ts +88 -0
  1201. package/src/zod/_test/RpcSchema.test-d.ts +50 -0
  1202. package/src/zod/_test/RpcSchema.test.ts +235 -0
  1203. package/src/zod/_test/Signature.test-d.ts +25 -0
  1204. package/src/zod/_test/Signature.test.ts +49 -0
  1205. package/src/zod/_test/StateOverrides.test-d.ts +25 -0
  1206. package/src/zod/_test/StateOverrides.test.ts +80 -0
  1207. package/src/zod/_test/Transaction.test-d.ts +49 -0
  1208. package/src/zod/_test/Transaction.test.ts +200 -0
  1209. package/src/zod/_test/TransactionEnvelope.test-d.ts +35 -0
  1210. package/src/zod/_test/TransactionEnvelope.test.ts +204 -0
  1211. package/src/zod/_test/TransactionReceipt.test-d.ts +25 -0
  1212. package/src/zod/_test/TransactionReceipt.test.ts +215 -0
  1213. package/src/zod/_test/TransactionRequest.test-d.ts +13 -0
  1214. package/src/zod/_test/TransactionRequest.test.ts +191 -0
  1215. package/src/zod/_test/TxEnvelope.test-d.ts +67 -0
  1216. package/src/zod/_test/TxEnvelope.test.ts +177 -0
  1217. package/src/zod/_test/Uint.test-d.ts +15 -0
  1218. package/src/zod/_test/Uint.test.ts +45 -0
  1219. package/src/zod/_test/Withdrawal.test-d.ts +13 -0
  1220. package/src/zod/_test/Withdrawal.test.ts +38 -0
  1221. package/src/zod/_test/z.test-d.ts +67 -0
  1222. package/src/zod/_test/z.test.ts +195 -0
  1223. package/src/zod/index.ts +19 -0
  1224. package/src/zod/internal/Integer.ts +73 -0
  1225. package/src/zod/internal/TransactionEnvelope.ts +64 -0
  1226. package/src/zod/internal/rpcSchemas/Eth.ts +337 -0
  1227. package/src/zod/internal/rpcSchemas/Wallet.ts +250 -0
  1228. package/src/zod/internal/rpcSchemas/from.ts +52 -0
  1229. package/src/zod/tempo/AuthorizationTempo.ts +73 -0
  1230. package/src/zod/tempo/KeyAuthorization.ts +70 -0
  1231. package/src/zod/tempo/MultisigConfig.ts +17 -0
  1232. package/src/zod/tempo/PoolId.ts +5 -0
  1233. package/src/zod/tempo/RpcSchemaTempo.ts +87 -0
  1234. package/src/zod/tempo/SignatureEnvelope.ts +319 -0
  1235. package/src/zod/tempo/Tick.ts +16 -0
  1236. package/src/zod/tempo/TokenId.ts +15 -0
  1237. package/src/zod/tempo/TokenRole.ts +6 -0
  1238. package/src/zod/tempo/Transaction.ts +83 -0
  1239. package/src/zod/tempo/TransactionReceipt.ts +74 -0
  1240. package/src/zod/tempo/TransactionRequest.ts +295 -0
  1241. package/src/zod/tempo/TxEnvelopeTempo.ts +69 -0
  1242. package/src/zod/tempo/VirtualAddress.ts +23 -0
  1243. package/src/zod/tempo/ZoneId.ts +19 -0
  1244. package/src/zod/tempo/ZoneRpcAuthentication.ts +46 -0
  1245. package/src/zod/tempo/_test/AuthorizationTempo.test-d.ts +10 -0
  1246. package/src/zod/tempo/_test/AuthorizationTempo.test.ts +50 -0
  1247. package/src/zod/tempo/_test/KeyAuthorization.test-d.ts +13 -0
  1248. package/src/zod/tempo/_test/KeyAuthorization.test.ts +58 -0
  1249. package/src/zod/tempo/_test/PoolId.test-d.ts +8 -0
  1250. package/src/zod/tempo/_test/PoolId.test.ts +16 -0
  1251. package/src/zod/tempo/_test/RpcSchemaTempo.test-d.ts +22 -0
  1252. package/src/zod/tempo/_test/RpcSchemaTempo.test.ts +56 -0
  1253. package/src/zod/tempo/_test/SignatureEnvelope.test-d.ts +19 -0
  1254. package/src/zod/tempo/_test/SignatureEnvelope.test.ts +60 -0
  1255. package/src/zod/tempo/_test/Tick.test-d.ts +8 -0
  1256. package/src/zod/tempo/_test/Tick.test.ts +20 -0
  1257. package/src/zod/tempo/_test/TokenId.test-d.ts +17 -0
  1258. package/src/zod/tempo/_test/TokenId.test.ts +21 -0
  1259. package/src/zod/tempo/_test/TokenRole.test-d.ts +10 -0
  1260. package/src/zod/tempo/_test/TokenRole.test.ts +18 -0
  1261. package/src/zod/tempo/_test/Transaction.test-d.ts +10 -0
  1262. package/src/zod/tempo/_test/Transaction.test.ts +88 -0
  1263. package/src/zod/tempo/_test/TransactionReceipt.test-d.ts +13 -0
  1264. package/src/zod/tempo/_test/TransactionReceipt.test.ts +54 -0
  1265. package/src/zod/tempo/_test/TransactionRequest.test-d.ts +13 -0
  1266. package/src/zod/tempo/_test/TransactionRequest.test.ts +54 -0
  1267. package/src/zod/tempo/_test/TxEnvelopeTempo.test-d.ts +16 -0
  1268. package/src/zod/tempo/_test/TxEnvelopeTempo.test.ts +79 -0
  1269. package/src/zod/tempo/_test/VirtualAddress.test-d.ts +13 -0
  1270. package/src/zod/tempo/_test/VirtualAddress.test.ts +37 -0
  1271. package/src/zod/tempo/_test/ZoneId.test.ts +17 -0
  1272. package/src/zod/tempo/_test/ZoneRpcAuthentication.test-d.ts +16 -0
  1273. package/src/zod/tempo/_test/ZoneRpcAuthentication.test.ts +47 -0
  1274. package/src/zod/tempo/z.ts +17 -0
  1275. package/src/zod/z.ts +101 -0
  1276. package/Abi/package.json +0 -6
  1277. package/AbiConstructor/package.json +0 -6
  1278. package/AbiError/package.json +0 -6
  1279. package/AbiEvent/package.json +0 -6
  1280. package/AbiFunction/package.json +0 -6
  1281. package/AbiItem/package.json +0 -6
  1282. package/AbiParameters/package.json +0 -6
  1283. package/AccessList/package.json +0 -6
  1284. package/AccountProof/package.json +0 -6
  1285. package/Address/package.json +0 -6
  1286. package/AesGcm/package.json +0 -6
  1287. package/Authorization/package.json +0 -6
  1288. package/Base32/package.json +0 -6
  1289. package/Base58/package.json +0 -6
  1290. package/Base64/package.json +0 -6
  1291. package/Bech32m/package.json +0 -6
  1292. package/BinaryStateTree/package.json +0 -6
  1293. package/Blobs/package.json +0 -6
  1294. package/Block/package.json +0 -6
  1295. package/BlockOverrides/package.json +0 -6
  1296. package/Bloom/package.json +0 -6
  1297. package/Bls/package.json +0 -6
  1298. package/BlsPoint/package.json +0 -6
  1299. package/Bytes/package.json +0 -6
  1300. package/CHANGELOG.md +0 -818
  1301. package/Caches/package.json +0 -6
  1302. package/Cbor/package.json +0 -6
  1303. package/CompactSize/package.json +0 -6
  1304. package/ContractAddress/package.json +0 -6
  1305. package/CoseKey/package.json +0 -6
  1306. package/Ed25519/package.json +0 -6
  1307. package/Ens/package.json +0 -6
  1308. package/Errors/package.json +0 -6
  1309. package/Fee/package.json +0 -6
  1310. package/Filter/package.json +0 -6
  1311. package/Hash/package.json +0 -6
  1312. package/HdKey/package.json +0 -6
  1313. package/Hex/package.json +0 -6
  1314. package/Json/package.json +0 -6
  1315. package/Keystore/package.json +0 -6
  1316. package/Kzg/package.json +0 -6
  1317. package/Log/package.json +0 -6
  1318. package/Mnemonic/package.json +0 -6
  1319. package/P256/package.json +0 -6
  1320. package/PersonalMessage/package.json +0 -6
  1321. package/Provider/package.json +0 -6
  1322. package/PublicKey/package.json +0 -6
  1323. package/README.md +0 -93
  1324. package/Rlp/package.json +0 -6
  1325. package/RpcRequest/package.json +0 -6
  1326. package/RpcResponse/package.json +0 -6
  1327. package/RpcSchema/package.json +0 -6
  1328. package/RpcTransport/package.json +0 -6
  1329. package/Secp256k1/package.json +0 -6
  1330. package/Signature/package.json +0 -6
  1331. package/Siwe/package.json +0 -6
  1332. package/Solidity/package.json +0 -6
  1333. package/StateOverrides/package.json +0 -6
  1334. package/Transaction/package.json +0 -6
  1335. package/TransactionReceipt/package.json +0 -6
  1336. package/TransactionRequest/package.json +0 -6
  1337. package/TxEnvelope/package.json +0 -6
  1338. package/TxEnvelopeEip1559/package.json +0 -6
  1339. package/TxEnvelopeEip2930/package.json +0 -6
  1340. package/TxEnvelopeEip4844/package.json +0 -6
  1341. package/TxEnvelopeEip7702/package.json +0 -6
  1342. package/TxEnvelopeLegacy/package.json +0 -6
  1343. package/TypedData/package.json +0 -6
  1344. package/ValidatorData/package.json +0 -6
  1345. package/Value/package.json +0 -6
  1346. package/WebAuthnP256/package.json +0 -6
  1347. package/WebCryptoP256/package.json +0 -6
  1348. package/Withdrawal/package.json +0 -6
  1349. package/X25519/package.json +0 -6
  1350. package/_cjs/core/Abi.js +0 -15
  1351. package/_cjs/core/Abi.js.map +0 -1
  1352. package/_cjs/core/AbiConstructor.js +0 -51
  1353. package/_cjs/core/AbiConstructor.js.map +0 -1
  1354. package/_cjs/core/AbiError.js +0 -108
  1355. package/_cjs/core/AbiError.js.map +0 -1
  1356. package/_cjs/core/AbiEvent.js +0 -348
  1357. package/_cjs/core/AbiEvent.js.map +0 -1
  1358. package/_cjs/core/AbiFunction.js +0 -107
  1359. package/_cjs/core/AbiFunction.js.map +0 -1
  1360. package/_cjs/core/AbiItem.js +0 -195
  1361. package/_cjs/core/AbiItem.js.map +0 -1
  1362. package/_cjs/core/AbiParameters.js +0 -227
  1363. package/_cjs/core/AbiParameters.js.map +0 -1
  1364. package/_cjs/core/AccessList.js +0 -51
  1365. package/_cjs/core/AccessList.js.map +0 -1
  1366. package/_cjs/core/AccountProof.js +0 -3
  1367. package/_cjs/core/AccountProof.js.map +0 -1
  1368. package/_cjs/core/Address.js +0 -116
  1369. package/_cjs/core/Address.js.map +0 -1
  1370. package/_cjs/core/AesGcm.js +0 -51
  1371. package/_cjs/core/AesGcm.js.map +0 -1
  1372. package/_cjs/core/Authorization.js +0 -96
  1373. package/_cjs/core/Authorization.js.map +0 -1
  1374. package/_cjs/core/Base32.js +0 -73
  1375. package/_cjs/core/Base32.js.map +0 -1
  1376. package/_cjs/core/Base58.js +0 -46
  1377. package/_cjs/core/Base58.js.map +0 -1
  1378. package/_cjs/core/Base64.js +0 -70
  1379. package/_cjs/core/Base64.js.map +0 -1
  1380. package/_cjs/core/Bech32m.js +0 -205
  1381. package/_cjs/core/Bech32m.js.map +0 -1
  1382. package/_cjs/core/BinaryStateTree.js +0 -141
  1383. package/_cjs/core/BinaryStateTree.js.map +0 -1
  1384. package/_cjs/core/Blobs.js +0 -244
  1385. package/_cjs/core/Blobs.js.map +0 -1
  1386. package/_cjs/core/Block.js +0 -85
  1387. package/_cjs/core/Block.js.map +0 -1
  1388. package/_cjs/core/BlockOverrides.js +0 -63
  1389. package/_cjs/core/BlockOverrides.js.map +0 -1
  1390. package/_cjs/core/Bloom.js +0 -21
  1391. package/_cjs/core/Bloom.js.map +0 -1
  1392. package/_cjs/core/Bls.js +0 -86
  1393. package/_cjs/core/Bls.js.map +0 -1
  1394. package/_cjs/core/BlsPoint.js +0 -28
  1395. package/_cjs/core/BlsPoint.js.map +0 -1
  1396. package/_cjs/core/Bytes.js +0 -257
  1397. package/_cjs/core/Bytes.js.map +0 -1
  1398. package/_cjs/core/Caches.js +0 -14
  1399. package/_cjs/core/Caches.js.map +0 -1
  1400. package/_cjs/core/Cbor.js +0 -748
  1401. package/_cjs/core/Cbor.js.map +0 -1
  1402. package/_cjs/core/CompactSize.js +0 -91
  1403. package/_cjs/core/CompactSize.js.map +0 -1
  1404. package/_cjs/core/ContractAddress.js +0 -36
  1405. package/_cjs/core/ContractAddress.js.map +0 -1
  1406. package/_cjs/core/CoseKey.js +0 -41
  1407. package/_cjs/core/CoseKey.js.map +0 -1
  1408. package/_cjs/core/Ed25519.js +0 -71
  1409. package/_cjs/core/Ed25519.js.map +0 -1
  1410. package/_cjs/core/Ens.js +0 -34
  1411. package/_cjs/core/Ens.js.map +0 -1
  1412. package/_cjs/core/Errors.js +0 -139
  1413. package/_cjs/core/Errors.js.map +0 -1
  1414. package/_cjs/core/Fee.js +0 -3
  1415. package/_cjs/core/Fee.js.map +0 -1
  1416. package/_cjs/core/Filter.js +0 -41
  1417. package/_cjs/core/Filter.js.map +0 -1
  1418. package/_cjs/core/Hash.js +0 -45
  1419. package/_cjs/core/Hash.js.map +0 -1
  1420. package/_cjs/core/HdKey.js +0 -26
  1421. package/_cjs/core/HdKey.js.map +0 -1
  1422. package/_cjs/core/Hex.js +0 -301
  1423. package/_cjs/core/Hex.js.map +0 -1
  1424. package/_cjs/core/Json.js +0 -49
  1425. package/_cjs/core/Json.js.map +0 -1
  1426. package/_cjs/core/Keystore.js +0 -183
  1427. package/_cjs/core/Keystore.js.map +0 -1
  1428. package/_cjs/core/Kzg.js +0 -13
  1429. package/_cjs/core/Kzg.js.map +0 -1
  1430. package/_cjs/core/Log.js +0 -33
  1431. package/_cjs/core/Log.js.map +0 -1
  1432. package/_cjs/core/Mnemonic.js +0 -51
  1433. package/_cjs/core/Mnemonic.js.map +0 -1
  1434. package/_cjs/core/P256.js +0 -79
  1435. package/_cjs/core/P256.js.map +0 -1
  1436. package/_cjs/core/PersonalMessage.js +0 -14
  1437. package/_cjs/core/PersonalMessage.js.map +0 -1
  1438. package/_cjs/core/Provider.js +0 -436
  1439. package/_cjs/core/Provider.js.map +0 -1
  1440. package/_cjs/core/PublicKey.js +0 -186
  1441. package/_cjs/core/PublicKey.js.map +0 -1
  1442. package/_cjs/core/Rlp.js +0 -173
  1443. package/_cjs/core/Rlp.js.map +0 -1
  1444. package/_cjs/core/RpcRequest.js +0 -25
  1445. package/_cjs/core/RpcRequest.js.map +0 -1
  1446. package/_cjs/core/RpcResponse.js +0 -444
  1447. package/_cjs/core/RpcResponse.js.map +0 -1
  1448. package/_cjs/core/RpcSchema.js +0 -7
  1449. package/_cjs/core/RpcSchema.js.map +0 -1
  1450. package/_cjs/core/RpcTransport.js +0 -94
  1451. package/_cjs/core/RpcTransport.js.map +0 -1
  1452. package/_cjs/core/Secp256k1.js +0 -80
  1453. package/_cjs/core/Secp256k1.js.map +0 -1
  1454. package/_cjs/core/Signature.js +0 -288
  1455. package/_cjs/core/Signature.js.map +0 -1
  1456. package/_cjs/core/Siwe.js +0 -230
  1457. package/_cjs/core/Siwe.js.map +0 -1
  1458. package/_cjs/core/Solidity.js +0 -104
  1459. package/_cjs/core/Solidity.js.map +0 -1
  1460. package/_cjs/core/StateOverrides.js +0 -48
  1461. package/_cjs/core/StateOverrides.js.map +0 -1
  1462. package/_cjs/core/Transaction.js +0 -114
  1463. package/_cjs/core/Transaction.js.map +0 -1
  1464. package/_cjs/core/TransactionReceipt.js +0 -74
  1465. package/_cjs/core/TransactionReceipt.js.map +0 -1
  1466. package/_cjs/core/TransactionRequest.js +0 -78
  1467. package/_cjs/core/TransactionRequest.js.map +0 -1
  1468. package/_cjs/core/TxEnvelope.js +0 -80
  1469. package/_cjs/core/TxEnvelope.js.map +0 -1
  1470. package/_cjs/core/TxEnvelopeEip1559.js +0 -174
  1471. package/_cjs/core/TxEnvelopeEip1559.js.map +0 -1
  1472. package/_cjs/core/TxEnvelopeEip2930.js +0 -158
  1473. package/_cjs/core/TxEnvelopeEip2930.js.map +0 -1
  1474. package/_cjs/core/TxEnvelopeEip4844.js +0 -216
  1475. package/_cjs/core/TxEnvelopeEip4844.js.map +0 -1
  1476. package/_cjs/core/TxEnvelopeEip7702.js +0 -149
  1477. package/_cjs/core/TxEnvelopeEip7702.js.map +0 -1
  1478. package/_cjs/core/TxEnvelopeLegacy.js +0 -213
  1479. package/_cjs/core/TxEnvelopeLegacy.js.map +0 -1
  1480. package/_cjs/core/TypedData.js +0 -325
  1481. package/_cjs/core/TypedData.js.map +0 -1
  1482. package/_cjs/core/ValidatorData.js +0 -14
  1483. package/_cjs/core/ValidatorData.js.map +0 -1
  1484. package/_cjs/core/Value.js +0 -90
  1485. package/_cjs/core/Value.js.map +0 -1
  1486. package/_cjs/core/WebAuthnP256.js +0 -26
  1487. package/_cjs/core/WebAuthnP256.js.map +0 -1
  1488. package/_cjs/core/WebCryptoP256.js +0 -76
  1489. package/_cjs/core/WebCryptoP256.js.map +0 -1
  1490. package/_cjs/core/Withdrawal.js +0 -22
  1491. package/_cjs/core/Withdrawal.js.map +0 -1
  1492. package/_cjs/core/X25519.js +0 -45
  1493. package/_cjs/core/X25519.js.map +0 -1
  1494. package/_cjs/core/internal/abi.js +0 -11
  1495. package/_cjs/core/internal/abi.js.map +0 -1
  1496. package/_cjs/core/internal/abiConstructor.js +0 -3
  1497. package/_cjs/core/internal/abiConstructor.js.map +0 -1
  1498. package/_cjs/core/internal/abiError.js +0 -3
  1499. package/_cjs/core/internal/abiError.js.map +0 -1
  1500. package/_cjs/core/internal/abiEvent.js +0 -3
  1501. package/_cjs/core/internal/abiEvent.js.map +0 -1
  1502. package/_cjs/core/internal/abiFunction.js +0 -3
  1503. package/_cjs/core/internal/abiFunction.js.map +0 -1
  1504. package/_cjs/core/internal/abiItem.js +0 -110
  1505. package/_cjs/core/internal/abiItem.js.map +0 -1
  1506. package/_cjs/core/internal/abiParameters.js +0 -422
  1507. package/_cjs/core/internal/abiParameters.js.map +0 -1
  1508. package/_cjs/core/internal/base58.js +0 -88
  1509. package/_cjs/core/internal/base58.js.map +0 -1
  1510. package/_cjs/core/internal/bytes.js +0 -88
  1511. package/_cjs/core/internal/bytes.js.map +0 -1
  1512. package/_cjs/core/internal/cursor.js +0 -210
  1513. package/_cjs/core/internal/cursor.js.map +0 -1
  1514. package/_cjs/core/internal/ens.js +0 -43
  1515. package/_cjs/core/internal/ens.js.map +0 -1
  1516. package/_cjs/core/internal/entropy.js +0 -9
  1517. package/_cjs/core/internal/entropy.js.map +0 -1
  1518. package/_cjs/core/internal/errors.js +0 -28
  1519. package/_cjs/core/internal/errors.js.map +0 -1
  1520. package/_cjs/core/internal/hdKey.js +0 -19
  1521. package/_cjs/core/internal/hdKey.js.map +0 -1
  1522. package/_cjs/core/internal/hex.js +0 -68
  1523. package/_cjs/core/internal/hex.js.map +0 -1
  1524. package/_cjs/core/internal/lru.js +0 -34
  1525. package/_cjs/core/internal/lru.js.map +0 -1
  1526. package/_cjs/core/internal/mnemonic/wordlists.js +0 -24
  1527. package/_cjs/core/internal/mnemonic/wordlists.js.map +0 -1
  1528. package/_cjs/core/internal/promise.js +0 -48
  1529. package/_cjs/core/internal/promise.js.map +0 -1
  1530. package/_cjs/core/internal/register.js +0 -3
  1531. package/_cjs/core/internal/register.js.map +0 -1
  1532. package/_cjs/core/internal/rpcSchema.js +0 -3
  1533. package/_cjs/core/internal/rpcSchema.js.map +0 -1
  1534. package/_cjs/core/internal/rpcSchemas/eth.js +0 -3
  1535. package/_cjs/core/internal/rpcSchemas/eth.js.map +0 -1
  1536. package/_cjs/core/internal/rpcSchemas/wallet.js +0 -3
  1537. package/_cjs/core/internal/rpcSchemas/wallet.js.map +0 -1
  1538. package/_cjs/core/internal/rpcTransport.js +0 -18
  1539. package/_cjs/core/internal/rpcTransport.js.map +0 -1
  1540. package/_cjs/core/internal/types.js +0 -3
  1541. package/_cjs/core/internal/types.js.map +0 -1
  1542. package/_cjs/core/internal/uid.js +0 -17
  1543. package/_cjs/core/internal/uid.js.map +0 -1
  1544. package/_cjs/core/internal/webauthn.js +0 -48
  1545. package/_cjs/core/internal/webauthn.js.map +0 -1
  1546. package/_cjs/core/version.js +0 -5
  1547. package/_cjs/core/version.js.map +0 -1
  1548. package/_cjs/erc4337/EntryPoint.js +0 -2011
  1549. package/_cjs/erc4337/EntryPoint.js.map +0 -1
  1550. package/_cjs/erc4337/RpcSchema.js +0 -3
  1551. package/_cjs/erc4337/RpcSchema.js.map +0 -1
  1552. package/_cjs/erc4337/UserOperation.js +0 -265
  1553. package/_cjs/erc4337/UserOperation.js.map +0 -1
  1554. package/_cjs/erc4337/UserOperationGas.js +0 -31
  1555. package/_cjs/erc4337/UserOperationGas.js.map +0 -1
  1556. package/_cjs/erc4337/UserOperationReceipt.js +0 -35
  1557. package/_cjs/erc4337/UserOperationReceipt.js.map +0 -1
  1558. package/_cjs/erc4337/index.js +0 -9
  1559. package/_cjs/erc4337/index.js.map +0 -1
  1560. package/_cjs/erc6492/SignatureErc6492.js +0 -101
  1561. package/_cjs/erc6492/SignatureErc6492.js.map +0 -1
  1562. package/_cjs/erc6492/index.js +0 -5
  1563. package/_cjs/erc6492/index.js.map +0 -1
  1564. package/_cjs/erc7821/Calls.js +0 -39
  1565. package/_cjs/erc7821/Calls.js.map +0 -1
  1566. package/_cjs/erc7821/Execute.js +0 -75
  1567. package/_cjs/erc7821/Execute.js.map +0 -1
  1568. package/_cjs/erc7821/index.js +0 -6
  1569. package/_cjs/erc7821/index.js.map +0 -1
  1570. package/_cjs/erc8010/SignatureErc8010.js +0 -90
  1571. package/_cjs/erc8010/SignatureErc8010.js.map +0 -1
  1572. package/_cjs/erc8010/index.js +0 -5
  1573. package/_cjs/erc8010/index.js.map +0 -1
  1574. package/_cjs/erc8021/Attribution.js +0 -170
  1575. package/_cjs/erc8021/Attribution.js.map +0 -1
  1576. package/_cjs/erc8021/index.js +0 -5
  1577. package/_cjs/erc8021/index.js.map +0 -1
  1578. package/_cjs/index.docs.js +0 -12
  1579. package/_cjs/index.docs.js.map +0 -1
  1580. package/_cjs/index.js +0 -77
  1581. package/_cjs/index.js.map +0 -1
  1582. package/_cjs/package.json +0 -1
  1583. package/_cjs/tempo/AuthorizationTempo.js +0 -106
  1584. package/_cjs/tempo/AuthorizationTempo.js.map +0 -1
  1585. package/_cjs/tempo/Channel.js +0 -71
  1586. package/_cjs/tempo/Channel.js.map +0 -1
  1587. package/_cjs/tempo/KeyAuthorization.js +0 -366
  1588. package/_cjs/tempo/KeyAuthorization.js.map +0 -1
  1589. package/_cjs/tempo/MultisigConfig.js +0 -127
  1590. package/_cjs/tempo/MultisigConfig.js.map +0 -1
  1591. package/_cjs/tempo/Period.js +0 -31
  1592. package/_cjs/tempo/Period.js.map +0 -1
  1593. package/_cjs/tempo/PoolId.js +0 -10
  1594. package/_cjs/tempo/PoolId.js.map +0 -1
  1595. package/_cjs/tempo/ReceivePolicyReceipt.js +0 -80
  1596. package/_cjs/tempo/ReceivePolicyReceipt.js.map +0 -1
  1597. package/_cjs/tempo/RpcSchemaTempo.js +0 -3
  1598. package/_cjs/tempo/RpcSchemaTempo.js.map +0 -1
  1599. package/_cjs/tempo/SignatureEnvelope.js +0 -622
  1600. package/_cjs/tempo/SignatureEnvelope.js.map +0 -1
  1601. package/_cjs/tempo/TempoAddress.js +0 -49
  1602. package/_cjs/tempo/TempoAddress.js.map +0 -1
  1603. package/_cjs/tempo/Tick.js +0 -77
  1604. package/_cjs/tempo/Tick.js.map +0 -1
  1605. package/_cjs/tempo/TokenId.js +0 -41
  1606. package/_cjs/tempo/TokenId.js.map +0 -1
  1607. package/_cjs/tempo/TokenRole.js +0 -26
  1608. package/_cjs/tempo/TokenRole.js.map +0 -1
  1609. package/_cjs/tempo/Transaction.js +0 -80
  1610. package/_cjs/tempo/Transaction.js.map +0 -1
  1611. package/_cjs/tempo/TransactionReceipt.js +0 -26
  1612. package/_cjs/tempo/TransactionReceipt.js.map +0 -1
  1613. package/_cjs/tempo/TransactionRequest.js +0 -96
  1614. package/_cjs/tempo/TransactionRequest.js.map +0 -1
  1615. package/_cjs/tempo/TxEnvelopeTempo.js +0 -315
  1616. package/_cjs/tempo/TxEnvelopeTempo.js.map +0 -1
  1617. package/_cjs/tempo/VirtualAddress.js +0 -70
  1618. package/_cjs/tempo/VirtualAddress.js.map +0 -1
  1619. package/_cjs/tempo/VirtualMaster.js +0 -278
  1620. package/_cjs/tempo/VirtualMaster.js.map +0 -1
  1621. package/_cjs/tempo/ZoneId.js +0 -13
  1622. package/_cjs/tempo/ZoneId.js.map +0 -1
  1623. package/_cjs/tempo/ZoneRpcAuthentication.js +0 -101
  1624. package/_cjs/tempo/ZoneRpcAuthentication.js.map +0 -1
  1625. package/_cjs/tempo/index.js +0 -25
  1626. package/_cjs/tempo/index.js.map +0 -1
  1627. package/_cjs/tempo/internal/mine.wasm.js +0 -6
  1628. package/_cjs/tempo/internal/mine.wasm.js.map +0 -1
  1629. package/_cjs/tempo/internal/virtualMasterPool.js +0 -187
  1630. package/_cjs/tempo/internal/virtualMasterPool.js.map +0 -1
  1631. package/_cjs/trusted-setups/Paths.js +0 -6
  1632. package/_cjs/trusted-setups/Paths.js.map +0 -1
  1633. package/_cjs/trusted-setups/index.js +0 -5
  1634. package/_cjs/trusted-setups/index.js.map +0 -1
  1635. package/_cjs/trusted-setups/internal/paths.js +0 -11
  1636. package/_cjs/trusted-setups/internal/paths.js.map +0 -1
  1637. package/_cjs/version.js +0 -5
  1638. package/_cjs/version.js.map +0 -1
  1639. package/_cjs/webauthn/Authentication.js +0 -257
  1640. package/_cjs/webauthn/Authentication.js.map +0 -1
  1641. package/_cjs/webauthn/Authenticator.js +0 -55
  1642. package/_cjs/webauthn/Authenticator.js.map +0 -1
  1643. package/_cjs/webauthn/Credential.js +0 -66
  1644. package/_cjs/webauthn/Credential.js.map +0 -1
  1645. package/_cjs/webauthn/Registration.js +0 -359
  1646. package/_cjs/webauthn/Registration.js.map +0 -1
  1647. package/_cjs/webauthn/Types.js +0 -3
  1648. package/_cjs/webauthn/Types.js.map +0 -1
  1649. package/_cjs/webauthn/index.js +0 -9
  1650. package/_cjs/webauthn/index.js.map +0 -1
  1651. package/_cjs/webauthn/internal/utils.js +0 -53
  1652. package/_cjs/webauthn/internal/utils.js.map +0 -1
  1653. package/_cjs/window/index.js +0 -3
  1654. package/_cjs/window/index.js.map +0 -1
  1655. package/_esm/core/Abi.js +0 -13
  1656. package/_esm/core/Abi.js.map +0 -1
  1657. package/_esm/core/AbiConstructor.js +0 -49
  1658. package/_esm/core/AbiConstructor.js.map +0 -1
  1659. package/_esm/core/AbiError.js +0 -315
  1660. package/_esm/core/AbiError.js.map +0 -1
  1661. package/_esm/core/AbiEvent.js +0 -852
  1662. package/_esm/core/AbiEvent.js.map +0 -1
  1663. package/_esm/core/AbiFunction.js +0 -332
  1664. package/_esm/core/AbiFunction.js.map +0 -1
  1665. package/_esm/core/AbiItem.js +0 -492
  1666. package/_esm/core/AbiItem.js.map +0 -1
  1667. package/_esm/core/AbiParameters.js +0 -532
  1668. package/_esm/core/AbiParameters.js.map +0 -1
  1669. package/_esm/core/AccessList.js +0 -105
  1670. package/_esm/core/AccessList.js.map +0 -1
  1671. package/_esm/core/AccountProof.js +0 -2
  1672. package/_esm/core/AccountProof.js.map +0 -1
  1673. package/_esm/core/Address.js +0 -255
  1674. package/_esm/core/Address.js.map +0 -1
  1675. package/_esm/core/AesGcm.js +0 -112
  1676. package/_esm/core/AesGcm.js.map +0 -1
  1677. package/_esm/core/Authorization.js +0 -416
  1678. package/_esm/core/Authorization.js.map +0 -1
  1679. package/_esm/core/Base32.js +0 -119
  1680. package/_esm/core/Base32.js.map +0 -1
  1681. package/_esm/core/Base58.js +0 -124
  1682. package/_esm/core/Base58.js.map +0 -1
  1683. package/_esm/core/Base64.js +0 -218
  1684. package/_esm/core/Base64.js.map +0 -1
  1685. package/_esm/core/Bech32m.js +0 -238
  1686. package/_esm/core/Bech32m.js.map +0 -1
  1687. package/_esm/core/BinaryStateTree.js +0 -196
  1688. package/_esm/core/BinaryStateTree.js.map +0 -1
  1689. package/_esm/core/Blobs.js +0 -596
  1690. package/_esm/core/Blobs.js.map +0 -1
  1691. package/_esm/core/Block.js +0 -171
  1692. package/_esm/core/Block.js.map +0 -1
  1693. package/_esm/core/BlockOverrides.js +0 -117
  1694. package/_esm/core/BlockOverrides.js.map +0 -1
  1695. package/_esm/core/Bloom.js +0 -52
  1696. package/_esm/core/Bloom.js.map +0 -1
  1697. package/_esm/core/Bls.js +0 -242
  1698. package/_esm/core/Bls.js.map +0 -1
  1699. package/_esm/core/BlsPoint.js +0 -51
  1700. package/_esm/core/BlsPoint.js.map +0 -1
  1701. package/_esm/core/Bytes.js +0 -666
  1702. package/_esm/core/Bytes.js.map +0 -1
  1703. package/_esm/core/Caches.js +0 -19
  1704. package/_esm/core/Caches.js.map +0 -1
  1705. package/_esm/core/Cbor.js +0 -830
  1706. package/_esm/core/Cbor.js.map +0 -1
  1707. package/_esm/core/CompactSize.js +0 -150
  1708. package/_esm/core/CompactSize.js.map +0 -1
  1709. package/_esm/core/ContractAddress.js +0 -101
  1710. package/_esm/core/ContractAddress.js.map +0 -1
  1711. package/_esm/core/CoseKey.js +0 -74
  1712. package/_esm/core/CoseKey.js.map +0 -1
  1713. package/_esm/core/Ed25519.js +0 -173
  1714. package/_esm/core/Ed25519.js.map +0 -1
  1715. package/_esm/core/Ens.js +0 -75
  1716. package/_esm/core/Ens.js.map +0 -1
  1717. package/_esm/core/Errors.js +0 -145
  1718. package/_esm/core/Errors.js.map +0 -1
  1719. package/_esm/core/Fee.js +0 -2
  1720. package/_esm/core/Fee.js.map +0 -1
  1721. package/_esm/core/Filter.js +0 -94
  1722. package/_esm/core/Filter.js.map +0 -1
  1723. package/_esm/core/Hash.js +0 -154
  1724. package/_esm/core/Hash.js.map +0 -1
  1725. package/_esm/core/HdKey.js +0 -96
  1726. package/_esm/core/HdKey.js.map +0 -1
  1727. package/_esm/core/Hex.js +0 -716
  1728. package/_esm/core/Hex.js.map +0 -1
  1729. package/_esm/core/Json.js +0 -108
  1730. package/_esm/core/Json.js.map +0 -1
  1731. package/_esm/core/Keystore.js +0 -343
  1732. package/_esm/core/Keystore.js.map +0 -1
  1733. package/_esm/core/Kzg.js +0 -28
  1734. package/_esm/core/Kzg.js.map +0 -1
  1735. package/_esm/core/Log.js +0 -175
  1736. package/_esm/core/Log.js.map +0 -1
  1737. package/_esm/core/Mnemonic.js +0 -139
  1738. package/_esm/core/Mnemonic.js.map +0 -1
  1739. package/_esm/core/P256.js +0 -183
  1740. package/_esm/core/P256.js.map +0 -1
  1741. package/_esm/core/PersonalMessage.js +0 -42
  1742. package/_esm/core/PersonalMessage.js.map +0 -1
  1743. package/_esm/core/Provider.js +0 -482
  1744. package/_esm/core/Provider.js.map +0 -1
  1745. package/_esm/core/PublicKey.js +0 -377
  1746. package/_esm/core/PublicKey.js.map +0 -1
  1747. package/_esm/core/Rlp.js +0 -249
  1748. package/_esm/core/Rlp.js.map +0 -1
  1749. package/_esm/core/RpcRequest.js +0 -125
  1750. package/_esm/core/RpcRequest.js.map +0 -1
  1751. package/_esm/core/RpcResponse.js +0 -547
  1752. package/_esm/core/RpcResponse.js.map +0 -1
  1753. package/_esm/core/RpcSchema.js +0 -46
  1754. package/_esm/core/RpcSchema.js.map +0 -1
  1755. package/_esm/core/RpcTransport.js +0 -107
  1756. package/_esm/core/RpcTransport.js.map +0 -1
  1757. package/_esm/core/Secp256k1.js +0 -218
  1758. package/_esm/core/Secp256k1.js.map +0 -1
  1759. package/_esm/core/Signature.js +0 -647
  1760. package/_esm/core/Signature.js.map +0 -1
  1761. package/_esm/core/Siwe.js +0 -371
  1762. package/_esm/core/Siwe.js.map +0 -1
  1763. package/_esm/core/Solidity.js +0 -104
  1764. package/_esm/core/Solidity.js.map +0 -1
  1765. package/_esm/core/StateOverrides.js +0 -78
  1766. package/_esm/core/StateOverrides.js.map +0 -1
  1767. package/_esm/core/Transaction.js +0 -180
  1768. package/_esm/core/Transaction.js.map +0 -1
  1769. package/_esm/core/TransactionReceipt.js +0 -223
  1770. package/_esm/core/TransactionReceipt.js.map +0 -1
  1771. package/_esm/core/TransactionRequest.js +0 -129
  1772. package/_esm/core/TransactionRequest.js.map +0 -1
  1773. package/_esm/core/TxEnvelope.js +0 -139
  1774. package/_esm/core/TxEnvelope.js.map +0 -1
  1775. package/_esm/core/TxEnvelopeEip1559.js +0 -433
  1776. package/_esm/core/TxEnvelopeEip1559.js.map +0 -1
  1777. package/_esm/core/TxEnvelopeEip2930.js +0 -416
  1778. package/_esm/core/TxEnvelopeEip2930.js.map +0 -1
  1779. package/_esm/core/TxEnvelopeEip4844.js +0 -518
  1780. package/_esm/core/TxEnvelopeEip4844.js.map +0 -1
  1781. package/_esm/core/TxEnvelopeEip7702.js +0 -421
  1782. package/_esm/core/TxEnvelopeEip7702.js.map +0 -1
  1783. package/_esm/core/TxEnvelopeLegacy.js +0 -471
  1784. package/_esm/core/TxEnvelopeLegacy.js.map +0 -1
  1785. package/_esm/core/TypedData.js +0 -627
  1786. package/_esm/core/TypedData.js.map +0 -1
  1787. package/_esm/core/ValidatorData.js +0 -48
  1788. package/_esm/core/ValidatorData.js.map +0 -1
  1789. package/_esm/core/Value.js +0 -184
  1790. package/_esm/core/Value.js.map +0 -1
  1791. package/_esm/core/WebAuthnP256.js +0 -282
  1792. package/_esm/core/WebAuthnP256.js.map +0 -1
  1793. package/_esm/core/WebCryptoP256.js +0 -182
  1794. package/_esm/core/WebCryptoP256.js.map +0 -1
  1795. package/_esm/core/Withdrawal.js +0 -66
  1796. package/_esm/core/Withdrawal.js.map +0 -1
  1797. package/_esm/core/X25519.js +0 -97
  1798. package/_esm/core/X25519.js.map +0 -1
  1799. package/_esm/core/internal/abi.js.map +0 -1
  1800. package/_esm/core/internal/abiConstructor.js.map +0 -1
  1801. package/_esm/core/internal/abiError.js.map +0 -1
  1802. package/_esm/core/internal/abiEvent.js.map +0 -1
  1803. package/_esm/core/internal/abiFunction.js.map +0 -1
  1804. package/_esm/core/internal/abiItem.js +0 -122
  1805. package/_esm/core/internal/abiItem.js.map +0 -1
  1806. package/_esm/core/internal/abiParameters.js +0 -465
  1807. package/_esm/core/internal/abiParameters.js.map +0 -1
  1808. package/_esm/core/internal/base58.js +0 -88
  1809. package/_esm/core/internal/base58.js.map +0 -1
  1810. package/_esm/core/internal/bytes.js +0 -86
  1811. package/_esm/core/internal/bytes.js.map +0 -1
  1812. package/_esm/core/internal/cursor.js +0 -207
  1813. package/_esm/core/internal/cursor.js.map +0 -1
  1814. package/_esm/core/internal/ens.js +0 -47
  1815. package/_esm/core/internal/ens.js.map +0 -1
  1816. package/_esm/core/internal/entropy.js.map +0 -1
  1817. package/_esm/core/internal/errors.js.map +0 -1
  1818. package/_esm/core/internal/hdKey.js.map +0 -1
  1819. package/_esm/core/internal/hex.js +0 -66
  1820. package/_esm/core/internal/hex.js.map +0 -1
  1821. package/_esm/core/internal/lru.js +0 -36
  1822. package/_esm/core/internal/lru.js.map +0 -1
  1823. package/_esm/core/internal/mnemonic/wordlists.js +0 -11
  1824. package/_esm/core/internal/mnemonic/wordlists.js.map +0 -1
  1825. package/_esm/core/internal/promise.js +0 -49
  1826. package/_esm/core/internal/promise.js.map +0 -1
  1827. package/_esm/core/internal/register.js.map +0 -1
  1828. package/_esm/core/internal/rpcSchema.js.map +0 -1
  1829. package/_esm/core/internal/rpcSchemas/eth.js.map +0 -1
  1830. package/_esm/core/internal/rpcSchemas/wallet.js.map +0 -1
  1831. package/_esm/core/internal/rpcTransport.js +0 -16
  1832. package/_esm/core/internal/rpcTransport.js.map +0 -1
  1833. package/_esm/core/internal/types.js.map +0 -1
  1834. package/_esm/core/internal/uid.js +0 -15
  1835. package/_esm/core/internal/uid.js.map +0 -1
  1836. package/_esm/core/internal/webauthn.js +0 -62
  1837. package/_esm/core/internal/webauthn.js.map +0 -1
  1838. package/_esm/core/version.js.map +0 -1
  1839. package/_esm/erc4337/EntryPoint.js.map +0 -1
  1840. package/_esm/erc4337/RpcSchema.js.map +0 -1
  1841. package/_esm/erc4337/UserOperation.js +0 -547
  1842. package/_esm/erc4337/UserOperation.js.map +0 -1
  1843. package/_esm/erc4337/UserOperationGas.js +0 -61
  1844. package/_esm/erc4337/UserOperationGas.js.map +0 -1
  1845. package/_esm/erc4337/UserOperationReceipt.js.map +0 -1
  1846. package/_esm/erc4337/index.js +0 -31
  1847. package/_esm/erc4337/index.js.map +0 -1
  1848. package/_esm/erc6492/SignatureErc6492.js +0 -197
  1849. package/_esm/erc6492/SignatureErc6492.js.map +0 -1
  1850. package/_esm/erc6492/index.js +0 -25
  1851. package/_esm/erc6492/index.js.map +0 -1
  1852. package/_esm/erc7821/Calls.js +0 -101
  1853. package/_esm/erc7821/Calls.js.map +0 -1
  1854. package/_esm/erc7821/Execute.js +0 -151
  1855. package/_esm/erc7821/Execute.js.map +0 -1
  1856. package/_esm/erc7821/index.js +0 -69
  1857. package/_esm/erc7821/index.js.map +0 -1
  1858. package/_esm/erc8010/SignatureErc8010.js +0 -180
  1859. package/_esm/erc8010/SignatureErc8010.js.map +0 -1
  1860. package/_esm/erc8010/index.js +0 -40
  1861. package/_esm/erc8010/index.js.map +0 -1
  1862. package/_esm/erc8021/Attribution.js +0 -327
  1863. package/_esm/erc8021/Attribution.js.map +0 -1
  1864. package/_esm/erc8021/index.js +0 -40
  1865. package/_esm/erc8021/index.js.map +0 -1
  1866. package/_esm/index.docs.js +0 -12
  1867. package/_esm/index.docs.js.map +0 -1
  1868. package/_esm/index.js +0 -3649
  1869. package/_esm/index.js.map +0 -1
  1870. package/_esm/package.json +0 -1
  1871. package/_esm/tempo/AuthorizationTempo.js +0 -669
  1872. package/_esm/tempo/AuthorizationTempo.js.map +0 -1
  1873. package/_esm/tempo/Channel.js +0 -158
  1874. package/_esm/tempo/Channel.js.map +0 -1
  1875. package/_esm/tempo/KeyAuthorization.js +0 -756
  1876. package/_esm/tempo/KeyAuthorization.js.map +0 -1
  1877. package/_esm/tempo/MultisigConfig.js +0 -312
  1878. package/_esm/tempo/MultisigConfig.js.map +0 -1
  1879. package/_esm/tempo/Period.js.map +0 -1
  1880. package/_esm/tempo/PoolId.js +0 -28
  1881. package/_esm/tempo/PoolId.js.map +0 -1
  1882. package/_esm/tempo/ReceivePolicyReceipt.js +0 -176
  1883. package/_esm/tempo/ReceivePolicyReceipt.js.map +0 -1
  1884. package/_esm/tempo/RpcSchemaTempo.js.map +0 -1
  1885. package/_esm/tempo/SignatureEnvelope.js +0 -1107
  1886. package/_esm/tempo/SignatureEnvelope.js.map +0 -1
  1887. package/_esm/tempo/TempoAddress.js +0 -112
  1888. package/_esm/tempo/TempoAddress.js.map +0 -1
  1889. package/_esm/tempo/Tick.js +0 -147
  1890. package/_esm/tempo/Tick.js.map +0 -1
  1891. package/_esm/tempo/TokenId.js +0 -103
  1892. package/_esm/tempo/TokenId.js.map +0 -1
  1893. package/_esm/tempo/TokenRole.js.map +0 -1
  1894. package/_esm/tempo/Transaction.js +0 -167
  1895. package/_esm/tempo/Transaction.js.map +0 -1
  1896. package/_esm/tempo/TransactionReceipt.js +0 -138
  1897. package/_esm/tempo/TransactionReceipt.js.map +0 -1
  1898. package/_esm/tempo/TransactionRequest.js +0 -161
  1899. package/_esm/tempo/TransactionRequest.js.map +0 -1
  1900. package/_esm/tempo/TxEnvelopeTempo.js +0 -693
  1901. package/_esm/tempo/TxEnvelopeTempo.js.map +0 -1
  1902. package/_esm/tempo/VirtualAddress.js +0 -154
  1903. package/_esm/tempo/VirtualAddress.js.map +0 -1
  1904. package/_esm/tempo/VirtualMaster.js +0 -483
  1905. package/_esm/tempo/VirtualMaster.js.map +0 -1
  1906. package/_esm/tempo/ZoneId.js.map +0 -1
  1907. package/_esm/tempo/ZoneRpcAuthentication.js +0 -256
  1908. package/_esm/tempo/ZoneRpcAuthentication.js.map +0 -1
  1909. package/_esm/tempo/index.js +0 -550
  1910. package/_esm/tempo/index.js.map +0 -1
  1911. package/_esm/tempo/internal/mine.wasm.js.map +0 -1
  1912. package/_esm/tempo/internal/virtualMasterPool.js.map +0 -1
  1913. package/_esm/trusted-setups/Paths.js.map +0 -1
  1914. package/_esm/trusted-setups/index.js.map +0 -1
  1915. package/_esm/trusted-setups/internal/paths.js.map +0 -1
  1916. package/_esm/version.js +0 -3
  1917. package/_esm/version.js.map +0 -1
  1918. package/_esm/webauthn/Authentication.js +0 -467
  1919. package/_esm/webauthn/Authentication.js.map +0 -1
  1920. package/_esm/webauthn/Authenticator.js +0 -176
  1921. package/_esm/webauthn/Authenticator.js.map +0 -1
  1922. package/_esm/webauthn/Credential.js +0 -114
  1923. package/_esm/webauthn/Credential.js.map +0 -1
  1924. package/_esm/webauthn/Registration.js +0 -525
  1925. package/_esm/webauthn/Registration.js.map +0 -1
  1926. package/_esm/webauthn/Types.js.map +0 -1
  1927. package/_esm/webauthn/index.js +0 -31
  1928. package/_esm/webauthn/index.js.map +0 -1
  1929. package/_esm/webauthn/internal/utils.js +0 -52
  1930. package/_esm/webauthn/internal/utils.js.map +0 -1
  1931. package/_esm/window/index.js.map +0 -1
  1932. package/_types/core/Abi.d.ts +0 -131
  1933. package/_types/core/Abi.d.ts.map +0 -1
  1934. package/_types/core/AbiConstructor.d.ts +0 -329
  1935. package/_types/core/AbiConstructor.d.ts.map +0 -1
  1936. package/_types/core/AbiError.d.ts +0 -517
  1937. package/_types/core/AbiError.d.ts.map +0 -1
  1938. package/_types/core/AbiEvent.d.ts +0 -930
  1939. package/_types/core/AbiEvent.d.ts.map +0 -1
  1940. package/_types/core/AbiFunction.d.ts +0 -669
  1941. package/_types/core/AbiFunction.d.ts.map +0 -1
  1942. package/_types/core/AbiItem.d.ts +0 -562
  1943. package/_types/core/AbiItem.d.ts.map +0 -1
  1944. package/_types/core/AbiParameters.d.ts +0 -465
  1945. package/_types/core/AbiParameters.d.ts.map +0 -1
  1946. package/_types/core/AccessList.d.ts +0 -83
  1947. package/_types/core/AccessList.d.ts.map +0 -1
  1948. package/_types/core/AccountProof.d.ts +0 -32
  1949. package/_types/core/AccountProof.d.ts.map +0 -1
  1950. package/_types/core/Address.d.ts +0 -229
  1951. package/_types/core/Address.d.ts.map +0 -1
  1952. package/_types/core/AesGcm.d.ts.map +0 -1
  1953. package/_types/core/Authorization.d.ts +0 -432
  1954. package/_types/core/Authorization.d.ts.map +0 -1
  1955. package/_types/core/Base32.d.ts +0 -79
  1956. package/_types/core/Base32.d.ts.map +0 -1
  1957. package/_types/core/Base58.d.ts +0 -113
  1958. package/_types/core/Base58.d.ts.map +0 -1
  1959. package/_types/core/Base64.d.ts +0 -226
  1960. package/_types/core/Base64.d.ts.map +0 -1
  1961. package/_types/core/Bech32m.d.ts +0 -93
  1962. package/_types/core/Bech32m.d.ts.map +0 -1
  1963. package/_types/core/BinaryStateTree.d.ts +0 -82
  1964. package/_types/core/BinaryStateTree.d.ts.map +0 -1
  1965. package/_types/core/Blobs.d.ts +0 -523
  1966. package/_types/core/Blobs.d.ts.map +0 -1
  1967. package/_types/core/Block.d.ts +0 -195
  1968. package/_types/core/Block.d.ts.map +0 -1
  1969. package/_types/core/BlockOverrides.d.ts +0 -89
  1970. package/_types/core/BlockOverrides.d.ts.map +0 -1
  1971. package/_types/core/Bloom.d.ts +0 -48
  1972. package/_types/core/Bloom.d.ts.map +0 -1
  1973. package/_types/core/Bls.d.ts +0 -480
  1974. package/_types/core/Bls.d.ts.map +0 -1
  1975. package/_types/core/BlsPoint.d.ts +0 -175
  1976. package/_types/core/BlsPoint.d.ts.map +0 -1
  1977. package/_types/core/Bytes.d.ts +0 -608
  1978. package/_types/core/Bytes.d.ts.map +0 -1
  1979. package/_types/core/Caches.d.ts +0 -13
  1980. package/_types/core/Caches.d.ts.map +0 -1
  1981. package/_types/core/Cbor.d.ts.map +0 -1
  1982. package/_types/core/CompactSize.d.ts +0 -107
  1983. package/_types/core/CompactSize.d.ts.map +0 -1
  1984. package/_types/core/ContractAddress.d.ts +0 -106
  1985. package/_types/core/ContractAddress.d.ts.map +0 -1
  1986. package/_types/core/CoseKey.d.ts +0 -56
  1987. package/_types/core/CoseKey.d.ts.map +0 -1
  1988. package/_types/core/Ed25519.d.ts +0 -220
  1989. package/_types/core/Ed25519.d.ts.map +0 -1
  1990. package/_types/core/Ens.d.ts +0 -63
  1991. package/_types/core/Ens.d.ts.map +0 -1
  1992. package/_types/core/Errors.d.ts.map +0 -1
  1993. package/_types/core/Fee.d.ts +0 -41
  1994. package/_types/core/Fee.d.ts.map +0 -1
  1995. package/_types/core/Filter.d.ts +0 -94
  1996. package/_types/core/Filter.d.ts.map +0 -1
  1997. package/_types/core/Hash.d.ts +0 -160
  1998. package/_types/core/Hash.d.ts.map +0 -1
  1999. package/_types/core/HdKey.d.ts +0 -134
  2000. package/_types/core/HdKey.d.ts.map +0 -1
  2001. package/_types/core/Hex.d.ts +0 -648
  2002. package/_types/core/Hex.d.ts.map +0 -1
  2003. package/_types/core/Json.d.ts +0 -78
  2004. package/_types/core/Json.d.ts.map +0 -1
  2005. package/_types/core/Keystore.d.ts +0 -322
  2006. package/_types/core/Keystore.d.ts.map +0 -1
  2007. package/_types/core/Kzg.d.ts +0 -39
  2008. package/_types/core/Kzg.d.ts.map +0 -1
  2009. package/_types/core/Log.d.ts +0 -188
  2010. package/_types/core/Log.d.ts.map +0 -1
  2011. package/_types/core/Mnemonic.d.ts +0 -161
  2012. package/_types/core/Mnemonic.d.ts.map +0 -1
  2013. package/_types/core/P256.d.ts +0 -225
  2014. package/_types/core/P256.d.ts.map +0 -1
  2015. package/_types/core/PersonalMessage.d.ts +0 -43
  2016. package/_types/core/PersonalMessage.d.ts.map +0 -1
  2017. package/_types/core/Provider.d.ts +0 -399
  2018. package/_types/core/Provider.d.ts.map +0 -1
  2019. package/_types/core/PublicKey.d.ts +0 -309
  2020. package/_types/core/PublicKey.d.ts.map +0 -1
  2021. package/_types/core/Rlp.d.ts +0 -136
  2022. package/_types/core/Rlp.d.ts.map +0 -1
  2023. package/_types/core/RpcRequest.d.ts +0 -140
  2024. package/_types/core/RpcRequest.d.ts.map +0 -1
  2025. package/_types/core/RpcResponse.d.ts +0 -304
  2026. package/_types/core/RpcResponse.d.ts.map +0 -1
  2027. package/_types/core/RpcSchema.d.ts +0 -310
  2028. package/_types/core/RpcSchema.d.ts.map +0 -1
  2029. package/_types/core/RpcTransport.d.ts +0 -62
  2030. package/_types/core/RpcTransport.d.ts.map +0 -1
  2031. package/_types/core/Secp256k1.d.ts +0 -279
  2032. package/_types/core/Secp256k1.d.ts.map +0 -1
  2033. package/_types/core/Signature.d.ts +0 -550
  2034. package/_types/core/Signature.d.ts.map +0 -1
  2035. package/_types/core/Siwe.d.ts +0 -246
  2036. package/_types/core/Siwe.d.ts.map +0 -1
  2037. package/_types/core/Solidity.d.ts +0 -100
  2038. package/_types/core/Solidity.d.ts.map +0 -1
  2039. package/_types/core/StateOverrides.d.ts +0 -79
  2040. package/_types/core/StateOverrides.d.ts.map +0 -1
  2041. package/_types/core/Transaction.d.ts +0 -230
  2042. package/_types/core/Transaction.d.ts.map +0 -1
  2043. package/_types/core/TransactionReceipt.d.ts +0 -265
  2044. package/_types/core/TransactionReceipt.d.ts.map +0 -1
  2045. package/_types/core/TransactionRequest.d.ts +0 -109
  2046. package/_types/core/TransactionRequest.d.ts.map +0 -1
  2047. package/_types/core/TxEnvelope.d.ts +0 -141
  2048. package/_types/core/TxEnvelope.d.ts.map +0 -1
  2049. package/_types/core/TxEnvelopeEip1559.d.ts +0 -343
  2050. package/_types/core/TxEnvelopeEip1559.d.ts.map +0 -1
  2051. package/_types/core/TxEnvelopeEip2930.d.ts +0 -340
  2052. package/_types/core/TxEnvelopeEip2930.d.ts.map +0 -1
  2053. package/_types/core/TxEnvelopeEip4844.d.ts +0 -395
  2054. package/_types/core/TxEnvelopeEip4844.d.ts.map +0 -1
  2055. package/_types/core/TxEnvelopeEip7702.d.ts +0 -354
  2056. package/_types/core/TxEnvelopeEip7702.d.ts.map +0 -1
  2057. package/_types/core/TxEnvelopeLegacy.d.ts +0 -334
  2058. package/_types/core/TxEnvelopeLegacy.d.ts.map +0 -1
  2059. package/_types/core/TypedData.d.ts +0 -473
  2060. package/_types/core/TypedData.d.ts.map +0 -1
  2061. package/_types/core/ValidatorData.d.ts +0 -58
  2062. package/_types/core/ValidatorData.d.ts.map +0 -1
  2063. package/_types/core/Value.d.ts +0 -141
  2064. package/_types/core/Value.d.ts.map +0 -1
  2065. package/_types/core/WebAuthnP256.d.ts +0 -320
  2066. package/_types/core/WebAuthnP256.d.ts.map +0 -1
  2067. package/_types/core/WebCryptoP256.d.ts +0 -187
  2068. package/_types/core/WebCryptoP256.d.ts.map +0 -1
  2069. package/_types/core/Withdrawal.d.ts +0 -68
  2070. package/_types/core/Withdrawal.d.ts.map +0 -1
  2071. package/_types/core/X25519.d.ts +0 -127
  2072. package/_types/core/X25519.d.ts.map +0 -1
  2073. package/_types/core/internal/abi.d.ts.map +0 -1
  2074. package/_types/core/internal/abiConstructor.d.ts.map +0 -1
  2075. package/_types/core/internal/abiError.d.ts.map +0 -1
  2076. package/_types/core/internal/abiEvent.d.ts.map +0 -1
  2077. package/_types/core/internal/abiFunction.d.ts.map +0 -1
  2078. package/_types/core/internal/abiItem.d.ts.map +0 -1
  2079. package/_types/core/internal/abiParameters.d.ts.map +0 -1
  2080. package/_types/core/internal/base58.d.ts.map +0 -1
  2081. package/_types/core/internal/bytes.d.ts +0 -52
  2082. package/_types/core/internal/bytes.d.ts.map +0 -1
  2083. package/_types/core/internal/cursor.d.ts +0 -70
  2084. package/_types/core/internal/cursor.d.ts.map +0 -1
  2085. package/_types/core/internal/ens.d.ts +0 -23
  2086. package/_types/core/internal/ens.d.ts.map +0 -1
  2087. package/_types/core/internal/entropy.d.ts.map +0 -1
  2088. package/_types/core/internal/errors.d.ts.map +0 -1
  2089. package/_types/core/internal/hdKey.d.ts.map +0 -1
  2090. package/_types/core/internal/hex.d.ts +0 -39
  2091. package/_types/core/internal/hex.d.ts.map +0 -1
  2092. package/_types/core/internal/lru.d.ts +0 -13
  2093. package/_types/core/internal/lru.d.ts.map +0 -1
  2094. package/_types/core/internal/mnemonic/wordlists.d.ts +0 -11
  2095. package/_types/core/internal/mnemonic/wordlists.d.ts.map +0 -1
  2096. package/_types/core/internal/promise.d.ts.map +0 -1
  2097. package/_types/core/internal/register.d.ts.map +0 -1
  2098. package/_types/core/internal/rpcSchema.d.ts.map +0 -1
  2099. package/_types/core/internal/rpcSchemas/eth.d.ts +0 -766
  2100. package/_types/core/internal/rpcSchemas/eth.d.ts.map +0 -1
  2101. package/_types/core/internal/rpcSchemas/wallet.d.ts +0 -452
  2102. package/_types/core/internal/rpcSchemas/wallet.d.ts.map +0 -1
  2103. package/_types/core/internal/rpcTransport.d.ts +0 -35
  2104. package/_types/core/internal/rpcTransport.d.ts.map +0 -1
  2105. package/_types/core/internal/types.d.ts +0 -284
  2106. package/_types/core/internal/types.d.ts.map +0 -1
  2107. package/_types/core/internal/uid.d.ts +0 -3
  2108. package/_types/core/internal/uid.d.ts.map +0 -1
  2109. package/_types/core/internal/webauthn.d.ts +0 -26
  2110. package/_types/core/internal/webauthn.d.ts.map +0 -1
  2111. package/_types/core/version.d.ts.map +0 -1
  2112. package/_types/erc4337/EntryPoint.d.ts.map +0 -1
  2113. package/_types/erc4337/RpcSchema.d.ts +0 -159
  2114. package/_types/erc4337/RpcSchema.d.ts.map +0 -1
  2115. package/_types/erc4337/UserOperation.d.ts +0 -524
  2116. package/_types/erc4337/UserOperation.d.ts.map +0 -1
  2117. package/_types/erc4337/UserOperationGas.d.ts +0 -62
  2118. package/_types/erc4337/UserOperationGas.d.ts.map +0 -1
  2119. package/_types/erc4337/UserOperationReceipt.d.ts.map +0 -1
  2120. package/_types/erc4337/index.d.ts +0 -33
  2121. package/_types/erc4337/index.d.ts.map +0 -1
  2122. package/_types/erc6492/SignatureErc6492.d.ts +0 -180
  2123. package/_types/erc6492/SignatureErc6492.d.ts.map +0 -1
  2124. package/_types/erc6492/index.d.ts +0 -27
  2125. package/_types/erc6492/index.d.ts.map +0 -1
  2126. package/_types/erc7821/Calls.d.ts +0 -102
  2127. package/_types/erc7821/Calls.d.ts.map +0 -1
  2128. package/_types/erc7821/Execute.d.ts +0 -126
  2129. package/_types/erc7821/Execute.d.ts.map +0 -1
  2130. package/_types/erc7821/index.d.ts +0 -71
  2131. package/_types/erc7821/index.d.ts.map +0 -1
  2132. package/_types/erc8010/SignatureErc8010.d.ts +0 -170
  2133. package/_types/erc8010/SignatureErc8010.d.ts.map +0 -1
  2134. package/_types/erc8010/index.d.ts +0 -42
  2135. package/_types/erc8010/index.d.ts.map +0 -1
  2136. package/_types/erc8021/Attribution.d.ts +0 -227
  2137. package/_types/erc8021/Attribution.d.ts.map +0 -1
  2138. package/_types/erc8021/index.d.ts +0 -42
  2139. package/_types/erc8021/index.d.ts.map +0 -1
  2140. package/_types/index.d.ts +0 -3652
  2141. package/_types/index.d.ts.map +0 -1
  2142. package/_types/index.docs.d.ts +0 -10
  2143. package/_types/index.docs.d.ts.map +0 -1
  2144. package/_types/tempo/AuthorizationTempo.d.ts +0 -688
  2145. package/_types/tempo/AuthorizationTempo.d.ts.map +0 -1
  2146. package/_types/tempo/Channel.d.ts +0 -175
  2147. package/_types/tempo/Channel.d.ts.map +0 -1
  2148. package/_types/tempo/KeyAuthorization.d.ts +0 -636
  2149. package/_types/tempo/KeyAuthorization.d.ts.map +0 -1
  2150. package/_types/tempo/MultisigConfig.d.ts +0 -270
  2151. package/_types/tempo/MultisigConfig.d.ts.map +0 -1
  2152. package/_types/tempo/Period.d.ts.map +0 -1
  2153. package/_types/tempo/PoolId.d.ts +0 -34
  2154. package/_types/tempo/PoolId.d.ts.map +0 -1
  2155. package/_types/tempo/ReceivePolicyReceipt.d.ts +0 -168
  2156. package/_types/tempo/ReceivePolicyReceipt.d.ts.map +0 -1
  2157. package/_types/tempo/RpcSchemaTempo.d.ts +0 -51
  2158. package/_types/tempo/RpcSchemaTempo.d.ts.map +0 -1
  2159. package/_types/tempo/SignatureEnvelope.d.ts +0 -771
  2160. package/_types/tempo/SignatureEnvelope.d.ts.map +0 -1
  2161. package/_types/tempo/TempoAddress.d.ts +0 -103
  2162. package/_types/tempo/TempoAddress.d.ts.map +0 -1
  2163. package/_types/tempo/Tick.d.ts.map +0 -1
  2164. package/_types/tempo/TokenId.d.ts +0 -86
  2165. package/_types/tempo/TokenId.d.ts.map +0 -1
  2166. package/_types/tempo/TokenRole.d.ts.map +0 -1
  2167. package/_types/tempo/Transaction.d.ts +0 -208
  2168. package/_types/tempo/Transaction.d.ts.map +0 -1
  2169. package/_types/tempo/TransactionReceipt.d.ts +0 -165
  2170. package/_types/tempo/TransactionReceipt.d.ts.map +0 -1
  2171. package/_types/tempo/TransactionRequest.d.ts +0 -116
  2172. package/_types/tempo/TransactionRequest.d.ts.map +0 -1
  2173. package/_types/tempo/TxEnvelopeTempo.d.ts +0 -593
  2174. package/_types/tempo/TxEnvelopeTempo.d.ts.map +0 -1
  2175. package/_types/tempo/VirtualAddress.d.ts +0 -129
  2176. package/_types/tempo/VirtualAddress.d.ts.map +0 -1
  2177. package/_types/tempo/VirtualMaster.d.ts +0 -237
  2178. package/_types/tempo/VirtualMaster.d.ts.map +0 -1
  2179. package/_types/tempo/ZoneId.d.ts.map +0 -1
  2180. package/_types/tempo/ZoneRpcAuthentication.d.ts +0 -268
  2181. package/_types/tempo/ZoneRpcAuthentication.d.ts.map +0 -1
  2182. package/_types/tempo/index.d.ts +0 -552
  2183. package/_types/tempo/index.d.ts.map +0 -1
  2184. package/_types/tempo/internal/mine.wasm.d.ts.map +0 -1
  2185. package/_types/tempo/internal/virtualMasterPool.d.ts.map +0 -1
  2186. package/_types/trusted-setups/Paths.d.ts.map +0 -1
  2187. package/_types/trusted-setups/index.d.ts.map +0 -1
  2188. package/_types/trusted-setups/internal/paths.d.ts.map +0 -1
  2189. package/_types/version.d.ts +0 -3
  2190. package/_types/version.d.ts.map +0 -1
  2191. package/_types/webauthn/Authentication.d.ts +0 -324
  2192. package/_types/webauthn/Authentication.d.ts.map +0 -1
  2193. package/_types/webauthn/Authenticator.d.ts +0 -182
  2194. package/_types/webauthn/Authenticator.d.ts.map +0 -1
  2195. package/_types/webauthn/Credential.d.ts +0 -77
  2196. package/_types/webauthn/Credential.d.ts.map +0 -1
  2197. package/_types/webauthn/Registration.d.ts +0 -308
  2198. package/_types/webauthn/Registration.d.ts.map +0 -1
  2199. package/_types/webauthn/Types.d.ts.map +0 -1
  2200. package/_types/webauthn/index.d.ts +0 -33
  2201. package/_types/webauthn/index.d.ts.map +0 -1
  2202. package/_types/webauthn/internal/utils.d.ts +0 -17
  2203. package/_types/webauthn/internal/utils.d.ts.map +0 -1
  2204. package/_types/window/index.d.ts.map +0 -1
  2205. package/core/Abi.ts +0 -155
  2206. package/core/AbiConstructor.ts +0 -477
  2207. package/core/AbiError.ts +0 -794
  2208. package/core/AbiEvent.ts +0 -1402
  2209. package/core/AbiFunction.ts +0 -1055
  2210. package/core/AbiItem.ts +0 -841
  2211. package/core/AbiParameters.ts +0 -716
  2212. package/core/AccessList.ts +0 -124
  2213. package/core/AccountProof.ts +0 -35
  2214. package/core/Address.ts +0 -341
  2215. package/core/AesGcm.ts +0 -204
  2216. package/core/Authorization.ts +0 -619
  2217. package/core/Base32.ts +0 -134
  2218. package/core/Base58.ts +0 -156
  2219. package/core/Base64.ts +0 -309
  2220. package/core/Bech32m.ts +0 -263
  2221. package/core/BinaryStateTree.ts +0 -271
  2222. package/core/Blobs.ts +0 -943
  2223. package/core/Block.ts +0 -324
  2224. package/core/BlockOverrides.ts +0 -146
  2225. package/core/Bloom.ts +0 -73
  2226. package/core/Bls.ts +0 -635
  2227. package/core/BlsPoint.ts +0 -220
  2228. package/core/Bytes.ts +0 -886
  2229. package/core/Caches.ts +0 -21
  2230. package/core/Cbor.ts +0 -976
  2231. package/core/CompactSize.ts +0 -169
  2232. package/core/ContractAddress.ts +0 -169
  2233. package/core/CoseKey.ts +0 -93
  2234. package/core/Ed25519.ts +0 -339
  2235. package/core/Ens.ts +0 -104
  2236. package/core/Errors.ts +0 -143
  2237. package/core/Fee.ts +0 -57
  2238. package/core/Filter.ts +0 -136
  2239. package/core/Hash.ts +0 -259
  2240. package/core/HdKey.ts +0 -160
  2241. package/core/Hex.ts +0 -970
  2242. package/core/Json.ts +0 -133
  2243. package/core/Keystore.ts +0 -546
  2244. package/core/Kzg.ts +0 -48
  2245. package/core/Log.ts +0 -240
  2246. package/core/Mnemonic.ts +0 -229
  2247. package/core/P256.ts +0 -356
  2248. package/core/PersonalMessage.ts +0 -63
  2249. package/core/Provider.ts +0 -685
  2250. package/core/PublicKey.ts +0 -521
  2251. package/core/Rlp.ts +0 -367
  2252. package/core/RpcRequest.ts +0 -198
  2253. package/core/RpcResponse.ts +0 -626
  2254. package/core/RpcSchema.ts +0 -356
  2255. package/core/RpcTransport.ts +0 -194
  2256. package/core/Secp256k1.ts +0 -425
  2257. package/core/Signature.ts +0 -843
  2258. package/core/Siwe.ts +0 -511
  2259. package/core/Solidity.ts +0 -109
  2260. package/core/StateOverrides.ts +0 -131
  2261. package/core/Transaction.ts +0 -431
  2262. package/core/TransactionReceipt.ts +0 -333
  2263. package/core/TransactionRequest.ts +0 -208
  2264. package/core/TxEnvelope.ts +0 -205
  2265. package/core/TxEnvelopeEip1559.ts +0 -618
  2266. package/core/TxEnvelopeEip2930.ts +0 -583
  2267. package/core/TxEnvelopeEip4844.ts +0 -724
  2268. package/core/TxEnvelopeEip7702.ts +0 -604
  2269. package/core/TxEnvelopeLegacy.ts +0 -634
  2270. package/core/TypedData.ts +0 -911
  2271. package/core/ValidatorData.ts +0 -80
  2272. package/core/Value.ts +0 -224
  2273. package/core/WebAuthnP256.ts +0 -384
  2274. package/core/WebCryptoP256.ts +0 -323
  2275. package/core/Withdrawal.ts +0 -87
  2276. package/core/X25519.ts +0 -202
  2277. package/core/internal/abiConstructor.ts +0 -32
  2278. package/core/internal/abiError.ts +0 -30
  2279. package/core/internal/abiEvent.ts +0 -154
  2280. package/core/internal/abiFunction.ts +0 -32
  2281. package/core/internal/abiItem.ts +0 -593
  2282. package/core/internal/abiParameters.ts +0 -811
  2283. package/core/internal/base58.ts +0 -103
  2284. package/core/internal/bytes.ts +0 -152
  2285. package/core/internal/cursor.ts +0 -252
  2286. package/core/internal/ens.ts +0 -64
  2287. package/core/internal/hex.ts +0 -124
  2288. package/core/internal/lru.ts +0 -34
  2289. package/core/internal/mnemonic/wordlists.ts +0 -10
  2290. package/core/internal/promise.ts +0 -65
  2291. package/core/internal/rpcSchemas/eth.ts +0 -820
  2292. package/core/internal/rpcSchemas/wallet.ts +0 -471
  2293. package/core/internal/rpcTransport.ts +0 -69
  2294. package/core/internal/types.ts +0 -414
  2295. package/core/internal/webauthn.ts +0 -83
  2296. package/erc4337/EntryPoint/package.json +0 -6
  2297. package/erc4337/RpcSchema/package.json +0 -6
  2298. package/erc4337/RpcSchema.ts +0 -179
  2299. package/erc4337/UserOperation/package.json +0 -6
  2300. package/erc4337/UserOperation.ts +0 -943
  2301. package/erc4337/UserOperationGas/package.json +0 -6
  2302. package/erc4337/UserOperationGas.ts +0 -109
  2303. package/erc4337/UserOperationReceipt/package.json +0 -6
  2304. package/erc4337/index.ts +0 -38
  2305. package/erc4337/package.json +0 -6
  2306. package/erc6492/SignatureErc6492/package.json +0 -6
  2307. package/erc6492/SignatureErc6492.ts +0 -263
  2308. package/erc6492/index.ts +0 -28
  2309. package/erc6492/package.json +0 -6
  2310. package/erc7821/Calls/package.json +0 -6
  2311. package/erc7821/Calls.ts +0 -148
  2312. package/erc7821/Execute/package.json +0 -6
  2313. package/erc7821/Execute.ts +0 -197
  2314. package/erc7821/index.ts +0 -73
  2315. package/erc7821/package.json +0 -6
  2316. package/erc8010/SignatureErc8010/package.json +0 -6
  2317. package/erc8010/SignatureErc8010.ts +0 -228
  2318. package/erc8010/index.ts +0 -43
  2319. package/erc8010/package.json +0 -6
  2320. package/erc8021/Attribution/package.json +0 -6
  2321. package/erc8021/Attribution.ts +0 -519
  2322. package/erc8021/index.ts +0 -43
  2323. package/erc8021/package.json +0 -6
  2324. package/index.docs/package.json +0 -6
  2325. package/index.docs.ts +0 -11
  2326. package/index.ts +0 -3694
  2327. package/tempo/AuthorizationTempo/package.json +0 -6
  2328. package/tempo/AuthorizationTempo.test.ts +0 -1306
  2329. package/tempo/AuthorizationTempo.ts +0 -893
  2330. package/tempo/Channel/package.json +0 -6
  2331. package/tempo/Channel.test.ts +0 -203
  2332. package/tempo/Channel.ts +0 -299
  2333. package/tempo/KeyAuthorization/package.json +0 -6
  2334. package/tempo/KeyAuthorization.test.ts +0 -2468
  2335. package/tempo/KeyAuthorization.ts +0 -1155
  2336. package/tempo/MultisigConfig/package.json +0 -6
  2337. package/tempo/MultisigConfig.test.ts +0 -227
  2338. package/tempo/MultisigConfig.ts +0 -423
  2339. package/tempo/Period/package.json +0 -6
  2340. package/tempo/Period.test.ts +0 -44
  2341. package/tempo/PoolId/package.json +0 -6
  2342. package/tempo/PoolId.test.ts +0 -42
  2343. package/tempo/PoolId.ts +0 -43
  2344. package/tempo/ReceivePolicyReceipt/package.json +0 -6
  2345. package/tempo/ReceivePolicyReceipt.test.ts +0 -198
  2346. package/tempo/ReceivePolicyReceipt.ts +0 -263
  2347. package/tempo/RpcSchemaTempo/package.json +0 -6
  2348. package/tempo/RpcSchemaTempo.ts +0 -55
  2349. package/tempo/SignatureEnvelope/package.json +0 -6
  2350. package/tempo/SignatureEnvelope.test.ts +0 -2905
  2351. package/tempo/SignatureEnvelope.ts +0 -1614
  2352. package/tempo/TempoAddress/package.json +0 -6
  2353. package/tempo/TempoAddress.test.ts +0 -89
  2354. package/tempo/TempoAddress.ts +0 -144
  2355. package/tempo/Tick/package.json +0 -6
  2356. package/tempo/Tick.test.ts +0 -281
  2357. package/tempo/TokenId/package.json +0 -6
  2358. package/tempo/TokenId.test.ts +0 -93
  2359. package/tempo/TokenId.ts +0 -128
  2360. package/tempo/TokenRole/package.json +0 -6
  2361. package/tempo/TokenRole.test.ts +0 -16
  2362. package/tempo/Transaction/package.json +0 -6
  2363. package/tempo/Transaction.test.ts +0 -529
  2364. package/tempo/Transaction.ts +0 -339
  2365. package/tempo/TransactionReceipt/package.json +0 -6
  2366. package/tempo/TransactionReceipt.ts +0 -200
  2367. package/tempo/TransactionRequest/package.json +0 -6
  2368. package/tempo/TransactionRequest.test.ts +0 -198
  2369. package/tempo/TransactionRequest.ts +0 -245
  2370. package/tempo/TxEnvelopeTempo/package.json +0 -6
  2371. package/tempo/TxEnvelopeTempo.test.ts +0 -1646
  2372. package/tempo/TxEnvelopeTempo.ts +0 -1100
  2373. package/tempo/VirtualAddress/package.json +0 -6
  2374. package/tempo/VirtualAddress.test.ts +0 -88
  2375. package/tempo/VirtualAddress.ts +0 -201
  2376. package/tempo/VirtualMaster/package.json +0 -6
  2377. package/tempo/VirtualMaster.test.ts +0 -204
  2378. package/tempo/VirtualMaster.ts +0 -711
  2379. package/tempo/ZoneId/package.json +0 -6
  2380. package/tempo/ZoneId.test.ts +0 -42
  2381. package/tempo/ZoneRpcAuthentication/package.json +0 -6
  2382. package/tempo/ZoneRpcAuthentication.test.ts +0 -226
  2383. package/tempo/ZoneRpcAuthentication.ts +0 -423
  2384. package/tempo/e2e.test.ts +0 -3212
  2385. package/tempo/index.ts +0 -556
  2386. package/tempo/package.json +0 -6
  2387. package/trusted-setups/Paths/package.json +0 -6
  2388. package/trusted-setups/package.json +0 -6
  2389. package/version.ts +0 -2
  2390. package/webauthn/Authentication/package.json +0 -6
  2391. package/webauthn/Authentication.ts +0 -683
  2392. package/webauthn/Authenticator/package.json +0 -6
  2393. package/webauthn/Authenticator.ts +0 -259
  2394. package/webauthn/Credential/package.json +0 -6
  2395. package/webauthn/Credential.ts +0 -171
  2396. package/webauthn/Registration/package.json +0 -6
  2397. package/webauthn/Registration.ts +0 -820
  2398. package/webauthn/Types/package.json +0 -6
  2399. package/webauthn/index.ts +0 -38
  2400. package/webauthn/internal/utils.ts +0 -63
  2401. package/webauthn/package.json +0 -6
  2402. package/window/package.json +0 -6
  2403. /package/{_types → dist}/core/AesGcm.d.ts +0 -0
  2404. /package/{_types → dist}/core/Cbor.d.ts +0 -0
  2405. /package/{_types → dist}/core/Errors.d.ts +0 -0
  2406. /package/{_types → dist}/core/internal/abi.d.ts +0 -0
  2407. /package/{_esm → dist}/core/internal/abi.js +0 -0
  2408. /package/{_types → dist}/core/internal/abiConstructor.d.ts +0 -0
  2409. /package/{_esm → dist}/core/internal/abiConstructor.js +0 -0
  2410. /package/{_types → dist}/core/internal/abiError.d.ts +0 -0
  2411. /package/{_esm → dist}/core/internal/abiError.js +0 -0
  2412. /package/{_types → dist}/core/internal/abiEvent.d.ts +0 -0
  2413. /package/{_esm → dist}/core/internal/abiEvent.js +0 -0
  2414. /package/{_types → dist}/core/internal/abiFunction.d.ts +0 -0
  2415. /package/{_esm → dist}/core/internal/abiFunction.js +0 -0
  2416. /package/{_types → dist}/core/internal/abiItem.d.ts +0 -0
  2417. /package/{_types → dist}/core/internal/abiParameters.d.ts +0 -0
  2418. /package/{_types → dist}/core/internal/base58.d.ts +0 -0
  2419. /package/{_types → dist}/core/internal/entropy.d.ts +0 -0
  2420. /package/{_esm → dist}/core/internal/entropy.js +0 -0
  2421. /package/{_types → dist}/core/internal/errors.d.ts +0 -0
  2422. /package/{_esm → dist}/core/internal/errors.js +0 -0
  2423. /package/{_types → dist}/core/internal/hdKey.d.ts +0 -0
  2424. /package/{_esm → dist}/core/internal/hdKey.js +0 -0
  2425. /package/{_types → dist}/core/internal/promise.d.ts +0 -0
  2426. /package/{_types → dist}/core/internal/register.d.ts +0 -0
  2427. /package/{_esm → dist}/core/internal/register.js +0 -0
  2428. /package/{_types → dist}/core/internal/rpcSchema.d.ts +0 -0
  2429. /package/{_esm → dist}/core/internal/rpcSchema.js +0 -0
  2430. /package/{_esm → dist}/core/internal/rpcSchemas/eth.js +0 -0
  2431. /package/{_esm → dist}/core/internal/rpcSchemas/wallet.js +0 -0
  2432. /package/{_esm → dist}/core/internal/types.js +0 -0
  2433. /package/{_types → dist}/core/version.d.ts +0 -0
  2434. /package/{_esm → dist}/core/version.js +0 -0
  2435. /package/{_types → dist}/erc4337/EntryPoint.d.ts +0 -0
  2436. /package/{_esm → dist}/erc4337/EntryPoint.js +0 -0
  2437. /package/{_esm → dist}/erc4337/RpcSchema.js +0 -0
  2438. /package/{_types → dist}/erc4337/UserOperationReceipt.d.ts +0 -0
  2439. /package/{_esm → dist}/erc4337/UserOperationReceipt.js +0 -0
  2440. /package/{_types → dist}/tempo/Period.d.ts +0 -0
  2441. /package/{_esm → dist}/tempo/Period.js +0 -0
  2442. /package/{_esm → dist}/tempo/RpcSchemaTempo.js +0 -0
  2443. /package/{_types → dist}/tempo/Tick.d.ts +0 -0
  2444. /package/{_types → dist}/tempo/TokenRole.d.ts +0 -0
  2445. /package/{_esm → dist}/tempo/TokenRole.js +0 -0
  2446. /package/{_types → dist}/tempo/ZoneId.d.ts +0 -0
  2447. /package/{_esm → dist}/tempo/ZoneId.js +0 -0
  2448. /package/{_types → dist}/tempo/internal/mine.wasm.d.ts +0 -0
  2449. /package/{_esm → dist}/tempo/internal/mine.wasm.js +0 -0
  2450. /package/{_types → dist}/tempo/internal/virtualMasterPool.d.ts +0 -0
  2451. /package/{_esm → dist}/tempo/internal/virtualMasterPool.js +0 -0
  2452. /package/{_types → dist}/trusted-setups/Paths.d.ts +0 -0
  2453. /package/{_esm → dist}/trusted-setups/Paths.js +0 -0
  2454. /package/{_types → dist}/trusted-setups/index.d.ts +0 -0
  2455. /package/{_esm → dist}/trusted-setups/index.js +0 -0
  2456. /package/{_types → dist}/trusted-setups/internal/paths.d.ts +0 -0
  2457. /package/{_esm → dist}/trusted-setups/internal/paths.js +0 -0
  2458. /package/{_types → dist}/webauthn/Types.d.ts +0 -0
  2459. /package/{_esm → dist}/webauthn/Types.js +0 -0
  2460. /package/{_types → dist}/window/index.d.ts +0 -0
  2461. /package/{_esm → dist}/window/index.js +0 -0
  2462. /package/{core → src/core}/internal/abi.ts +0 -0
  2463. /package/{core → src/core}/internal/entropy.ts +0 -0
  2464. /package/{core → src/core}/internal/errors.ts +0 -0
  2465. /package/{core → src/core}/internal/hdKey.ts +0 -0
  2466. /package/{core → src/core}/internal/register.ts +0 -0
  2467. /package/{core → src/core}/internal/rpcSchema.ts +0 -0
  2468. /package/{core → src/core}/internal/uid.ts +0 -0
  2469. /package/{core → src/core}/version.ts +0 -0
  2470. /package/{erc4337 → src/erc4337}/EntryPoint.ts +0 -0
  2471. /package/{erc4337 → src/erc4337}/UserOperationReceipt.ts +0 -0
  2472. /package/{tempo → src/tempo}/Period.ts +0 -0
  2473. /package/{tempo → src/tempo}/Tick.ts +0 -0
  2474. /package/{tempo → src/tempo}/TokenRole.ts +0 -0
  2475. /package/{tempo → src/tempo}/ZoneId.ts +0 -0
  2476. /package/{tempo → src/tempo}/internal/mine.c +0 -0
  2477. /package/{tempo → src/tempo}/internal/mine.wasm.ts +0 -0
  2478. /package/{tempo → src/tempo}/internal/virtualMasterPool.ts +0 -0
  2479. /package/{trusted-setups → src/trusted-setups}/Paths.ts +0 -0
  2480. /package/{trusted-setups → src/trusted-setups}/index.ts +0 -0
  2481. /package/{trusted-setups → src/trusted-setups}/internal/paths.ts +0 -0
  2482. /package/{trusted-setups → src/trusted-setups}/internal/setups/mainnet.json +0 -0
  2483. /package/{trusted-setups → src/trusted-setups}/internal/setups/mainnet.txt +0 -0
  2484. /package/{tsdoc.json → src/tsdoc.json} +0 -0
  2485. /package/{webauthn → src/webauthn}/Types.ts +0 -0
  2486. /package/{window → src/window}/index.ts +0 -0
@@ -1,2905 +0,0 @@
1
- import {
2
- Address,
3
- Hex,
4
- P256,
5
- PublicKey,
6
- Secp256k1,
7
- Signature,
8
- WebAuthnP256,
9
- WebCryptoP256,
10
- } from 'ox'
11
- import { describe, expect, test } from 'vitest'
12
- import * as MultisigConfig from './MultisigConfig.js'
13
- import * as SignatureEnvelope from './SignatureEnvelope.js'
14
-
15
- const publicKey = PublicKey.from({
16
- prefix: 4,
17
- x: 78495282704852028275327922540131762143565388050940484317945369745559774511861n,
18
- y: 8109764566587999957624872393871720746996669263962991155166704261108473113504n,
19
- })
20
-
21
- const p256Signature = Signature.from({
22
- r: 92602584010956101470289867944347135737570451066466093224269890121909314569518n,
23
- s: 54171125190222965779385658110416711469231271457324878825831748147306957269813n,
24
- yParity: 0,
25
- })
26
-
27
- const signature_secp256k1 = Secp256k1.sign({
28
- payload: '0xdeadbeef',
29
- privateKey: Secp256k1.randomPrivateKey(),
30
- })
31
-
32
- const signature_p256 = SignatureEnvelope.from({
33
- signature: p256Signature,
34
- publicKey,
35
- prehash: true,
36
- })
37
-
38
- const signature_webauthn = SignatureEnvelope.from({
39
- signature: p256Signature,
40
- publicKey,
41
- metadata: {
42
- authenticatorData: WebAuthnP256.getAuthenticatorData({ rpId: 'localhost' }),
43
- clientDataJSON: WebAuthnP256.getClientDataJSON({
44
- challenge: '0xdeadbeef',
45
- origin: 'http://localhost',
46
- }),
47
- },
48
- })
49
-
50
- // Keychain signatures with different inner types
51
- const signature_keychain_secp256k1 = SignatureEnvelope.from({
52
- userAddress: '0x1234567890123456789012345678901234567890',
53
- inner: SignatureEnvelope.from(signature_secp256k1),
54
- version: 'v2',
55
- })
56
-
57
- const signature_keychain_p256 = SignatureEnvelope.from({
58
- userAddress: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd',
59
- inner: signature_p256,
60
- version: 'v2',
61
- })
62
-
63
- const signature_keychain_webauthn = SignatureEnvelope.from({
64
- userAddress: '0xfedcbafedcbafedcbafedcbafedcbafedcbafedc',
65
- inner: signature_webauthn,
66
- version: 'v2',
67
- })
68
-
69
- describe('assert', () => {
70
- describe('secp256k1', () => {
71
- test('behavior: validates valid signature', () => {
72
- expect(() =>
73
- SignatureEnvelope.assert({
74
- signature: signature_secp256k1,
75
- type: 'secp256k1',
76
- }),
77
- ).not.toThrow()
78
- })
79
-
80
- test('behavior: validates signature without explicit type', () => {
81
- expect(() =>
82
- SignatureEnvelope.assert({ signature: signature_secp256k1 }),
83
- ).not.toThrow()
84
- })
85
-
86
- test('error: throws on invalid signature values', () => {
87
- expect(() =>
88
- SignatureEnvelope.assert({
89
- signature: {
90
- r: 0n,
91
- s: 0n,
92
- yParity: 2,
93
- },
94
- type: 'secp256k1',
95
- }),
96
- ).toThrowErrorMatchingInlineSnapshot(
97
- `[Signature.InvalidYParityError: Value \`2\` is an invalid y-parity value. Y-parity must be 0 or 1.]`,
98
- )
99
- })
100
- })
101
-
102
- describe('p256', () => {
103
- test('behavior: validates valid P256 signature', () => {
104
- expect(() => SignatureEnvelope.assert(signature_p256)).not.toThrow()
105
- })
106
-
107
- test('behavior: validates P256 signature without explicit type', () => {
108
- const { type: _, ...signatureWithoutType } = signature_p256
109
- expect(() => SignatureEnvelope.assert(signatureWithoutType)).not.toThrow()
110
- })
111
-
112
- test('error: throws on invalid prehash type', () => {
113
- expect(() =>
114
- SignatureEnvelope.assert({
115
- ...signature_p256,
116
- prehash: 'true' as any,
117
- }),
118
- ).toThrowErrorMatchingInlineSnapshot(
119
- `
120
- [SignatureEnvelope.MissingPropertiesError: Signature envelope of type "p256" is missing required properties: \`prehash\`.
121
-
122
- Provided: {"signature":{"r":"92602584010956101470289867944347135737570451066466093224269890121909314569518#__bigint","s":"54171125190222965779385658110416711469231271457324878825831748147306957269813#__bigint","yParity":0},"publicKey":{"prefix":4,"x":"78495282704852028275327922540131762143565388050940484317945369745559774511861#__bigint","y":"8109764566587999957624872393871720746996669263962991155166704261108473113504#__bigint"},"prehash":"true","type":"p256"}]
123
- `,
124
- )
125
- })
126
-
127
- test('error: throws on missing publicKey', () => {
128
- const { publicKey: _, ...withoutPublicKey } = signature_p256
129
- expect(() =>
130
- SignatureEnvelope.assert(withoutPublicKey as any),
131
- ).toThrowErrorMatchingInlineSnapshot(
132
- `
133
- [SignatureEnvelope.MissingPropertiesError: Signature envelope of type "p256" is missing required properties: \`publicKey\`.
134
-
135
- Provided: {"signature":{"r":"92602584010956101470289867944347135737570451066466093224269890121909314569518#__bigint","s":"54171125190222965779385658110416711469231271457324878825831748147306957269813#__bigint","yParity":0},"prehash":true,"type":"p256"}]
136
- `,
137
- )
138
- })
139
-
140
- test('error: throws on missing signature.r', () => {
141
- const invalid = {
142
- signature: { s: 1n } as any,
143
- publicKey,
144
- prehash: true,
145
- type: 'p256' as const,
146
- }
147
- expect(() =>
148
- SignatureEnvelope.assert(invalid),
149
- ).toThrowErrorMatchingInlineSnapshot(
150
- `
151
- [SignatureEnvelope.MissingPropertiesError: Signature envelope of type "p256" is missing required properties: \`signature.r\`.
152
-
153
- Provided: {"signature":{"s":"1#__bigint"},"publicKey":{"prefix":4,"x":"78495282704852028275327922540131762143565388050940484317945369745559774511861#__bigint","y":"8109764566587999957624872393871720746996669263962991155166704261108473113504#__bigint"},"prehash":true,"type":"p256"}]
154
- `,
155
- )
156
- })
157
-
158
- test('error: throws on missing signature.s', () => {
159
- const invalid = {
160
- signature: { r: 1n } as any,
161
- publicKey,
162
- prehash: true,
163
- type: 'p256' as const,
164
- }
165
- expect(() =>
166
- SignatureEnvelope.assert(invalid),
167
- ).toThrowErrorMatchingInlineSnapshot(
168
- `
169
- [SignatureEnvelope.MissingPropertiesError: Signature envelope of type "p256" is missing required properties: \`signature.s\`.
170
-
171
- Provided: {"signature":{"r":"1#__bigint"},"publicKey":{"prefix":4,"x":"78495282704852028275327922540131762143565388050940484317945369745559774511861#__bigint","y":"8109764566587999957624872393871720746996669263962991155166704261108473113504#__bigint"},"prehash":true,"type":"p256"}]
172
- `,
173
- )
174
- })
175
-
176
- test('error: throws on missing publicKey.x', () => {
177
- const invalid = {
178
- signature: p256Signature,
179
- publicKey: { y: 1n } as any,
180
- prehash: true,
181
- type: 'p256' as const,
182
- }
183
- expect(() =>
184
- SignatureEnvelope.assert(invalid),
185
- ).toThrowErrorMatchingInlineSnapshot(
186
- `
187
- [SignatureEnvelope.MissingPropertiesError: Signature envelope of type "p256" is missing required properties: \`publicKey.x\`.
188
-
189
- Provided: {"signature":{"r":"92602584010956101470289867944347135737570451066466093224269890121909314569518#__bigint","s":"54171125190222965779385658110416711469231271457324878825831748147306957269813#__bigint","yParity":0},"publicKey":{"y":"1#__bigint"},"prehash":true,"type":"p256"}]
190
- `,
191
- )
192
- })
193
-
194
- test('error: throws on missing publicKey.y', () => {
195
- const invalid = {
196
- signature: p256Signature,
197
- publicKey: { x: 1n } as any,
198
- prehash: true,
199
- type: 'p256' as const,
200
- }
201
- expect(() =>
202
- SignatureEnvelope.assert(invalid),
203
- ).toThrowErrorMatchingInlineSnapshot(
204
- `
205
- [SignatureEnvelope.MissingPropertiesError: Signature envelope of type "p256" is missing required properties: \`publicKey.y\`.
206
-
207
- Provided: {"signature":{"r":"92602584010956101470289867944347135737570451066466093224269890121909314569518#__bigint","s":"54171125190222965779385658110416711469231271457324878825831748147306957269813#__bigint","yParity":0},"publicKey":{"x":"1#__bigint"},"prehash":true,"type":"p256"}]
208
- `,
209
- )
210
- })
211
-
212
- test('error: throws with all missing properties listed', () => {
213
- const invalid = {
214
- signature: {} as any,
215
- type: 'p256' as const,
216
- }
217
- expect(() =>
218
- SignatureEnvelope.assert(invalid),
219
- ).toThrowErrorMatchingInlineSnapshot(
220
- `
221
- [SignatureEnvelope.MissingPropertiesError: Signature envelope of type "p256" is missing required properties: \`signature.r\`, \`signature.s\`, \`prehash\`, \`publicKey\`.
222
-
223
- Provided: {"signature":{},"type":"p256"}]
224
- `,
225
- )
226
- })
227
- })
228
-
229
- describe('webAuthn', () => {
230
- test('behavior: validates valid WebAuthn signature', () => {
231
- expect(() => SignatureEnvelope.assert(signature_webauthn)).not.toThrow()
232
- })
233
-
234
- test('behavior: validates WebAuthn signature without explicit type', () => {
235
- const { type: _, ...signatureWithoutType } = signature_webauthn
236
- expect(() => SignatureEnvelope.assert(signatureWithoutType)).not.toThrow()
237
- })
238
-
239
- test('error: throws on missing metadata', () => {
240
- const { metadata: _, ...withoutMetadata } = signature_webauthn
241
- expect(() =>
242
- SignatureEnvelope.assert(withoutMetadata as any),
243
- ).toThrowErrorMatchingInlineSnapshot(
244
- `
245
- [SignatureEnvelope.MissingPropertiesError: Signature envelope of type "webAuthn" is missing required properties: \`metadata\`.
246
-
247
- Provided: {"signature":{"r":"92602584010956101470289867944347135737570451066466093224269890121909314569518#__bigint","s":"54171125190222965779385658110416711469231271457324878825831748147306957269813#__bigint","yParity":0},"publicKey":{"prefix":4,"x":"78495282704852028275327922540131762143565388050940484317945369745559774511861#__bigint","y":"8109764566587999957624872393871720746996669263962991155166704261108473113504#__bigint"},"type":"webAuthn"}]
248
- `,
249
- )
250
- })
251
-
252
- test('error: throws on missing publicKey', () => {
253
- const { publicKey: _, ...withoutPublicKey } = signature_webauthn
254
- expect(() =>
255
- SignatureEnvelope.assert(withoutPublicKey as any),
256
- ).toThrowErrorMatchingInlineSnapshot(
257
- `
258
- [SignatureEnvelope.MissingPropertiesError: Signature envelope of type "webAuthn" is missing required properties: \`publicKey\`.
259
-
260
- Provided: {"signature":{"r":"92602584010956101470289867944347135737570451066466093224269890121909314569518#__bigint","s":"54171125190222965779385658110416711469231271457324878825831748147306957269813#__bigint","yParity":0},"metadata":{"authenticatorData":"0x49960de5880e8c687434170f6476605b8fe4aeb9a28632c7995cf3ba831d97630500000000","clientDataJSON":"{\\"type\\":\\"webauthn.get\\",\\"challenge\\":\\"3q2-7w\\",\\"origin\\":\\"http://localhost\\",\\"crossOrigin\\":false}"},"type":"webAuthn"}]
261
- `,
262
- )
263
- })
264
-
265
- test('error: throws on missing signature.r', () => {
266
- const invalid = {
267
- signature: { s: 1n } as any,
268
- publicKey,
269
- metadata: {
270
- authenticatorData: WebAuthnP256.getAuthenticatorData({
271
- rpId: 'localhost',
272
- }),
273
- clientDataJSON: WebAuthnP256.getClientDataJSON({
274
- challenge: '0xdeadbeef',
275
- origin: 'http://localhost',
276
- }),
277
- },
278
- type: 'webAuthn' as const,
279
- }
280
- expect(() =>
281
- SignatureEnvelope.assert(invalid),
282
- ).toThrowErrorMatchingInlineSnapshot(
283
- `
284
- [SignatureEnvelope.MissingPropertiesError: Signature envelope of type "webAuthn" is missing required properties: \`signature.r\`.
285
-
286
- Provided: {"signature":{"s":"1#__bigint"},"publicKey":{"prefix":4,"x":"78495282704852028275327922540131762143565388050940484317945369745559774511861#__bigint","y":"8109764566587999957624872393871720746996669263962991155166704261108473113504#__bigint"},"metadata":{"authenticatorData":"0x49960de5880e8c687434170f6476605b8fe4aeb9a28632c7995cf3ba831d97630500000000","clientDataJSON":"{\\"type\\":\\"webauthn.get\\",\\"challenge\\":\\"3q2-7w\\",\\"origin\\":\\"http://localhost\\",\\"crossOrigin\\":false}"},"type":"webAuthn"}]
287
- `,
288
- )
289
- })
290
-
291
- test('error: throws on missing signature.s', () => {
292
- const invalid = {
293
- signature: { r: 1n } as any,
294
- publicKey,
295
- metadata: {
296
- authenticatorData: WebAuthnP256.getAuthenticatorData({
297
- rpId: 'localhost',
298
- }),
299
- clientDataJSON: WebAuthnP256.getClientDataJSON({
300
- challenge: '0xdeadbeef',
301
- origin: 'http://localhost',
302
- }),
303
- },
304
- type: 'webAuthn' as const,
305
- }
306
- expect(() =>
307
- SignatureEnvelope.assert(invalid),
308
- ).toThrowErrorMatchingInlineSnapshot(
309
- `
310
- [SignatureEnvelope.MissingPropertiesError: Signature envelope of type "webAuthn" is missing required properties: \`signature.s\`.
311
-
312
- Provided: {"signature":{"r":"1#__bigint"},"publicKey":{"prefix":4,"x":"78495282704852028275327922540131762143565388050940484317945369745559774511861#__bigint","y":"8109764566587999957624872393871720746996669263962991155166704261108473113504#__bigint"},"metadata":{"authenticatorData":"0x49960de5880e8c687434170f6476605b8fe4aeb9a28632c7995cf3ba831d97630500000000","clientDataJSON":"{\\"type\\":\\"webauthn.get\\",\\"challenge\\":\\"3q2-7w\\",\\"origin\\":\\"http://localhost\\",\\"crossOrigin\\":false}"},"type":"webAuthn"}]
313
- `,
314
- )
315
- })
316
-
317
- test('error: throws on missing metadata.authenticatorData', () => {
318
- const invalid = {
319
- signature: p256Signature,
320
- publicKey,
321
- metadata: {
322
- clientDataJSON: WebAuthnP256.getClientDataJSON({
323
- challenge: '0xdeadbeef',
324
- origin: 'http://localhost',
325
- }),
326
- } as any,
327
- type: 'webAuthn' as const,
328
- }
329
- expect(() =>
330
- SignatureEnvelope.assert(invalid),
331
- ).toThrowErrorMatchingInlineSnapshot(
332
- `
333
- [SignatureEnvelope.MissingPropertiesError: Signature envelope of type "webAuthn" is missing required properties: \`metadata.authenticatorData\`.
334
-
335
- Provided: {"signature":{"r":"92602584010956101470289867944347135737570451066466093224269890121909314569518#__bigint","s":"54171125190222965779385658110416711469231271457324878825831748147306957269813#__bigint","yParity":0},"publicKey":{"prefix":4,"x":"78495282704852028275327922540131762143565388050940484317945369745559774511861#__bigint","y":"8109764566587999957624872393871720746996669263962991155166704261108473113504#__bigint"},"metadata":{"clientDataJSON":"{\\"type\\":\\"webauthn.get\\",\\"challenge\\":\\"3q2-7w\\",\\"origin\\":\\"http://localhost\\",\\"crossOrigin\\":false}"},"type":"webAuthn"}]
336
- `,
337
- )
338
- })
339
-
340
- test('error: throws on missing metadata.clientDataJSON', () => {
341
- const invalid = {
342
- signature: p256Signature,
343
- publicKey,
344
- metadata: {
345
- authenticatorData: WebAuthnP256.getAuthenticatorData({
346
- rpId: 'localhost',
347
- }),
348
- } as any,
349
- type: 'webAuthn' as const,
350
- }
351
- expect(() =>
352
- SignatureEnvelope.assert(invalid),
353
- ).toThrowErrorMatchingInlineSnapshot(
354
- `
355
- [SignatureEnvelope.MissingPropertiesError: Signature envelope of type "webAuthn" is missing required properties: \`metadata.clientDataJSON\`.
356
-
357
- Provided: {"signature":{"r":"92602584010956101470289867944347135737570451066466093224269890121909314569518#__bigint","s":"54171125190222965779385658110416711469231271457324878825831748147306957269813#__bigint","yParity":0},"publicKey":{"prefix":4,"x":"78495282704852028275327922540131762143565388050940484317945369745559774511861#__bigint","y":"8109764566587999957624872393871720746996669263962991155166704261108473113504#__bigint"},"metadata":{"authenticatorData":"0x49960de5880e8c687434170f6476605b8fe4aeb9a28632c7995cf3ba831d97630500000000"},"type":"webAuthn"}]
358
- `,
359
- )
360
- })
361
-
362
- test('error: throws on missing publicKey.x', () => {
363
- const invalid = {
364
- signature: p256Signature,
365
- publicKey: { y: 1n } as any,
366
- metadata: {
367
- authenticatorData: WebAuthnP256.getAuthenticatorData({
368
- rpId: 'localhost',
369
- }),
370
- clientDataJSON: WebAuthnP256.getClientDataJSON({
371
- challenge: '0xdeadbeef',
372
- origin: 'http://localhost',
373
- }),
374
- },
375
- type: 'webAuthn' as const,
376
- }
377
- expect(() =>
378
- SignatureEnvelope.assert(invalid),
379
- ).toThrowErrorMatchingInlineSnapshot(
380
- `
381
- [SignatureEnvelope.MissingPropertiesError: Signature envelope of type "webAuthn" is missing required properties: \`publicKey.x\`.
382
-
383
- Provided: {"signature":{"r":"92602584010956101470289867944347135737570451066466093224269890121909314569518#__bigint","s":"54171125190222965779385658110416711469231271457324878825831748147306957269813#__bigint","yParity":0},"publicKey":{"y":"1#__bigint"},"metadata":{"authenticatorData":"0x49960de5880e8c687434170f6476605b8fe4aeb9a28632c7995cf3ba831d97630500000000","clientDataJSON":"{\\"type\\":\\"webauthn.get\\",\\"challenge\\":\\"3q2-7w\\",\\"origin\\":\\"http://localhost\\",\\"crossOrigin\\":false}"},"type":"webAuthn"}]
384
- `,
385
- )
386
- })
387
-
388
- test('error: throws on missing publicKey.y', () => {
389
- const invalid = {
390
- signature: p256Signature,
391
- publicKey: { x: 1n } as any,
392
- metadata: {
393
- authenticatorData: WebAuthnP256.getAuthenticatorData({
394
- rpId: 'localhost',
395
- }),
396
- clientDataJSON: WebAuthnP256.getClientDataJSON({
397
- challenge: '0xdeadbeef',
398
- origin: 'http://localhost',
399
- }),
400
- },
401
- type: 'webAuthn' as const,
402
- }
403
- expect(() =>
404
- SignatureEnvelope.assert(invalid),
405
- ).toThrowErrorMatchingInlineSnapshot(
406
- `
407
- [SignatureEnvelope.MissingPropertiesError: Signature envelope of type "webAuthn" is missing required properties: \`publicKey.y\`.
408
-
409
- Provided: {"signature":{"r":"92602584010956101470289867944347135737570451066466093224269890121909314569518#__bigint","s":"54171125190222965779385658110416711469231271457324878825831748147306957269813#__bigint","yParity":0},"publicKey":{"x":"1#__bigint"},"metadata":{"authenticatorData":"0x49960de5880e8c687434170f6476605b8fe4aeb9a28632c7995cf3ba831d97630500000000","clientDataJSON":"{\\"type\\":\\"webauthn.get\\",\\"challenge\\":\\"3q2-7w\\",\\"origin\\":\\"http://localhost\\",\\"crossOrigin\\":false}"},"type":"webAuthn"}]
410
- `,
411
- )
412
- })
413
- })
414
-
415
- describe('keychain', () => {
416
- test('behavior: validates valid keychain with secp256k1 inner', () => {
417
- expect(() =>
418
- SignatureEnvelope.assert(signature_keychain_secp256k1),
419
- ).not.toThrow()
420
- })
421
-
422
- test('behavior: validates valid keychain with p256 inner', () => {
423
- expect(() =>
424
- SignatureEnvelope.assert(signature_keychain_p256),
425
- ).not.toThrow()
426
- })
427
-
428
- test('behavior: validates valid keychain with webAuthn inner', () => {
429
- expect(() =>
430
- SignatureEnvelope.assert(signature_keychain_webauthn),
431
- ).not.toThrow()
432
- })
433
-
434
- test('behavior: validates keychain without explicit type', () => {
435
- const { type: _, ...signatureWithoutType } = signature_keychain_secp256k1
436
- expect(() => SignatureEnvelope.assert(signatureWithoutType)).not.toThrow()
437
- })
438
-
439
- test('error: throws on invalid inner signature', () => {
440
- expect(() =>
441
- SignatureEnvelope.assert({
442
- userAddress: '0x1234567890123456789012345678901234567890',
443
- inner: SignatureEnvelope.from({
444
- r: 0n,
445
- s: 0n,
446
- yParity: 2,
447
- }),
448
- type: 'keychain',
449
- } as any),
450
- ).toThrowErrorMatchingInlineSnapshot(
451
- `[Signature.InvalidYParityError: Value \`2\` is an invalid y-parity value. Y-parity must be 0 or 1.]`,
452
- )
453
- })
454
- })
455
-
456
- test('error: throws on invalid envelope', () => {
457
- expect(() =>
458
- SignatureEnvelope.assert({} as any),
459
- ).toThrowErrorMatchingInlineSnapshot(
460
- `[SignatureEnvelope.CoercionError: Unable to coerce value (\`{}\`) to a valid signature envelope.]`,
461
- )
462
- })
463
-
464
- test('error: throws on incomplete signature', () => {
465
- expect(() =>
466
- SignatureEnvelope.assert({
467
- r: 0n,
468
- s: 0n,
469
- } as any),
470
- ).toThrowErrorMatchingInlineSnapshot(
471
- `[SignatureEnvelope.CoercionError: Unable to coerce value (\`{"r":"0#__bigint","s":"0#__bigint"}\`) to a valid signature envelope.]`,
472
- )
473
- })
474
- })
475
-
476
- describe('deserialize', () => {
477
- describe('secp256k1', () => {
478
- test('behavior: deserializes valid signature', () => {
479
- const serialized = Signature.toHex(signature_secp256k1)
480
-
481
- const envelope = SignatureEnvelope.deserialize(serialized)
482
-
483
- expect(envelope).toMatchObject({
484
- signature: {
485
- r: signature_secp256k1.r,
486
- s: signature_secp256k1.s,
487
- yParity: signature_secp256k1.yParity,
488
- },
489
- type: 'secp256k1',
490
- })
491
- })
492
-
493
- test('behavior: deserializes signature with magic identifier', () => {
494
- const serialized = SignatureEnvelope.serialize(
495
- { signature: signature_secp256k1, type: 'secp256k1' },
496
- { magic: true },
497
- )
498
-
499
- const envelope = SignatureEnvelope.deserialize(serialized)
500
-
501
- expect(envelope).toMatchObject({
502
- signature: {
503
- r: signature_secp256k1.r,
504
- s: signature_secp256k1.s,
505
- yParity: signature_secp256k1.yParity,
506
- },
507
- type: 'secp256k1',
508
- })
509
- })
510
-
511
- test('error: throws on invalid size', () => {
512
- expect(() =>
513
- SignatureEnvelope.deserialize('0xdeadbeef'),
514
- ).toThrowErrorMatchingInlineSnapshot(
515
- `
516
- [SignatureEnvelope.InvalidSerializedError: Unable to deserialize signature envelope: Unknown signature type identifier: 0xde. Expected 0x01 (P256), 0x02 (WebAuthn), 0x03 (Keychain V1), 0x04 (Keychain V2), or 0x05 (Multisig)
517
-
518
- Serialized: 0xdeadbeef]
519
- `,
520
- )
521
- })
522
-
523
- test('error: throws on invalid yParity', () => {
524
- // Signature with invalid yParity (must be 0 or 1)
525
- const invalidSig =
526
- '0x0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000102'
527
- expect(() =>
528
- SignatureEnvelope.deserialize(invalidSig),
529
- ).toThrowErrorMatchingInlineSnapshot(
530
- `[Signature.InvalidYParityError: Value \`2\` is an invalid y-parity value. Y-parity must be 0 or 1.]`,
531
- )
532
- })
533
- })
534
-
535
- describe('p256', () => {
536
- test('behavior: deserializes P256 signature', () => {
537
- const serialized = SignatureEnvelope.serialize(signature_p256)
538
- const deserialized = SignatureEnvelope.deserialize(serialized)
539
-
540
- expect(deserialized).toMatchObject({
541
- signature: {
542
- r: signature_p256.signature.r,
543
- s: signature_p256.signature.s,
544
- },
545
- publicKey: {
546
- x: signature_p256.publicKey.x,
547
- y: signature_p256.publicKey.y,
548
- },
549
- prehash: signature_p256.prehash,
550
- type: 'p256',
551
- })
552
- })
553
-
554
- test('behavior: deserializes P256 signature with magic identifier', () => {
555
- const serialized = SignatureEnvelope.serialize(signature_p256, {
556
- magic: true,
557
- })
558
- const deserialized = SignatureEnvelope.deserialize(serialized)
559
-
560
- expect(deserialized).toMatchObject({
561
- signature: {
562
- r: signature_p256.signature.r,
563
- s: signature_p256.signature.s,
564
- },
565
- publicKey: {
566
- x: signature_p256.publicKey.x,
567
- y: signature_p256.publicKey.y,
568
- },
569
- prehash: signature_p256.prehash,
570
- type: 'p256',
571
- })
572
- })
573
-
574
- test('error: throws on invalid P256 signature length', () => {
575
- // P256 signature with wrong length (should be 130 bytes total, but only 100)
576
- const invalidSig = `0x01${'00'.repeat(100)}` as `0x${string}`
577
- expect(() =>
578
- SignatureEnvelope.deserialize(invalidSig),
579
- ).toThrowErrorMatchingInlineSnapshot(
580
- `
581
- [SignatureEnvelope.InvalidSerializedError: Unable to deserialize signature envelope: Invalid P256 signature envelope size: expected 129 bytes, got 100 bytes
582
-
583
- Serialized: 0x0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000]
584
- `,
585
- )
586
- })
587
- })
588
-
589
- describe('webAuthn', () => {
590
- test('behavior: deserializes WebAuthn signature', () => {
591
- const serialized = SignatureEnvelope.serialize(signature_webauthn)
592
- const deserialized = SignatureEnvelope.deserialize(serialized)
593
-
594
- expect(deserialized).toMatchObject({
595
- signature: {
596
- r: signature_webauthn.signature.r,
597
- s: signature_webauthn.signature.s,
598
- },
599
- publicKey: {
600
- x: signature_webauthn.publicKey.x,
601
- y: signature_webauthn.publicKey.y,
602
- },
603
- metadata: {
604
- authenticatorData: signature_webauthn.metadata.authenticatorData,
605
- clientDataJSON: signature_webauthn.metadata.clientDataJSON,
606
- },
607
- type: 'webAuthn',
608
- })
609
- })
610
-
611
- test('behavior: deserializes WebAuthn signature with magic identifier', () => {
612
- const serialized = SignatureEnvelope.serialize(signature_webauthn, {
613
- magic: true,
614
- })
615
- const deserialized = SignatureEnvelope.deserialize(serialized)
616
-
617
- expect(deserialized).toMatchObject({
618
- signature: {
619
- r: signature_webauthn.signature.r,
620
- s: signature_webauthn.signature.s,
621
- },
622
- publicKey: {
623
- x: signature_webauthn.publicKey.x,
624
- y: signature_webauthn.publicKey.y,
625
- },
626
- metadata: {
627
- authenticatorData: signature_webauthn.metadata.authenticatorData,
628
- clientDataJSON: signature_webauthn.metadata.clientDataJSON,
629
- },
630
- type: 'webAuthn',
631
- })
632
- })
633
-
634
- test('error: throws on invalid WebAuthn signature length', () => {
635
- // WebAuthn signature too short (must be at least 129 bytes: 1 type + 128 signature data)
636
- const invalidSig = `0x02${'00'.repeat(100)}` as const
637
- expect(() =>
638
- SignatureEnvelope.deserialize(invalidSig),
639
- ).toThrowErrorMatchingInlineSnapshot(
640
- `
641
- [SignatureEnvelope.InvalidSerializedError: Unable to deserialize signature envelope: Invalid WebAuthn signature envelope size: expected at least 128 bytes, got 100 bytes
642
-
643
- Serialized: 0x0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000]
644
- `,
645
- )
646
- })
647
-
648
- test('error: throws on invalid clientDataJSON', () => {
649
- // Create a signature with invalid JSON (not properly formatted)
650
- const invalidMetadata = {
651
- authenticatorData: `0x${'00'.repeat(37)}` as const,
652
- clientDataJSON: 'not-valid-json',
653
- }
654
- const serialized = SignatureEnvelope.serialize({
655
- ...signature_webauthn,
656
- metadata: invalidMetadata,
657
- })
658
-
659
- expect(() =>
660
- SignatureEnvelope.deserialize(serialized),
661
- ).toThrowErrorMatchingInlineSnapshot(
662
- `
663
- [SignatureEnvelope.InvalidSerializedError: Unable to deserialize signature envelope: Unable to parse WebAuthn metadata: could not extract valid authenticatorData and clientDataJSON
664
-
665
- Serialized: 0x02000000000000000000000000000000000000000000000000000000000000000000000000006e6f742d76616c69642d6a736f6eccbb3485d4726235f13cb15ef394fb7158179fb7b1925eccec0147671090c52e77c3c53373cc1e3b05e7c23f609deb17cea8fe097300c45411237e9fe4166b35ad8ac16e167d6992c3e120d7f17d2376bc1cbcf30c46ba6dd00ce07303e742f511edf6ce1c32de66846f56afa7be1cbd729bc35750b6d0cdcf3ec9d75461aba0]
666
- `,
667
- )
668
- })
669
-
670
- test('error: throws on unknown type identifier', () => {
671
- const unknownType = `0xff${'00'.repeat(129)}` as const
672
- expect(() =>
673
- SignatureEnvelope.deserialize(unknownType),
674
- ).toThrowErrorMatchingInlineSnapshot(
675
- `
676
- [SignatureEnvelope.InvalidSerializedError: Unable to deserialize signature envelope: Unknown signature type identifier: 0xff. Expected 0x01 (P256), 0x02 (WebAuthn), 0x03 (Keychain V1), 0x04 (Keychain V2), or 0x05 (Multisig)
677
-
678
- Serialized: 0xff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000]
679
- `,
680
- )
681
- })
682
- })
683
-
684
- describe('keychain', () => {
685
- test('behavior: deserializes keychain signature with secp256k1 inner', () => {
686
- const serialized = SignatureEnvelope.serialize(
687
- signature_keychain_secp256k1,
688
- )
689
- const deserialized = SignatureEnvelope.deserialize(serialized)
690
-
691
- expect(deserialized).toMatchObject({
692
- userAddress: signature_keychain_secp256k1.userAddress,
693
- inner: SignatureEnvelope.from(signature_secp256k1),
694
- type: 'keychain',
695
- })
696
- })
697
-
698
- test('behavior: deserializes keychain signature with p256 inner', () => {
699
- const serialized = SignatureEnvelope.serialize(signature_keychain_p256)
700
- const deserialized = SignatureEnvelope.deserialize(serialized)
701
-
702
- expect(deserialized).toMatchInlineSnapshot(`
703
- {
704
- "inner": {
705
- "prehash": true,
706
- "publicKey": {
707
- "prefix": 4,
708
- "x": 78495282704852028275327922540131762143565388050940484317945369745559774511861n,
709
- "y": 8109764566587999957624872393871720746996669263962991155166704261108473113504n,
710
- },
711
- "signature": {
712
- "r": 92602584010956101470289867944347135737570451066466093224269890121909314569518n,
713
- "s": 54171125190222965779385658110416711469231271457324878825831748147306957269813n,
714
- },
715
- "type": "p256",
716
- },
717
- "type": "keychain",
718
- "userAddress": "0xabcdefabcdefabcdefabcdefabcdefabcdefabcd",
719
- "version": "v2",
720
- }
721
- `)
722
- })
723
-
724
- test('behavior: deserializes keychain signature with webAuthn inner', () => {
725
- const serialized = SignatureEnvelope.serialize(
726
- signature_keychain_webauthn,
727
- )
728
- const deserialized = SignatureEnvelope.deserialize(serialized)
729
-
730
- expect(deserialized).toMatchInlineSnapshot(`
731
- {
732
- "inner": {
733
- "metadata": {
734
- "authenticatorData": "0x49960de5880e8c687434170f6476605b8fe4aeb9a28632c7995cf3ba831d97630500000000",
735
- "clientDataJSON": "{"type":"webauthn.get","challenge":"3q2-7w","origin":"http://localhost","crossOrigin":false}",
736
- },
737
- "publicKey": {
738
- "prefix": 4,
739
- "x": 78495282704852028275327922540131762143565388050940484317945369745559774511861n,
740
- "y": 8109764566587999957624872393871720746996669263962991155166704261108473113504n,
741
- },
742
- "signature": {
743
- "r": 92602584010956101470289867944347135737570451066466093224269890121909314569518n,
744
- "s": 54171125190222965779385658110416711469231271457324878825831748147306957269813n,
745
- },
746
- "type": "webAuthn",
747
- },
748
- "type": "keychain",
749
- "userAddress": "0xfedcbafedcbafedcbafedcbafedcbafedcbafedc",
750
- "version": "v2",
751
- }
752
- `)
753
- })
754
-
755
- test('behavior: deserializes keychain signature with magic identifier', () => {
756
- const serialized = SignatureEnvelope.serialize(
757
- signature_keychain_secp256k1,
758
- { magic: true },
759
- )
760
- const deserialized = SignatureEnvelope.deserialize(serialized)
761
-
762
- expect(deserialized).toMatchObject({
763
- userAddress: signature_keychain_secp256k1.userAddress,
764
- inner: SignatureEnvelope.from(signature_secp256k1),
765
- type: 'keychain',
766
- })
767
- })
768
-
769
- test('error: throws on invalid keychain signature length', () => {
770
- // Keychain signature too short (must be at least 21 bytes: 1 type + 20 address)
771
- const invalidSig = `0x03${'00'.repeat(10)}` as const
772
- expect(() =>
773
- SignatureEnvelope.deserialize(invalidSig),
774
- ).toThrowErrorMatchingInlineSnapshot(
775
- `[Hex.SliceOffsetOutOfBoundsError: Slice starting at offset \`20\` is out-of-bounds (size: \`10\`).]`,
776
- )
777
- })
778
- })
779
- })
780
-
781
- describe('extractAddress', () => {
782
- describe('secp256k1', () => {
783
- test('default', () => {
784
- const privateKey = Secp256k1.randomPrivateKey()
785
- const address = Address.fromPublicKey(
786
- Secp256k1.getPublicKey({ privateKey }),
787
- )
788
- const payload = '0xdeadbeef' as const
789
-
790
- const signature = Secp256k1.sign({ payload, privateKey })
791
- const envelope = SignatureEnvelope.from(signature)
792
-
793
- expect(
794
- SignatureEnvelope.extractAddress({ payload, signature: envelope }),
795
- ).toBe(address)
796
- })
797
- })
798
-
799
- describe('p256', () => {
800
- test('default', () => {
801
- const privateKey = P256.randomPrivateKey()
802
- const pk = P256.getPublicKey({ privateKey })
803
- const address = Address.fromPublicKey(pk)
804
- const payload = '0xdeadbeef' as const
805
-
806
- const signature = P256.sign({ payload, privateKey })
807
- const envelope = SignatureEnvelope.from({
808
- prehash: false,
809
- publicKey: pk,
810
- signature,
811
- })
812
-
813
- expect(
814
- SignatureEnvelope.extractAddress({ payload, signature: envelope }),
815
- ).toBe(address)
816
- })
817
- })
818
-
819
- describe('webAuthn', () => {
820
- test('default', () => {
821
- const address = Address.fromPublicKey(publicKey)
822
-
823
- expect(
824
- SignatureEnvelope.extractAddress({
825
- payload: '0xdeadbeef',
826
- signature: signature_webauthn,
827
- }),
828
- ).toBe(address)
829
- })
830
- })
831
-
832
- describe('keychain', () => {
833
- test('default', () => {
834
- const privateKey = Secp256k1.randomPrivateKey()
835
- const address = Address.fromPublicKey(
836
- Secp256k1.getPublicKey({ privateKey }),
837
- )
838
- const payload = '0xdeadbeef' as const
839
-
840
- const signature = Secp256k1.sign({ payload, privateKey })
841
- const envelope = SignatureEnvelope.from({
842
- userAddress: '0x1234567890123456789012345678901234567890',
843
- inner: SignatureEnvelope.from(signature),
844
- })
845
-
846
- expect(
847
- SignatureEnvelope.extractAddress({ payload, signature: envelope }),
848
- ).toBe(address)
849
- })
850
-
851
- test('behavior: root = true returns userAddress', () => {
852
- expect(
853
- SignatureEnvelope.extractAddress({
854
- payload: '0xdeadbeef',
855
- signature: signature_keychain_secp256k1,
856
- root: true,
857
- }),
858
- ).toBe('0x1234567890123456789012345678901234567890')
859
- })
860
- })
861
- })
862
-
863
- describe('extractPublicKey', () => {
864
- describe('secp256k1', () => {
865
- test('default', () => {
866
- const privateKey = Secp256k1.randomPrivateKey()
867
- const pk = Secp256k1.getPublicKey({ privateKey })
868
- const payload = '0xdeadbeef' as const
869
-
870
- const signature = Secp256k1.sign({ payload, privateKey })
871
- const envelope = SignatureEnvelope.from(signature)
872
-
873
- expect(
874
- SignatureEnvelope.extractPublicKey({ payload, signature: envelope }),
875
- ).toEqual(pk)
876
- })
877
- })
878
-
879
- describe('p256', () => {
880
- test('default', () => {
881
- const privateKey = P256.randomPrivateKey()
882
- const pk = P256.getPublicKey({ privateKey })
883
- const payload = '0xdeadbeef' as const
884
-
885
- const signature = P256.sign({ payload, privateKey })
886
- const envelope = SignatureEnvelope.from({
887
- prehash: false,
888
- publicKey: pk,
889
- signature,
890
- })
891
-
892
- expect(
893
- SignatureEnvelope.extractPublicKey({ payload, signature: envelope }),
894
- ).toEqual(pk)
895
- })
896
- })
897
-
898
- describe('webAuthn', () => {
899
- test('default', () => {
900
- expect(
901
- SignatureEnvelope.extractPublicKey({
902
- payload: '0xdeadbeef',
903
- signature: signature_webauthn,
904
- }),
905
- ).toEqual(publicKey)
906
- })
907
- })
908
-
909
- describe('keychain', () => {
910
- test('default', () => {
911
- const privateKey = Secp256k1.randomPrivateKey()
912
- const pk = Secp256k1.getPublicKey({ privateKey })
913
- const payload = '0xdeadbeef' as const
914
-
915
- const signature = Secp256k1.sign({ payload, privateKey })
916
- const envelope = SignatureEnvelope.from({
917
- userAddress: '0x1234567890123456789012345678901234567890',
918
- inner: SignatureEnvelope.from(signature),
919
- })
920
-
921
- expect(
922
- SignatureEnvelope.extractPublicKey({ payload, signature: envelope }),
923
- ).toEqual(pk)
924
- })
925
- })
926
- })
927
-
928
- describe('from', () => {
929
- describe('secp256k1', () => {
930
- test('behavior: coerces from hex string', () => {
931
- const serialized = Signature.toHex(signature_secp256k1)
932
-
933
- const envelope = SignatureEnvelope.from(serialized)
934
-
935
- expect(envelope).toMatchObject({
936
- signature: {
937
- r: signature_secp256k1.r,
938
- s: signature_secp256k1.s,
939
- yParity: signature_secp256k1.yParity,
940
- },
941
- type: 'secp256k1',
942
- })
943
- })
944
-
945
- test('behavior: returns object as-is', () => {
946
- const envelope: SignatureEnvelope.SignatureEnvelope = {
947
- signature: signature_secp256k1,
948
- type: 'secp256k1',
949
- }
950
-
951
- const result = SignatureEnvelope.from(envelope)
952
-
953
- expect(result).toEqual(envelope)
954
- })
955
-
956
- test('behavior: coerces from flat signature', () => {
957
- const result = SignatureEnvelope.from(signature_secp256k1)
958
-
959
- expect(result).toMatchObject({
960
- signature: {
961
- r: signature_secp256k1.r,
962
- s: signature_secp256k1.s,
963
- yParity: signature_secp256k1.yParity,
964
- },
965
- type: 'secp256k1',
966
- })
967
- })
968
- })
969
-
970
- describe('p256', () => {
971
- test('behavior: coerces from hex string', () => {
972
- const serialized = SignatureEnvelope.serialize(signature_p256)
973
- const envelope = SignatureEnvelope.from(serialized)
974
-
975
- expect(envelope).toMatchObject({
976
- signature: {
977
- r: signature_p256.signature.r,
978
- s: signature_p256.signature.s,
979
- },
980
- type: 'p256',
981
- })
982
- })
983
-
984
- test('behavior: adds type to object', () => {
985
- const { type: _, ...withoutType } = signature_p256
986
- const envelope = SignatureEnvelope.from(withoutType)
987
-
988
- expect(envelope.type).toBe('p256')
989
- })
990
- })
991
-
992
- describe('webAuthn', () => {
993
- test('behavior: coerces from hex string', () => {
994
- const serialized = SignatureEnvelope.serialize(signature_webauthn)
995
- const envelope = SignatureEnvelope.from(serialized)
996
-
997
- expect(envelope).toMatchObject({
998
- signature: {
999
- r: signature_webauthn.signature.r,
1000
- s: signature_webauthn.signature.s,
1001
- },
1002
- type: 'webAuthn',
1003
- })
1004
- })
1005
-
1006
- test('behavior: adds type to object', () => {
1007
- const { type: _, ...withoutType } = signature_webauthn
1008
- const envelope = SignatureEnvelope.from(withoutType)
1009
-
1010
- expect(envelope.type).toBe('webAuthn')
1011
- })
1012
- })
1013
-
1014
- describe('keychain', () => {
1015
- test('behavior: coerces from hex string with secp256k1 inner', () => {
1016
- const serialized = SignatureEnvelope.serialize(
1017
- signature_keychain_secp256k1,
1018
- )
1019
- const envelope = SignatureEnvelope.from(serialized)
1020
-
1021
- expect(envelope).toMatchObject({
1022
- userAddress: signature_keychain_secp256k1.userAddress,
1023
- inner: SignatureEnvelope.from(signature_secp256k1),
1024
- type: 'keychain',
1025
- })
1026
- })
1027
-
1028
- test('behavior: coerces from hex string with p256 inner', () => {
1029
- const serialized = SignatureEnvelope.serialize(signature_keychain_p256)
1030
- const envelope = SignatureEnvelope.from(serialized)
1031
-
1032
- expect(envelope).toMatchObject({
1033
- userAddress: signature_keychain_p256.userAddress,
1034
- type: 'keychain',
1035
- })
1036
- })
1037
-
1038
- test('behavior: adds type to object', () => {
1039
- const { type: _, ...withoutType } = signature_keychain_secp256k1
1040
- const envelope = SignatureEnvelope.from(withoutType)
1041
-
1042
- expect(envelope.type).toBe('keychain')
1043
- })
1044
-
1045
- test('behavior: computes keyId from p256 inner publicKey', () => {
1046
- const envelope = SignatureEnvelope.from({
1047
- userAddress: '0x1234567890123456789012345678901234567890',
1048
- inner: signature_p256,
1049
- })
1050
-
1051
- expect(envelope.keyId).toBe(Address.fromPublicKey(publicKey))
1052
- })
1053
-
1054
- test('behavior: computes keyId from webAuthn inner publicKey', () => {
1055
- const envelope = SignatureEnvelope.from({
1056
- userAddress: '0x1234567890123456789012345678901234567890',
1057
- inner: signature_webauthn,
1058
- })
1059
-
1060
- expect(envelope.keyId).toBe(Address.fromPublicKey(publicKey))
1061
- })
1062
-
1063
- test('behavior: computes keyId from secp256k1 inner with payload', () => {
1064
- const privateKey = Secp256k1.randomPrivateKey()
1065
- const accessKeyPublicKey = Secp256k1.getPublicKey({ privateKey })
1066
- const payload = '0xdeadbeef'
1067
- const sig = Secp256k1.sign({ payload, privateKey })
1068
-
1069
- const envelope = SignatureEnvelope.from(
1070
- {
1071
- userAddress: '0x1234567890123456789012345678901234567890',
1072
- inner: SignatureEnvelope.from(sig),
1073
- },
1074
- { payload },
1075
- )
1076
-
1077
- expect(envelope.keyId).toBe(Address.fromPublicKey(accessKeyPublicKey))
1078
- })
1079
-
1080
- test('behavior: does not compute keyId for secp256k1 without payload', () => {
1081
- const envelope = SignatureEnvelope.from({
1082
- userAddress: '0x1234567890123456789012345678901234567890',
1083
- inner: SignatureEnvelope.from(signature_secp256k1),
1084
- })
1085
-
1086
- expect(envelope.keyId).toBeUndefined()
1087
- })
1088
-
1089
- test('behavior: preserves explicit keyId', () => {
1090
- const explicitKeyId = '0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
1091
- const envelope = SignatureEnvelope.from({
1092
- userAddress: '0x1234567890123456789012345678901234567890',
1093
- inner: signature_p256,
1094
- keyId: explicitKeyId,
1095
- })
1096
-
1097
- expect(envelope.keyId).toBe(explicitKeyId)
1098
- })
1099
- })
1100
- })
1101
-
1102
- describe('getType', () => {
1103
- describe('secp256k1', () => {
1104
- test('behavior: returns explicit type', () => {
1105
- const envelope: SignatureEnvelope.SignatureEnvelope = {
1106
- signature: { r: 0n, s: 0n, yParity: 0 },
1107
- type: 'secp256k1',
1108
- }
1109
-
1110
- expect(SignatureEnvelope.getType(envelope)).toBe('secp256k1')
1111
- })
1112
-
1113
- test('behavior: infers type from properties', () => {
1114
- expect(
1115
- SignatureEnvelope.getType({ signature: signature_secp256k1 }),
1116
- ).toBe('secp256k1')
1117
- })
1118
-
1119
- test('behavior: infers type from flat signature', () => {
1120
- const signature = { r: 0n, s: 0n, yParity: 0 }
1121
- expect(SignatureEnvelope.getType(signature)).toBe('secp256k1')
1122
- })
1123
- })
1124
-
1125
- describe('p256', () => {
1126
- test('behavior: returns explicit type', () => {
1127
- expect(SignatureEnvelope.getType(signature_p256)).toBe('p256')
1128
- })
1129
-
1130
- test('behavior: infers type from properties', () => {
1131
- const { type: _, ...signatureWithoutType } = signature_p256
1132
- expect(SignatureEnvelope.getType(signatureWithoutType)).toBe('p256')
1133
- })
1134
- })
1135
-
1136
- describe('webAuthn', () => {
1137
- test('behavior: returns explicit type', () => {
1138
- expect(SignatureEnvelope.getType(signature_webauthn)).toBe('webAuthn')
1139
- })
1140
-
1141
- test('behavior: infers type from properties', () => {
1142
- const { type: _, ...signatureWithoutType } = signature_webauthn
1143
- expect(SignatureEnvelope.getType(signatureWithoutType)).toBe('webAuthn')
1144
- })
1145
- })
1146
-
1147
- describe('keychain', () => {
1148
- test('behavior: returns explicit type', () => {
1149
- expect(SignatureEnvelope.getType(signature_keychain_secp256k1)).toBe(
1150
- 'keychain',
1151
- )
1152
- })
1153
-
1154
- test('behavior: infers type from properties', () => {
1155
- const { type: _, ...signatureWithoutType } = signature_keychain_secp256k1
1156
- expect(SignatureEnvelope.getType(signatureWithoutType)).toBe('keychain')
1157
- })
1158
-
1159
- test('behavior: infers type for keychain with p256 inner', () => {
1160
- const { type: _, ...signatureWithoutType } = signature_keychain_p256
1161
- expect(SignatureEnvelope.getType(signatureWithoutType)).toBe('keychain')
1162
- })
1163
-
1164
- test('behavior: infers type for keychain with webAuthn inner', () => {
1165
- const { type: _, ...signatureWithoutType } = signature_keychain_webauthn
1166
- expect(SignatureEnvelope.getType(signatureWithoutType)).toBe('keychain')
1167
- })
1168
- })
1169
-
1170
- test('error: throws on invalid envelope', () => {
1171
- expect(() =>
1172
- SignatureEnvelope.getType({} as any),
1173
- ).toThrowErrorMatchingInlineSnapshot(
1174
- `[SignatureEnvelope.CoercionError: Unable to coerce value (\`{}\`) to a valid signature envelope.]`,
1175
- )
1176
- })
1177
-
1178
- test('error: throws on incomplete signature', () => {
1179
- expect(() =>
1180
- SignatureEnvelope.getType({
1181
- r: 0n,
1182
- s: 0n,
1183
- } as any),
1184
- ).toThrowErrorMatchingInlineSnapshot(
1185
- `[SignatureEnvelope.CoercionError: Unable to coerce value (\`{"r":"0#__bigint","s":"0#__bigint"}\`) to a valid signature envelope.]`,
1186
- )
1187
- })
1188
- })
1189
-
1190
- describe('serialize', () => {
1191
- describe('secp256k1', () => {
1192
- test('behavior: serializes with explicit type', () => {
1193
- const envelope: SignatureEnvelope.SignatureEnvelope = {
1194
- signature: signature_secp256k1,
1195
- type: 'secp256k1',
1196
- }
1197
-
1198
- const serialized = SignatureEnvelope.serialize(envelope)
1199
-
1200
- expect(serialized).toBe(Signature.toHex(signature_secp256k1))
1201
- })
1202
-
1203
- test('behavior: serializes without explicit type', () => {
1204
- const serialized = SignatureEnvelope.serialize({
1205
- signature: signature_secp256k1,
1206
- type: 'secp256k1',
1207
- })
1208
-
1209
- expect(serialized).toBe(Signature.toHex(signature_secp256k1))
1210
- })
1211
-
1212
- test('behavior: serializes with magic identifier', () => {
1213
- const envelope: SignatureEnvelope.SignatureEnvelope = {
1214
- signature: signature_secp256k1,
1215
- type: 'secp256k1',
1216
- }
1217
-
1218
- const serialized = SignatureEnvelope.serialize(envelope, { magic: true })
1219
-
1220
- expect(serialized.endsWith(SignatureEnvelope.magicBytes.slice(2))).toBe(
1221
- true,
1222
- )
1223
- expect(Hex.size(serialized)).toBe(65 + 32) // signature + magic identifier
1224
- })
1225
- })
1226
-
1227
- describe('p256', () => {
1228
- test('behavior: serializes P256 signature with type identifier', () => {
1229
- const serialized = SignatureEnvelope.serialize(signature_p256)
1230
-
1231
- // Should be 130 bytes: 1 (type) + 32 (r) + 32 (s) + 32 (pubKeyX) + 32 (pubKeyY) + 1 (prehash)
1232
- expect(serialized.length).toBe(2 + 130 * 2) // 2 for '0x' prefix + 130 bytes * 2 hex chars
1233
-
1234
- // First byte should be P256 type identifier (0x01)
1235
- expect(serialized.slice(0, 4)).toBe('0x01')
1236
- })
1237
-
1238
- test('behavior: serializes prehash flag correctly', () => {
1239
- const withPreHashFalse = { ...signature_p256, prehash: false }
1240
- const serialized = SignatureEnvelope.serialize(withPreHashFalse)
1241
-
1242
- // Last byte should be 0x00 for false
1243
- expect(serialized.slice(-2)).toBe('00')
1244
- })
1245
-
1246
- test('behavior: serializes with magic identifier', () => {
1247
- const serialized = SignatureEnvelope.serialize(signature_p256, {
1248
- magic: true,
1249
- })
1250
-
1251
- expect(serialized.endsWith(SignatureEnvelope.magicBytes.slice(2))).toBe(
1252
- true,
1253
- )
1254
- expect(Hex.size(serialized)).toBe(130 + 32) // signature + magic identifier
1255
- })
1256
- })
1257
-
1258
- describe('webAuthn', () => {
1259
- test('behavior: serializes WebAuthn signature with type identifier', () => {
1260
- const serialized = SignatureEnvelope.serialize(signature_webauthn)
1261
-
1262
- // Should be: 1 (type) + authenticatorData.length + clientDataJSON.length + 128 (signature components)
1263
- const authDataLength =
1264
- (signature_webauthn.metadata.authenticatorData.length - 2) / 2
1265
- const clientDataLength = signature_webauthn.metadata.clientDataJSON.length
1266
- const expectedLength =
1267
- 2 + (1 + authDataLength + clientDataLength + 128) * 2
1268
-
1269
- expect(serialized.length).toBe(expectedLength)
1270
-
1271
- // First byte should be WebAuthn type identifier (0x02)
1272
- expect(serialized.slice(0, 4)).toBe('0x02')
1273
- })
1274
-
1275
- test('behavior: preserves metadata', () => {
1276
- const serialized = SignatureEnvelope.serialize(signature_webauthn)
1277
- const deserialized = SignatureEnvelope.deserialize(serialized)
1278
-
1279
- expect(deserialized.metadata?.authenticatorData).toBe(
1280
- signature_webauthn.metadata.authenticatorData,
1281
- )
1282
- expect(deserialized.metadata?.clientDataJSON).toBe(
1283
- signature_webauthn.metadata.clientDataJSON,
1284
- )
1285
- })
1286
-
1287
- test('behavior: serializes with magic identifier', () => {
1288
- const serialized = SignatureEnvelope.serialize(signature_webauthn, {
1289
- magic: true,
1290
- })
1291
-
1292
- expect(serialized.endsWith(SignatureEnvelope.magicBytes.slice(2))).toBe(
1293
- true,
1294
- )
1295
-
1296
- const authDataLength =
1297
- (signature_webauthn.metadata.authenticatorData.length - 2) / 2
1298
- const clientDataLength = signature_webauthn.metadata.clientDataJSON.length
1299
- const expectedSize = 1 + authDataLength + clientDataLength + 128 + 32 // type + data + signature components + magic
1300
-
1301
- expect(Hex.size(serialized)).toBe(expectedSize)
1302
- })
1303
- })
1304
-
1305
- describe('keychain', () => {
1306
- test('behavior: serializes keychain signature with secp256k1 inner and type identifier', () => {
1307
- const serialized = SignatureEnvelope.serialize(
1308
- signature_keychain_secp256k1,
1309
- )
1310
-
1311
- // Should be: 1 (type) + 20 (address) + 65 (secp256k1 signature)
1312
- expect(Hex.size(serialized)).toBe(1 + 20 + 65)
1313
-
1314
- // First byte should be Keychain V2 type identifier (0x04)
1315
- expect(Hex.slice(serialized, 0, 1)).toBe('0x04')
1316
-
1317
- // Next 20 bytes should be the user address (without '0x')
1318
- expect(Hex.slice(serialized, 1, 21)).toBe(
1319
- signature_keychain_secp256k1.userAddress,
1320
- )
1321
- })
1322
-
1323
- test('behavior: serializes keychain signature with p256 inner', () => {
1324
- const serialized = SignatureEnvelope.serialize(signature_keychain_p256)
1325
-
1326
- // Should be: 1 (type) + 20 (address) + 130 (p256 signature with type)
1327
- expect(Hex.size(serialized)).toBe(1 + 20 + 130)
1328
-
1329
- // First byte should be Keychain V2 type identifier (0x04)
1330
- expect(Hex.slice(serialized, 0, 1)).toBe('0x04')
1331
-
1332
- // Next 20 bytes should be the user address (without '0x')
1333
- expect(Hex.slice(serialized, 1, 21)).toBe(
1334
- signature_keychain_p256.userAddress,
1335
- )
1336
-
1337
- // Next 130 bytes should be the p256 signature
1338
- expect(Hex.slice(serialized, 21, 151)).toBe(
1339
- SignatureEnvelope.serialize(signature_p256),
1340
- )
1341
- })
1342
-
1343
- test('behavior: serializes keychain signature with webAuthn inner', () => {
1344
- const serialized = SignatureEnvelope.serialize(
1345
- signature_keychain_webauthn,
1346
- )
1347
-
1348
- // First byte should be Keychain V2 type identifier (0x04)
1349
- expect(Hex.slice(serialized, 0, 1)).toBe('0x04')
1350
-
1351
- // Should contain the user address
1352
- expect(Hex.slice(serialized, 1, 21)).toBe(
1353
- signature_keychain_webauthn.userAddress,
1354
- )
1355
-
1356
- // Next N bytes should be the webAuthn signature
1357
- expect(Hex.slice(serialized, 21)).toBe(
1358
- SignatureEnvelope.serialize(signature_webauthn),
1359
- )
1360
- })
1361
-
1362
- test('behavior: preserves userAddress and inner signature', () => {
1363
- const serialized = SignatureEnvelope.serialize(
1364
- signature_keychain_secp256k1,
1365
- )
1366
- const deserialized = SignatureEnvelope.deserialize(serialized)
1367
-
1368
- expect(deserialized.userAddress).toBe(
1369
- signature_keychain_secp256k1.userAddress,
1370
- )
1371
- expect(deserialized.inner).toMatchObject({
1372
- type: 'secp256k1',
1373
- signature: {
1374
- r: signature_secp256k1.r,
1375
- s: signature_secp256k1.s,
1376
- yParity: signature_secp256k1.yParity,
1377
- },
1378
- })
1379
- })
1380
-
1381
- test('behavior: serializes with magic identifier', () => {
1382
- const serialized = SignatureEnvelope.serialize(
1383
- signature_keychain_secp256k1,
1384
- { magic: true },
1385
- )
1386
-
1387
- expect(serialized.endsWith(SignatureEnvelope.magicBytes.slice(2))).toBe(
1388
- true,
1389
- )
1390
- expect(Hex.size(serialized)).toBe(1 + 20 + 65 + 32) // type + address + secp256k1 + magic
1391
- })
1392
- })
1393
-
1394
- describe('roundtrip', () => {
1395
- describe('secp256k1', () => {
1396
- test('behavior: roundtrips serialize -> deserialize', () => {
1397
- const envelope: SignatureEnvelope.Secp256k1 = {
1398
- signature: signature_secp256k1,
1399
- type: 'secp256k1',
1400
- }
1401
-
1402
- const serialized = SignatureEnvelope.serialize(envelope)
1403
- const deserialized = SignatureEnvelope.deserialize(serialized)
1404
-
1405
- expect(deserialized).toMatchObject({
1406
- signature: {
1407
- r: signature_secp256k1.r,
1408
- s: signature_secp256k1.s,
1409
- yParity: signature_secp256k1.yParity,
1410
- },
1411
- type: 'secp256k1',
1412
- })
1413
- })
1414
-
1415
- test('behavior: roundtrips serialize with magic -> deserialize', () => {
1416
- const envelope: SignatureEnvelope.Secp256k1 = {
1417
- signature: signature_secp256k1,
1418
- type: 'secp256k1',
1419
- }
1420
-
1421
- const serialized = SignatureEnvelope.serialize(envelope, {
1422
- magic: true,
1423
- })
1424
- const deserialized = SignatureEnvelope.deserialize(serialized)
1425
-
1426
- expect(deserialized).toMatchObject({
1427
- signature: {
1428
- r: signature_secp256k1.r,
1429
- s: signature_secp256k1.s,
1430
- yParity: signature_secp256k1.yParity,
1431
- },
1432
- type: 'secp256k1',
1433
- })
1434
- })
1435
- })
1436
-
1437
- describe('p256', () => {
1438
- test('behavior: roundtrips serialize -> deserialize', () => {
1439
- const serialized = SignatureEnvelope.serialize(signature_p256)
1440
- const deserialized = SignatureEnvelope.deserialize(serialized)
1441
-
1442
- expect(deserialized).toMatchObject({
1443
- signature: {
1444
- r: signature_p256.signature.r,
1445
- s: signature_p256.signature.s,
1446
- },
1447
- publicKey: {
1448
- x: signature_p256.publicKey.x,
1449
- y: signature_p256.publicKey.y,
1450
- },
1451
- prehash: signature_p256.prehash,
1452
- type: 'p256',
1453
- })
1454
- })
1455
-
1456
- test('behavior: handles prehash=false', () => {
1457
- const signature = { ...signature_p256, prehash: false }
1458
- const serialized = SignatureEnvelope.serialize(signature)
1459
- const deserialized = SignatureEnvelope.deserialize(serialized)
1460
-
1461
- expect(deserialized.prehash).toBe(false)
1462
- })
1463
-
1464
- test('behavior: roundtrips serialize with magic -> deserialize', () => {
1465
- const serialized = SignatureEnvelope.serialize(signature_p256, {
1466
- magic: true,
1467
- })
1468
- const deserialized = SignatureEnvelope.deserialize(serialized)
1469
-
1470
- expect(deserialized).toMatchObject({
1471
- signature: {
1472
- r: signature_p256.signature.r,
1473
- s: signature_p256.signature.s,
1474
- },
1475
- publicKey: {
1476
- x: signature_p256.publicKey.x,
1477
- y: signature_p256.publicKey.y,
1478
- },
1479
- prehash: signature_p256.prehash,
1480
- type: 'p256',
1481
- })
1482
- })
1483
- })
1484
-
1485
- describe('webAuthn', () => {
1486
- test('behavior: roundtrips serialize -> deserialize', () => {
1487
- const serialized = SignatureEnvelope.serialize(signature_webauthn)
1488
- const deserialized = SignatureEnvelope.deserialize(serialized)
1489
-
1490
- expect(deserialized).toMatchObject({
1491
- signature: {
1492
- r: signature_webauthn.signature.r,
1493
- s: signature_webauthn.signature.s,
1494
- },
1495
- publicKey: {
1496
- x: signature_webauthn.publicKey.x,
1497
- y: signature_webauthn.publicKey.y,
1498
- },
1499
- metadata: {
1500
- authenticatorData: signature_webauthn.metadata.authenticatorData,
1501
- clientDataJSON: signature_webauthn.metadata.clientDataJSON,
1502
- },
1503
- type: 'webAuthn',
1504
- })
1505
- })
1506
-
1507
- test('behavior: handles variable-length clientDataJSON', () => {
1508
- const longClientData = JSON.stringify({
1509
- type: 'webAuthn.get',
1510
- challenge: 'a'.repeat(100),
1511
- origin: 'https://example.com',
1512
- })
1513
-
1514
- const signatureWithLongData = {
1515
- ...signature_webauthn,
1516
- metadata: {
1517
- ...signature_webauthn.metadata,
1518
- clientDataJSON: longClientData,
1519
- },
1520
- }
1521
-
1522
- const serialized = SignatureEnvelope.serialize(signatureWithLongData)
1523
- const deserialized = SignatureEnvelope.deserialize(serialized)
1524
-
1525
- expect(deserialized.metadata?.clientDataJSON).toBe(longClientData)
1526
- })
1527
-
1528
- test('behavior: roundtrips serialize with magic -> deserialize', () => {
1529
- const serialized = SignatureEnvelope.serialize(signature_webauthn, {
1530
- magic: true,
1531
- })
1532
- const deserialized = SignatureEnvelope.deserialize(serialized)
1533
-
1534
- expect(deserialized).toMatchObject({
1535
- signature: {
1536
- r: signature_webauthn.signature.r,
1537
- s: signature_webauthn.signature.s,
1538
- },
1539
- publicKey: {
1540
- x: signature_webauthn.publicKey.x,
1541
- y: signature_webauthn.publicKey.y,
1542
- },
1543
- metadata: {
1544
- authenticatorData: signature_webauthn.metadata.authenticatorData,
1545
- clientDataJSON: signature_webauthn.metadata.clientDataJSON,
1546
- },
1547
- type: 'webAuthn',
1548
- })
1549
- })
1550
- })
1551
-
1552
- describe('keychain', () => {
1553
- test('behavior: roundtrips serialize -> deserialize with secp256k1 inner', () => {
1554
- const serialized = SignatureEnvelope.serialize(
1555
- signature_keychain_secp256k1,
1556
- )
1557
- const deserialized = SignatureEnvelope.deserialize(serialized)
1558
-
1559
- expect(deserialized).toMatchObject(signature_keychain_secp256k1)
1560
- })
1561
-
1562
- test('behavior: roundtrips serialize -> deserialize with p256 inner', () => {
1563
- const serialized = SignatureEnvelope.serialize(signature_keychain_p256)
1564
- const deserialized = SignatureEnvelope.deserialize(serialized)
1565
-
1566
- expect(deserialized).toMatchInlineSnapshot(`
1567
- {
1568
- "inner": {
1569
- "prehash": true,
1570
- "publicKey": {
1571
- "prefix": 4,
1572
- "x": 78495282704852028275327922540131762143565388050940484317945369745559774511861n,
1573
- "y": 8109764566587999957624872393871720746996669263962991155166704261108473113504n,
1574
- },
1575
- "signature": {
1576
- "r": 92602584010956101470289867944347135737570451066466093224269890121909314569518n,
1577
- "s": 54171125190222965779385658110416711469231271457324878825831748147306957269813n,
1578
- },
1579
- "type": "p256",
1580
- },
1581
- "type": "keychain",
1582
- "userAddress": "0xabcdefabcdefabcdefabcdefabcdefabcdefabcd",
1583
- "version": "v2",
1584
- }
1585
- `)
1586
- })
1587
-
1588
- test('behavior: roundtrips serialize -> deserialize with webAuthn inner', () => {
1589
- const serialized = SignatureEnvelope.serialize(
1590
- signature_keychain_webauthn,
1591
- )
1592
- const deserialized = SignatureEnvelope.deserialize(serialized)
1593
-
1594
- expect(deserialized).toMatchInlineSnapshot(`
1595
- {
1596
- "inner": {
1597
- "metadata": {
1598
- "authenticatorData": "0x49960de5880e8c687434170f6476605b8fe4aeb9a28632c7995cf3ba831d97630500000000",
1599
- "clientDataJSON": "{"type":"webauthn.get","challenge":"3q2-7w","origin":"http://localhost","crossOrigin":false}",
1600
- },
1601
- "publicKey": {
1602
- "prefix": 4,
1603
- "x": 78495282704852028275327922540131762143565388050940484317945369745559774511861n,
1604
- "y": 8109764566587999957624872393871720746996669263962991155166704261108473113504n,
1605
- },
1606
- "signature": {
1607
- "r": 92602584010956101470289867944347135737570451066466093224269890121909314569518n,
1608
- "s": 54171125190222965779385658110416711469231271457324878825831748147306957269813n,
1609
- },
1610
- "type": "webAuthn",
1611
- },
1612
- "type": "keychain",
1613
- "userAddress": "0xfedcbafedcbafedcbafedcbafedcbafedcbafedc",
1614
- "version": "v2",
1615
- }
1616
- `)
1617
- })
1618
-
1619
- test('behavior: roundtrips serialize with magic -> deserialize with secp256k1 inner', () => {
1620
- const serialized = SignatureEnvelope.serialize(
1621
- signature_keychain_secp256k1,
1622
- { magic: true },
1623
- )
1624
- const deserialized = SignatureEnvelope.deserialize(serialized)
1625
-
1626
- expect(deserialized).toMatchObject(signature_keychain_secp256k1)
1627
- })
1628
-
1629
- test('behavior: roundtrips serialize with magic -> deserialize with p256 inner', () => {
1630
- const serialized = SignatureEnvelope.serialize(
1631
- signature_keychain_p256,
1632
- { magic: true },
1633
- )
1634
- const deserialized = SignatureEnvelope.deserialize(serialized)
1635
-
1636
- expect(deserialized).toMatchObject({
1637
- type: 'keychain',
1638
- userAddress: signature_keychain_p256.userAddress,
1639
- inner: {
1640
- type: 'p256',
1641
- prehash: signature_p256.prehash,
1642
- publicKey: {
1643
- x: signature_p256.publicKey.x,
1644
- y: signature_p256.publicKey.y,
1645
- },
1646
- signature: {
1647
- r: signature_p256.signature.r,
1648
- s: signature_p256.signature.s,
1649
- },
1650
- },
1651
- })
1652
- })
1653
-
1654
- test('behavior: roundtrips serialize with magic -> deserialize with webAuthn inner', () => {
1655
- const serialized = SignatureEnvelope.serialize(
1656
- signature_keychain_webauthn,
1657
- { magic: true },
1658
- )
1659
- const deserialized = SignatureEnvelope.deserialize(serialized)
1660
-
1661
- expect(deserialized).toMatchObject({
1662
- type: 'keychain',
1663
- userAddress: signature_keychain_webauthn.userAddress,
1664
- inner: {
1665
- type: 'webAuthn',
1666
- metadata: {
1667
- authenticatorData: signature_webauthn.metadata.authenticatorData,
1668
- clientDataJSON: signature_webauthn.metadata.clientDataJSON,
1669
- },
1670
- publicKey: {
1671
- x: signature_webauthn.publicKey.x,
1672
- y: signature_webauthn.publicKey.y,
1673
- },
1674
- signature: {
1675
- r: signature_webauthn.signature.r,
1676
- s: signature_webauthn.signature.s,
1677
- },
1678
- },
1679
- })
1680
- })
1681
- })
1682
- })
1683
-
1684
- test('error: throws on invalid envelope', () => {
1685
- const error = (() => {
1686
- try {
1687
- SignatureEnvelope.serialize({} as any)
1688
- return
1689
- } catch (e) {
1690
- return e
1691
- }
1692
- })() as SignatureEnvelope.CoercionError
1693
- expect(error).toBeInstanceOf(SignatureEnvelope.CoercionError)
1694
- expect(error.message).toMatchInlineSnapshot(
1695
- `"Unable to coerce value (\`{}\`) to a valid signature envelope."`,
1696
- )
1697
- })
1698
- })
1699
-
1700
- describe('sortMultisigApprovals', () => {
1701
- const account = '0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' as const
1702
- const configId = `0x${'11'.repeat(32)}` as const
1703
- const payload = `0x${'42'.repeat(32)}` as const
1704
- const digest = MultisigConfig.getSignPayload({
1705
- account,
1706
- configId,
1707
- payload,
1708
- })
1709
-
1710
- const owners = Array.from({ length: 3 }, () => {
1711
- const privateKey = Secp256k1.randomPrivateKey()
1712
- const address = Address.fromPublicKey(
1713
- Secp256k1.getPublicKey({ privateKey }),
1714
- )
1715
- const signature = SignatureEnvelope.from(
1716
- Secp256k1.sign({ payload: digest, privateKey }),
1717
- )
1718
- return { address, signature } as const
1719
- })
1720
- const ascending = [...owners].sort((a, b) =>
1721
- Hex.toBigInt(a.address) < Hex.toBigInt(b.address) ? -1 : 1,
1722
- )
1723
-
1724
- test('behavior: orders approvals ascending by recovered owner address', () => {
1725
- const ordered = SignatureEnvelope.sortMultisigApprovals({
1726
- account,
1727
- configId,
1728
- payload,
1729
- // Provide approvals in reverse of the canonical order.
1730
- signatures: [...ascending].reverse().map((owner) => owner.signature),
1731
- })
1732
- expect(ordered).toEqual(ascending.map((owner) => owner.signature))
1733
- })
1734
-
1735
- test('behavior: already-sorted input is unchanged', () => {
1736
- const signatures = ascending.map((owner) => owner.signature)
1737
- expect(
1738
- SignatureEnvelope.sortMultisigApprovals({
1739
- account,
1740
- configId,
1741
- payload,
1742
- signatures,
1743
- }),
1744
- ).toEqual(signatures)
1745
- })
1746
-
1747
- test('behavior: recovered order matches the config owner order', () => {
1748
- const ordered = SignatureEnvelope.sortMultisigApprovals({
1749
- account,
1750
- configId,
1751
- payload,
1752
- signatures: owners.map((owner) => owner.signature),
1753
- })
1754
- const recovered = ordered.map((signature) =>
1755
- SignatureEnvelope.extractAddress({ payload: digest, signature }),
1756
- )
1757
- expect(recovered).toEqual(ascending.map((owner) => owner.address))
1758
- })
1759
- })
1760
-
1761
- describe('validate', () => {
1762
- describe('secp256k1', () => {
1763
- test('behavior: returns true for valid signature', () => {
1764
- expect(
1765
- SignatureEnvelope.validate({
1766
- signature: signature_secp256k1,
1767
- type: 'secp256k1',
1768
- }),
1769
- ).toBe(true)
1770
- })
1771
-
1772
- test('behavior: returns true for signature without explicit type', () => {
1773
- expect(
1774
- SignatureEnvelope.validate({ signature: signature_secp256k1 }),
1775
- ).toBe(true)
1776
- })
1777
-
1778
- test('behavior: returns false for invalid signature values', () => {
1779
- expect(
1780
- SignatureEnvelope.validate({
1781
- signature: {
1782
- r: 0n,
1783
- s: 0n,
1784
- yParity: 2,
1785
- },
1786
- type: 'secp256k1',
1787
- }),
1788
- ).toBe(false)
1789
- })
1790
- })
1791
-
1792
- describe('p256', () => {
1793
- test('behavior: returns true for valid P256 signature', () => {
1794
- expect(SignatureEnvelope.validate(signature_p256)).toBe(true)
1795
- })
1796
-
1797
- test('behavior: returns false for invalid P256 signature', () => {
1798
- expect(
1799
- SignatureEnvelope.validate({
1800
- ...signature_p256,
1801
- prehash: 'invalid' as any,
1802
- }),
1803
- ).toBe(false)
1804
- })
1805
- })
1806
-
1807
- describe('webAuthn', () => {
1808
- test('behavior: returns true for valid WebAuthn signature', () => {
1809
- expect(SignatureEnvelope.validate(signature_webauthn)).toBe(true)
1810
- })
1811
-
1812
- test('behavior: returns false for invalid WebAuthn signature', () => {
1813
- const { metadata: _, ...withoutMetadata } = signature_webauthn
1814
- expect(SignatureEnvelope.validate(withoutMetadata as any)).toBe(false)
1815
- })
1816
- })
1817
-
1818
- describe('keychain', () => {
1819
- test('behavior: returns true for valid keychain with secp256k1 inner', () => {
1820
- expect(SignatureEnvelope.validate(signature_keychain_secp256k1)).toBe(
1821
- true,
1822
- )
1823
- })
1824
-
1825
- test('behavior: returns true for valid keychain with p256 inner', () => {
1826
- expect(SignatureEnvelope.validate(signature_keychain_p256)).toBe(true)
1827
- })
1828
-
1829
- test('behavior: returns true for valid keychain with webAuthn inner', () => {
1830
- expect(SignatureEnvelope.validate(signature_keychain_webauthn)).toBe(true)
1831
- })
1832
-
1833
- test('behavior: returns false for invalid keychain signature', () => {
1834
- expect(
1835
- SignatureEnvelope.validate({
1836
- userAddress: '0x1234567890123456789012345678901234567890',
1837
- inner: {
1838
- signature: {
1839
- r: 0n,
1840
- s: 0n,
1841
- yParity: 2,
1842
- },
1843
- type: 'secp256k1',
1844
- },
1845
- type: 'keychain',
1846
- } as any),
1847
- ).toBe(false)
1848
- })
1849
- })
1850
-
1851
- test('behavior: returns false for invalid envelope', () => {
1852
- expect(SignatureEnvelope.validate({} as any)).toBe(false)
1853
- })
1854
-
1855
- test('behavior: returns false for incomplete signature', () => {
1856
- expect(
1857
- SignatureEnvelope.validate({
1858
- r: 0n,
1859
- s: 0n,
1860
- } as any),
1861
- ).toBe(false)
1862
- })
1863
- })
1864
-
1865
- describe('verify', () => {
1866
- describe('secp256k1', () => {
1867
- test('behavior: verifies valid signature with publicKey', () => {
1868
- const privateKey = Secp256k1.randomPrivateKey()
1869
- const publicKey = Secp256k1.getPublicKey({ privateKey })
1870
- const payload = '0xdeadbeef' as const
1871
-
1872
- const signature = Secp256k1.sign({ payload, privateKey })
1873
- const envelope = SignatureEnvelope.from(signature)
1874
-
1875
- expect(
1876
- SignatureEnvelope.verify(envelope, {
1877
- payload,
1878
- publicKey,
1879
- }),
1880
- ).toBe(true)
1881
- })
1882
-
1883
- test('behavior: verifies valid signature with address', () => {
1884
- const privateKey = Secp256k1.randomPrivateKey()
1885
- const publicKey = Secp256k1.getPublicKey({ privateKey })
1886
- const address = Address.fromPublicKey(publicKey)
1887
- const payload = '0xdeadbeef' as const
1888
-
1889
- const signature = Secp256k1.sign({ payload, privateKey })
1890
- const envelope = SignatureEnvelope.from(signature)
1891
-
1892
- expect(
1893
- SignatureEnvelope.verify(envelope, {
1894
- payload,
1895
- address,
1896
- }),
1897
- ).toBe(true)
1898
- })
1899
-
1900
- test('behavior: returns false for wrong publicKey', () => {
1901
- const privateKey = Secp256k1.randomPrivateKey()
1902
- const wrongPrivateKey = Secp256k1.randomPrivateKey()
1903
- const wrongPublicKey = Secp256k1.getPublicKey({
1904
- privateKey: wrongPrivateKey,
1905
- })
1906
- const payload = '0xdeadbeef' as const
1907
-
1908
- const signature = Secp256k1.sign({ payload, privateKey })
1909
- const envelope = SignatureEnvelope.from(signature)
1910
-
1911
- expect(
1912
- SignatureEnvelope.verify(envelope, {
1913
- payload,
1914
- publicKey: wrongPublicKey,
1915
- }),
1916
- ).toBe(false)
1917
- })
1918
-
1919
- test('behavior: returns false for wrong payload', () => {
1920
- const privateKey = Secp256k1.randomPrivateKey()
1921
- const publicKey = Secp256k1.getPublicKey({ privateKey })
1922
- const payload = '0xdeadbeef' as const
1923
-
1924
- const signature = Secp256k1.sign({ payload, privateKey })
1925
- const envelope = SignatureEnvelope.from(signature)
1926
-
1927
- expect(
1928
- SignatureEnvelope.verify(envelope, {
1929
- payload: '0xcafebabe',
1930
- publicKey,
1931
- }),
1932
- ).toBe(false)
1933
- })
1934
- })
1935
-
1936
- describe('p256', () => {
1937
- test('behavior: verifies valid signature with publicKey', () => {
1938
- const privateKey = P256.randomPrivateKey()
1939
- const publicKey = P256.getPublicKey({ privateKey })
1940
- const payload = '0xdeadbeef' as const
1941
-
1942
- const signature = P256.sign({ payload, privateKey })
1943
- const envelope = SignatureEnvelope.from({
1944
- prehash: false,
1945
- publicKey,
1946
- signature,
1947
- })
1948
-
1949
- expect(
1950
- SignatureEnvelope.verify(envelope, {
1951
- payload,
1952
- publicKey,
1953
- }),
1954
- ).toBe(true)
1955
- })
1956
-
1957
- test('behavior: verifies valid signature with address', () => {
1958
- const privateKey = P256.randomPrivateKey()
1959
- const publicKey = P256.getPublicKey({ privateKey })
1960
- const address = Address.fromPublicKey(publicKey)
1961
- const payload = '0xdeadbeef' as const
1962
-
1963
- const signature = P256.sign({ payload, privateKey })
1964
- const envelope = SignatureEnvelope.from({
1965
- prehash: false,
1966
- publicKey,
1967
- signature,
1968
- })
1969
-
1970
- expect(
1971
- SignatureEnvelope.verify(envelope, {
1972
- payload,
1973
- address,
1974
- }),
1975
- ).toBe(true)
1976
- })
1977
-
1978
- test('behavior: returns false for mismatched publicKey', () => {
1979
- const privateKey = P256.randomPrivateKey()
1980
- const publicKey = P256.getPublicKey({ privateKey })
1981
- const wrongPrivateKey = P256.randomPrivateKey()
1982
- const wrongPublicKey = P256.getPublicKey({ privateKey: wrongPrivateKey })
1983
- const payload = '0xdeadbeef' as const
1984
-
1985
- const signature = P256.sign({ payload, privateKey })
1986
- const envelope = SignatureEnvelope.from({
1987
- prehash: false,
1988
- publicKey,
1989
- signature,
1990
- })
1991
-
1992
- expect(
1993
- SignatureEnvelope.verify(envelope, {
1994
- payload,
1995
- publicKey: wrongPublicKey,
1996
- }),
1997
- ).toBe(false)
1998
- })
1999
-
2000
- test('behavior: returns false for wrong payload', () => {
2001
- const privateKey = P256.randomPrivateKey()
2002
- const publicKey = P256.getPublicKey({ privateKey })
2003
- const payload = '0xdeadbeef' as const
2004
-
2005
- const signature = P256.sign({ payload, privateKey })
2006
- const envelope = SignatureEnvelope.from({
2007
- prehash: false,
2008
- publicKey,
2009
- signature,
2010
- })
2011
-
2012
- expect(
2013
- SignatureEnvelope.verify(envelope, {
2014
- payload: '0xcafebabe',
2015
- publicKey,
2016
- }),
2017
- ).toBe(false)
2018
- })
2019
- })
2020
-
2021
- describe('webCryptoP256', () => {
2022
- test('behavior: verifies valid signature with publicKey', async () => {
2023
- const { privateKey, publicKey } = await WebCryptoP256.createKeyPair()
2024
- const payload = '0xdeadbeef' as const
2025
-
2026
- const signature = await WebCryptoP256.sign({ payload, privateKey })
2027
- const envelope = SignatureEnvelope.from({
2028
- prehash: true,
2029
- publicKey,
2030
- signature,
2031
- })
2032
-
2033
- expect(
2034
- SignatureEnvelope.verify(envelope, {
2035
- payload,
2036
- publicKey,
2037
- }),
2038
- ).toBe(true)
2039
- })
2040
-
2041
- test('behavior: verifies valid signature with address', async () => {
2042
- const { privateKey, publicKey } = await WebCryptoP256.createKeyPair()
2043
- const address = Address.fromPublicKey(publicKey)
2044
- const payload = '0xdeadbeef' as const
2045
-
2046
- const signature = await WebCryptoP256.sign({ payload, privateKey })
2047
- const envelope = SignatureEnvelope.from({
2048
- prehash: true,
2049
- publicKey,
2050
- signature,
2051
- })
2052
-
2053
- expect(
2054
- SignatureEnvelope.verify(envelope, {
2055
- payload,
2056
- address,
2057
- }),
2058
- ).toBe(true)
2059
- })
2060
-
2061
- test('behavior: returns false for mismatched publicKey', async () => {
2062
- const { privateKey, publicKey } = await WebCryptoP256.createKeyPair()
2063
- const { publicKey: wrongPublicKey } = await WebCryptoP256.createKeyPair()
2064
- const payload = '0xdeadbeef' as const
2065
-
2066
- const signature = await WebCryptoP256.sign({ payload, privateKey })
2067
- const envelope = SignatureEnvelope.from({
2068
- prehash: true,
2069
- publicKey,
2070
- signature,
2071
- })
2072
-
2073
- expect(
2074
- SignatureEnvelope.verify(envelope, {
2075
- payload,
2076
- publicKey: wrongPublicKey,
2077
- }),
2078
- ).toBe(false)
2079
- })
2080
-
2081
- test('behavior: returns false for wrong payload', async () => {
2082
- const { privateKey, publicKey } = await WebCryptoP256.createKeyPair()
2083
- const payload = '0xdeadbeef' as const
2084
-
2085
- const signature = await WebCryptoP256.sign({ payload, privateKey })
2086
- const envelope = SignatureEnvelope.from({
2087
- prehash: true,
2088
- publicKey,
2089
- signature,
2090
- })
2091
-
2092
- expect(
2093
- SignatureEnvelope.verify(envelope, {
2094
- payload: '0xcafebabe',
2095
- publicKey,
2096
- }),
2097
- ).toBe(false)
2098
- })
2099
- })
2100
-
2101
- describe('webAuthn', () => {
2102
- test('behavior: returns false for mismatched publicKey', () => {
2103
- const wrongPrivateKey = P256.randomPrivateKey()
2104
- const wrongPublicKey = P256.getPublicKey({ privateKey: wrongPrivateKey })
2105
- const payload = '0xdeadbeef' as const
2106
-
2107
- expect(
2108
- SignatureEnvelope.verify(signature_webauthn, {
2109
- payload,
2110
- publicKey: wrongPublicKey,
2111
- }),
2112
- ).toBe(false)
2113
- })
2114
-
2115
- test('behavior: returns false for mismatched address', () => {
2116
- const wrongPrivateKey = P256.randomPrivateKey()
2117
- const wrongPublicKey = P256.getPublicKey({ privateKey: wrongPrivateKey })
2118
- const wrongAddress = Address.fromPublicKey(wrongPublicKey)
2119
- const payload = '0xdeadbeef' as const
2120
-
2121
- expect(
2122
- SignatureEnvelope.verify(signature_webauthn, {
2123
- payload,
2124
- address: wrongAddress,
2125
- }),
2126
- ).toBe(false)
2127
- })
2128
- })
2129
-
2130
- describe('keychain', () => {
2131
- test('error: throws for keychain signatures', () => {
2132
- const privateKey = Secp256k1.randomPrivateKey()
2133
- const secp256k1PublicKey = Secp256k1.getPublicKey({ privateKey })
2134
- const payload = '0xdeadbeef' as const
2135
-
2136
- const signature = Secp256k1.sign({ payload, privateKey })
2137
- const innerEnvelope = SignatureEnvelope.from(signature)
2138
- const envelope = SignatureEnvelope.from({
2139
- userAddress: '0x1234567890123456789012345678901234567890',
2140
- inner: innerEnvelope,
2141
- })
2142
-
2143
- expect(() =>
2144
- SignatureEnvelope.verify(envelope, {
2145
- payload,
2146
- publicKey: secp256k1PublicKey,
2147
- }),
2148
- ).toThrowErrorMatchingInlineSnapshot(
2149
- `[SignatureEnvelope.VerificationError: Unable to verify signature envelope of type "keychain".]`,
2150
- )
2151
- })
2152
- })
2153
- })
2154
-
2155
- describe('fromRpc', () => {
2156
- describe('secp256k1', () => {
2157
- test('behavior: converts RPC secp256k1 signature', () => {
2158
- const rpc: SignatureEnvelope.Secp256k1Rpc = {
2159
- r: Signature.toRpc(signature_secp256k1).r,
2160
- s: Signature.toRpc(signature_secp256k1).s,
2161
- yParity: Signature.toRpc(signature_secp256k1).yParity,
2162
- type: 'secp256k1',
2163
- }
2164
-
2165
- const envelope = SignatureEnvelope.fromRpc(rpc)
2166
-
2167
- expect(envelope).toMatchObject({
2168
- signature: {
2169
- r: signature_secp256k1.r,
2170
- s: signature_secp256k1.s,
2171
- yParity: signature_secp256k1.yParity,
2172
- },
2173
- type: 'secp256k1',
2174
- })
2175
- })
2176
- })
2177
-
2178
- describe('p256', () => {
2179
- test('behavior: converts RPC P256 signature', () => {
2180
- const rpc: SignatureEnvelope.P256Rpc = {
2181
- preHash: true,
2182
- pubKeyX: Hex.fromNumber(publicKey.x, { size: 32 }),
2183
- pubKeyY: Hex.fromNumber(publicKey.y, { size: 32 }),
2184
- r: Hex.fromNumber(p256Signature.r, { size: 32 }),
2185
- s: Hex.fromNumber(p256Signature.s, { size: 32 }),
2186
- type: 'p256',
2187
- }
2188
-
2189
- const envelope = SignatureEnvelope.fromRpc(rpc)
2190
-
2191
- expect(envelope).toMatchObject({
2192
- prehash: true,
2193
- publicKey: {
2194
- x: publicKey.x,
2195
- y: publicKey.y,
2196
- },
2197
- signature: {
2198
- r: p256Signature.r,
2199
- s: p256Signature.s,
2200
- },
2201
- type: 'p256',
2202
- })
2203
- })
2204
- })
2205
-
2206
- describe('webAuthn', () => {
2207
- test('behavior: converts RPC WebAuthn signature', () => {
2208
- const webauthnData = WebAuthnP256.getAuthenticatorData({
2209
- rpId: 'localhost',
2210
- })
2211
- const clientDataJSON = WebAuthnP256.getClientDataJSON({
2212
- challenge: '0xdeadbeef',
2213
- origin: 'http://localhost',
2214
- })
2215
-
2216
- const rpc: SignatureEnvelope.WebAuthnRpc = {
2217
- pubKeyX: Hex.fromNumber(publicKey.x, { size: 32 }),
2218
- pubKeyY: Hex.fromNumber(publicKey.y, { size: 32 }),
2219
- r: Hex.fromNumber(p256Signature.r, { size: 32 }),
2220
- s: Hex.fromNumber(p256Signature.s, { size: 32 }),
2221
- type: 'webAuthn',
2222
- webauthnData: Hex.concat(webauthnData, Hex.fromString(clientDataJSON)),
2223
- }
2224
-
2225
- const envelope = SignatureEnvelope.fromRpc(rpc)
2226
-
2227
- expect(envelope).toMatchObject({
2228
- metadata: {
2229
- authenticatorData: webauthnData,
2230
- clientDataJSON,
2231
- },
2232
- publicKey: {
2233
- x: publicKey.x,
2234
- y: publicKey.y,
2235
- },
2236
- signature: {
2237
- r: p256Signature.r,
2238
- s: p256Signature.s,
2239
- },
2240
- type: 'webAuthn',
2241
- })
2242
- })
2243
- })
2244
-
2245
- describe('keychain', () => {
2246
- test('behavior: converts RPC keychain signature with secp256k1 inner', () => {
2247
- const rpc: SignatureEnvelope.KeychainRpc = {
2248
- type: 'keychain',
2249
- userAddress: '0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266',
2250
- signature: {
2251
- type: 'secp256k1',
2252
- r: '0xa2bb71146c20ce932456c043ebb2973ed205e07cd32c35a60bdefca1285fd132',
2253
- s: '0x7cba10692bccdbfba9a215418443c2903dbee6fe5cb55c91172e47efc607840e',
2254
- yParity: '0x1',
2255
- },
2256
- }
2257
-
2258
- const envelope = SignatureEnvelope.fromRpc(rpc)
2259
-
2260
- expect(envelope).toMatchObject({
2261
- type: 'keychain',
2262
- userAddress: '0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266',
2263
- inner: {
2264
- type: 'secp256k1',
2265
- signature: {
2266
- r: 0xa2bb71146c20ce932456c043ebb2973ed205e07cd32c35a60bdefca1285fd132n,
2267
- s: 0x7cba10692bccdbfba9a215418443c2903dbee6fe5cb55c91172e47efc607840en,
2268
- yParity: 1,
2269
- },
2270
- },
2271
- })
2272
- })
2273
-
2274
- test('behavior: converts RPC keychain signature with p256 inner', () => {
2275
- const rpc: SignatureEnvelope.KeychainRpc = {
2276
- type: 'keychain',
2277
- userAddress: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd',
2278
- signature: {
2279
- preHash: true,
2280
- pubKeyX: Hex.fromNumber(publicKey.x, { size: 32 }),
2281
- pubKeyY: Hex.fromNumber(publicKey.y, { size: 32 }),
2282
- r: Hex.fromNumber(p256Signature.r, { size: 32 }),
2283
- s: Hex.fromNumber(p256Signature.s, { size: 32 }),
2284
- type: 'p256',
2285
- },
2286
- }
2287
-
2288
- const envelope = SignatureEnvelope.fromRpc(rpc)
2289
-
2290
- expect(envelope).toMatchObject({
2291
- type: 'keychain',
2292
- userAddress: '0xabcdefabcdefabcdefabcdefabcdefabcdefabcd',
2293
- inner: {
2294
- type: 'p256',
2295
- prehash: true,
2296
- publicKey: {
2297
- x: publicKey.x,
2298
- y: publicKey.y,
2299
- },
2300
- signature: {
2301
- r: p256Signature.r,
2302
- s: p256Signature.s,
2303
- },
2304
- },
2305
- })
2306
- })
2307
-
2308
- test('behavior: converts RPC keychain signature with webAuthn inner', () => {
2309
- const webauthnData = WebAuthnP256.getAuthenticatorData({
2310
- rpId: 'localhost',
2311
- })
2312
- const clientDataJSON = WebAuthnP256.getClientDataJSON({
2313
- challenge: '0xdeadbeef',
2314
- origin: 'http://localhost',
2315
- })
2316
-
2317
- const rpc: SignatureEnvelope.KeychainRpc = {
2318
- type: 'keychain',
2319
- userAddress: '0xfedcbafedcbafedcbafedcbafedcbafedcbafedc',
2320
- signature: {
2321
- pubKeyX: Hex.fromNumber(publicKey.x, { size: 32 }),
2322
- pubKeyY: Hex.fromNumber(publicKey.y, { size: 32 }),
2323
- r: Hex.fromNumber(p256Signature.r, { size: 32 }),
2324
- s: Hex.fromNumber(p256Signature.s, { size: 32 }),
2325
- type: 'webAuthn',
2326
- webauthnData: Hex.concat(
2327
- webauthnData,
2328
- Hex.fromString(clientDataJSON),
2329
- ),
2330
- },
2331
- }
2332
-
2333
- const envelope = SignatureEnvelope.fromRpc(rpc)
2334
-
2335
- expect(envelope).toMatchObject({
2336
- type: 'keychain',
2337
- userAddress: '0xfedcbafedcbafedcbafedcbafedcbafedcbafedc',
2338
- inner: {
2339
- type: 'webAuthn',
2340
- metadata: {
2341
- authenticatorData: webauthnData,
2342
- clientDataJSON,
2343
- },
2344
- publicKey: {
2345
- x: publicKey.x,
2346
- y: publicKey.y,
2347
- },
2348
- signature: {
2349
- r: p256Signature.r,
2350
- s: p256Signature.s,
2351
- },
2352
- },
2353
- })
2354
- })
2355
-
2356
- test('behavior: preserves keyId from RPC', () => {
2357
- const rpc: SignatureEnvelope.KeychainRpc = {
2358
- type: 'keychain',
2359
- userAddress: '0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266',
2360
- keyId: '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c',
2361
- signature: {
2362
- type: 'secp256k1',
2363
- r: '0xa2bb71146c20ce932456c043ebb2973ed205e07cd32c35a60bdefca1285fd132',
2364
- s: '0x7cba10692bccdbfba9a215418443c2903dbee6fe5cb55c91172e47efc607840e',
2365
- yParity: '0x1',
2366
- },
2367
- }
2368
-
2369
- const envelope = SignatureEnvelope.fromRpc(rpc)
2370
-
2371
- expect(envelope.keyId).toBe('0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c')
2372
- })
2373
- })
2374
- })
2375
-
2376
- describe('toRpc', () => {
2377
- describe('secp256k1', () => {
2378
- test('behavior: converts secp256k1 signature to RPC', () => {
2379
- const envelope: SignatureEnvelope.Secp256k1 = {
2380
- signature: signature_secp256k1,
2381
- type: 'secp256k1',
2382
- }
2383
-
2384
- const rpc = SignatureEnvelope.toRpc(envelope)
2385
-
2386
- expect(rpc).toMatchObject({
2387
- r: Signature.toRpc(signature_secp256k1).r,
2388
- s: Signature.toRpc(signature_secp256k1).s,
2389
- yParity: Signature.toRpc(signature_secp256k1).yParity,
2390
- type: 'secp256k1',
2391
- })
2392
- })
2393
- })
2394
-
2395
- describe('p256', () => {
2396
- test('behavior: converts P256 signature to RPC', () => {
2397
- const rpc = SignatureEnvelope.toRpc(signature_p256)
2398
-
2399
- expect(rpc.type).toBe('p256')
2400
- expect(rpc.preHash).toBe(true)
2401
- expect(typeof rpc.pubKeyX).toBe('string')
2402
- expect(typeof rpc.pubKeyY).toBe('string')
2403
- expect(typeof rpc.r).toBe('string')
2404
- expect(typeof rpc.s).toBe('string')
2405
- })
2406
-
2407
- test('behavior: converts prehash=false correctly', () => {
2408
- const withPrehashFalse = { ...signature_p256, prehash: false }
2409
- const rpc = SignatureEnvelope.toRpc(withPrehashFalse)
2410
-
2411
- expect(rpc.preHash).toBe(false)
2412
- })
2413
- })
2414
-
2415
- describe('webAuthn', () => {
2416
- test('behavior: converts WebAuthn signature to RPC', () => {
2417
- const rpc = SignatureEnvelope.toRpc(
2418
- signature_webauthn,
2419
- ) as SignatureEnvelope.WebAuthnRpc
2420
-
2421
- expect(rpc.type).toBe('webAuthn')
2422
- expect(typeof rpc.pubKeyX).toBe('string')
2423
- expect(typeof rpc.pubKeyY).toBe('string')
2424
- expect(typeof rpc.r).toBe('string')
2425
- expect(typeof rpc.s).toBe('string')
2426
- expect(typeof rpc.webauthnData).toBe('string')
2427
- expect(rpc.webauthnData.startsWith('0x')).toBe(true)
2428
- })
2429
-
2430
- test('behavior: webauthnData contains authenticatorData and clientDataJSON', () => {
2431
- const rpc = SignatureEnvelope.toRpc(
2432
- signature_webauthn,
2433
- ) as SignatureEnvelope.WebAuthnRpc
2434
-
2435
- // webauthnData should contain the concatenation of authenticatorData and clientDataJSON (as hex)
2436
- expect(rpc.webauthnData).toContain(
2437
- signature_webauthn.metadata.authenticatorData.slice(2),
2438
- )
2439
- })
2440
- })
2441
-
2442
- describe('keychain', () => {
2443
- test('behavior: converts keychain signature with secp256k1 inner to RPC', () => {
2444
- const envelope: SignatureEnvelope.Keychain = {
2445
- type: 'keychain',
2446
- userAddress: '0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266',
2447
- inner: {
2448
- signature: signature_secp256k1,
2449
- type: 'secp256k1',
2450
- },
2451
- }
2452
-
2453
- const rpc = SignatureEnvelope.toRpc(
2454
- envelope,
2455
- ) as SignatureEnvelope.KeychainRpc
2456
-
2457
- expect(rpc.type).toBe('keychain')
2458
- expect(rpc.userAddress).toBe('0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266')
2459
- expect(rpc.signature).toMatchObject({
2460
- r: Signature.toRpc(signature_secp256k1).r,
2461
- s: Signature.toRpc(signature_secp256k1).s,
2462
- yParity: Signature.toRpc(signature_secp256k1).yParity,
2463
- type: 'secp256k1',
2464
- })
2465
- })
2466
-
2467
- test('behavior: converts keychain signature with p256 inner to RPC', () => {
2468
- const rpc = SignatureEnvelope.toRpc(
2469
- signature_keychain_p256,
2470
- ) as SignatureEnvelope.KeychainRpc
2471
-
2472
- expect(rpc.type).toBe('keychain')
2473
- expect(rpc.userAddress).toBe(signature_keychain_p256.userAddress)
2474
- expect(rpc.signature.type).toBe('p256')
2475
- expect(typeof rpc.signature.pubKeyX).toBe('string')
2476
- expect(typeof rpc.signature.pubKeyY).toBe('string')
2477
- })
2478
-
2479
- test('behavior: converts keychain signature with webAuthn inner to RPC', () => {
2480
- const rpc = SignatureEnvelope.toRpc(
2481
- signature_keychain_webauthn,
2482
- ) as SignatureEnvelope.KeychainRpc
2483
-
2484
- expect(rpc.type).toBe('keychain')
2485
- expect(rpc.userAddress).toBe(signature_keychain_webauthn.userAddress)
2486
- expect(rpc.signature.type).toBe('webAuthn')
2487
- expect(typeof rpc.signature.pubKeyX).toBe('string')
2488
- expect(typeof rpc.signature.webauthnData).toBe('string')
2489
- })
2490
-
2491
- test('behavior: preserves keyId in toRpc', () => {
2492
- const envelope: SignatureEnvelope.Keychain = {
2493
- type: 'keychain',
2494
- userAddress: '0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266',
2495
- keyId: '0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c',
2496
- inner: {
2497
- signature: signature_secp256k1,
2498
- type: 'secp256k1',
2499
- },
2500
- }
2501
-
2502
- const rpc = SignatureEnvelope.toRpc(
2503
- envelope,
2504
- ) as SignatureEnvelope.KeychainRpc
2505
-
2506
- expect(rpc.keyId).toBe('0xbe95c3f554e9fc85ec51be69a3d807a0d55bcf2c')
2507
- })
2508
-
2509
- test('behavior: omits keyId in toRpc when not set', () => {
2510
- const envelope: SignatureEnvelope.Keychain = {
2511
- type: 'keychain',
2512
- userAddress: '0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266',
2513
- inner: {
2514
- signature: signature_secp256k1,
2515
- type: 'secp256k1',
2516
- },
2517
- }
2518
-
2519
- const rpc = SignatureEnvelope.toRpc(
2520
- envelope,
2521
- ) as SignatureEnvelope.KeychainRpc
2522
-
2523
- expect(rpc.keyId).toBeUndefined()
2524
- })
2525
- })
2526
- })
2527
-
2528
- describe('roundtrip: toRpc <-> fromRpc', () => {
2529
- describe('secp256k1', () => {
2530
- test('behavior: roundtrips toRpc -> fromRpc', () => {
2531
- const envelope: SignatureEnvelope.Secp256k1 = {
2532
- signature: signature_secp256k1,
2533
- type: 'secp256k1',
2534
- }
2535
-
2536
- const rpc = SignatureEnvelope.toRpc(envelope)
2537
- const roundtripped = SignatureEnvelope.fromRpc(rpc)
2538
-
2539
- expect(roundtripped).toMatchObject({
2540
- signature: {
2541
- r: signature_secp256k1.r,
2542
- s: signature_secp256k1.s,
2543
- yParity: signature_secp256k1.yParity,
2544
- },
2545
- type: 'secp256k1',
2546
- })
2547
- })
2548
-
2549
- test('behavior: roundtrips fromRpc -> toRpc', () => {
2550
- const rpc: SignatureEnvelope.Secp256k1Rpc = {
2551
- r: Signature.toRpc(signature_secp256k1).r,
2552
- s: Signature.toRpc(signature_secp256k1).s,
2553
- yParity: Signature.toRpc(signature_secp256k1).yParity,
2554
- type: 'secp256k1',
2555
- }
2556
-
2557
- const envelope = SignatureEnvelope.fromRpc(rpc)
2558
- const roundtripped = SignatureEnvelope.toRpc(envelope)
2559
-
2560
- expect(roundtripped).toMatchObject(rpc)
2561
- })
2562
- })
2563
-
2564
- describe('p256', () => {
2565
- test('behavior: roundtrips toRpc -> fromRpc', () => {
2566
- const rpc = SignatureEnvelope.toRpc(signature_p256)
2567
- const roundtripped = SignatureEnvelope.fromRpc(rpc)
2568
-
2569
- expect(roundtripped).toMatchObject({
2570
- prehash: signature_p256.prehash,
2571
- publicKey: {
2572
- x: signature_p256.publicKey.x,
2573
- y: signature_p256.publicKey.y,
2574
- },
2575
- signature: {
2576
- r: signature_p256.signature.r,
2577
- s: signature_p256.signature.s,
2578
- },
2579
- type: 'p256',
2580
- })
2581
- })
2582
-
2583
- test('behavior: handles prehash=false in roundtrip', () => {
2584
- const withPrehashFalse = { ...signature_p256, prehash: false }
2585
- const rpc = SignatureEnvelope.toRpc(withPrehashFalse)
2586
- const roundtripped = SignatureEnvelope.fromRpc(rpc)
2587
-
2588
- expect(roundtripped.prehash).toBe(false)
2589
- })
2590
- })
2591
-
2592
- describe('webAuthn', () => {
2593
- test('behavior: roundtrips toRpc -> fromRpc', () => {
2594
- const rpc = SignatureEnvelope.toRpc(signature_webauthn)
2595
- const roundtripped = SignatureEnvelope.fromRpc(rpc)
2596
-
2597
- expect(roundtripped).toMatchObject({
2598
- metadata: {
2599
- authenticatorData: signature_webauthn.metadata.authenticatorData,
2600
- clientDataJSON: signature_webauthn.metadata.clientDataJSON,
2601
- },
2602
- publicKey: {
2603
- x: signature_webauthn.publicKey.x,
2604
- y: signature_webauthn.publicKey.y,
2605
- },
2606
- signature: {
2607
- r: signature_webauthn.signature.r,
2608
- s: signature_webauthn.signature.s,
2609
- },
2610
- type: 'webAuthn',
2611
- })
2612
- })
2613
-
2614
- test('behavior: handles variable-length clientDataJSON in roundtrip', () => {
2615
- const longClientData = JSON.stringify({
2616
- type: 'webAuthn.get',
2617
- challenge: 'a'.repeat(100),
2618
- origin: 'https://example.com',
2619
- crossOrigin: false,
2620
- })
2621
-
2622
- const signatureWithLongData = {
2623
- ...signature_webauthn,
2624
- metadata: {
2625
- ...signature_webauthn.metadata,
2626
- clientDataJSON: longClientData,
2627
- },
2628
- }
2629
-
2630
- const rpc = SignatureEnvelope.toRpc(signatureWithLongData)
2631
- const roundtripped = SignatureEnvelope.fromRpc(rpc)
2632
-
2633
- expect(roundtripped.metadata?.clientDataJSON).toBe(longClientData)
2634
- })
2635
- })
2636
-
2637
- describe('keychain', () => {
2638
- test('behavior: roundtrips toRpc -> fromRpc with secp256k1 inner', () => {
2639
- const envelope: SignatureEnvelope.Keychain = {
2640
- type: 'keychain',
2641
- userAddress: '0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266',
2642
- inner: {
2643
- signature: signature_secp256k1,
2644
- type: 'secp256k1',
2645
- },
2646
- }
2647
-
2648
- const rpc = SignatureEnvelope.toRpc(envelope)
2649
- const roundtripped = SignatureEnvelope.fromRpc(rpc)
2650
-
2651
- expect(roundtripped).toMatchObject({
2652
- type: 'keychain',
2653
- userAddress: envelope.userAddress,
2654
- inner: {
2655
- type: 'secp256k1',
2656
- signature: {
2657
- r: signature_secp256k1.r,
2658
- s: signature_secp256k1.s,
2659
- yParity: signature_secp256k1.yParity,
2660
- },
2661
- },
2662
- })
2663
- })
2664
-
2665
- test('behavior: roundtrips toRpc -> fromRpc with p256 inner', () => {
2666
- const rpc = SignatureEnvelope.toRpc(signature_keychain_p256)
2667
- const roundtripped = SignatureEnvelope.fromRpc(rpc)
2668
-
2669
- expect(roundtripped).toMatchObject({
2670
- type: 'keychain',
2671
- userAddress: signature_keychain_p256.userAddress,
2672
- inner: {
2673
- type: 'p256',
2674
- prehash: signature_p256.prehash,
2675
- publicKey: {
2676
- x: signature_p256.publicKey.x,
2677
- y: signature_p256.publicKey.y,
2678
- },
2679
- signature: {
2680
- r: signature_p256.signature.r,
2681
- s: signature_p256.signature.s,
2682
- },
2683
- },
2684
- })
2685
- })
2686
-
2687
- test('behavior: roundtrips toRpc -> fromRpc with webAuthn inner', () => {
2688
- const rpc = SignatureEnvelope.toRpc(signature_keychain_webauthn)
2689
- const roundtripped = SignatureEnvelope.fromRpc(rpc)
2690
-
2691
- expect(roundtripped).toMatchObject({
2692
- type: 'keychain',
2693
- userAddress: signature_keychain_webauthn.userAddress,
2694
- inner: {
2695
- type: 'webAuthn',
2696
- metadata: {
2697
- authenticatorData: signature_webauthn.metadata.authenticatorData,
2698
- clientDataJSON: signature_webauthn.metadata.clientDataJSON,
2699
- },
2700
- publicKey: {
2701
- x: signature_webauthn.publicKey.x,
2702
- y: signature_webauthn.publicKey.y,
2703
- },
2704
- signature: {
2705
- r: signature_webauthn.signature.r,
2706
- s: signature_webauthn.signature.s,
2707
- },
2708
- },
2709
- })
2710
- })
2711
-
2712
- test('behavior: roundtrips fromRpc -> toRpc with secp256k1 inner', () => {
2713
- const rpc: SignatureEnvelope.KeychainRpc = {
2714
- type: 'keychain',
2715
- userAddress: '0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266',
2716
- signature: {
2717
- type: 'secp256k1',
2718
- r: '0xa2bb71146c20ce932456c043ebb2973ed205e07cd32c35a60bdefca1285fd132',
2719
- s: '0x7cba10692bccdbfba9a215418443c2903dbee6fe5cb55c91172e47efc607840e',
2720
- yParity: '0x1',
2721
- },
2722
- }
2723
-
2724
- const envelope = SignatureEnvelope.fromRpc(rpc)
2725
- const roundtripped = SignatureEnvelope.toRpc(envelope)
2726
-
2727
- expect(roundtripped).toMatchObject(rpc)
2728
- })
2729
- })
2730
- })
2731
-
2732
- describe('types', () => {
2733
- test('behavior: contains all signature types', () => {
2734
- expect(SignatureEnvelope.types).toEqual(['secp256k1', 'p256', 'webAuthn'])
2735
- })
2736
- })
2737
-
2738
- describe('CoercionError', () => {
2739
- test('behavior: formats error message with hex string', () => {
2740
- const error = new SignatureEnvelope.CoercionError({
2741
- envelope: '0xdeadbeef',
2742
- })
2743
- expect(error).toMatchInlineSnapshot(
2744
- `[SignatureEnvelope.CoercionError: Unable to coerce value (\`"0xdeadbeef"\`) to a valid signature envelope.]`,
2745
- )
2746
- })
2747
-
2748
- test('behavior: formats error message with object', () => {
2749
- const error = new SignatureEnvelope.CoercionError({
2750
- envelope: { r: 0n, s: 0n, yParity: 0 },
2751
- })
2752
- expect(error).toMatchInlineSnapshot(
2753
- `[SignatureEnvelope.CoercionError: Unable to coerce value (\`{"r":"0#__bigint","s":"0#__bigint","yParity":0}\`) to a valid signature envelope.]`,
2754
- )
2755
- })
2756
- })
2757
-
2758
- describe('multisig', () => {
2759
- const account = '0x8ba6d26ff5c4e82ba0c8caf8c8ca794e1489a7ae'
2760
- const configId =
2761
- '0x01781fe551182476f2422c759e82d81c92e3263737afbbad57def6e8b69d21f5'
2762
-
2763
- // P256 signatures do not carry `yParity` in the wire format, so use a clean
2764
- // inner signature for round-trip equality checks.
2765
- const innerP256 = SignatureEnvelope.from({
2766
- signature: { r: p256Signature.r, s: p256Signature.s },
2767
- publicKey,
2768
- prehash: true,
2769
- })
2770
-
2771
- const envelope = SignatureEnvelope.from({
2772
- type: 'multisig',
2773
- account,
2774
- configId,
2775
- signatures: [SignatureEnvelope.from(signature_secp256k1), innerP256],
2776
- })
2777
-
2778
- test('serialize: type byte 0x05 prefix', () => {
2779
- const serialized = SignatureEnvelope.serialize(envelope)
2780
- expect(serialized.startsWith('0x05')).toBe(true)
2781
- })
2782
-
2783
- test('serialize/deserialize round-trip', () => {
2784
- const serialized = SignatureEnvelope.serialize(envelope)
2785
- expect(SignatureEnvelope.deserialize(serialized)).toEqual(envelope)
2786
- })
2787
-
2788
- test('getType', () => {
2789
- expect(SignatureEnvelope.getType(envelope)).toBe('multisig')
2790
- })
2791
-
2792
- test('extractAddress returns the multisig account', () => {
2793
- expect(
2794
- SignatureEnvelope.extractAddress({
2795
- payload: '0xdeadbeef',
2796
- signature: envelope,
2797
- }),
2798
- ).toBe(account)
2799
- })
2800
-
2801
- test('toRpc/fromRpc round-trip', () => {
2802
- const rpc = SignatureEnvelope.toRpc(envelope)
2803
- expect(rpc.type).toBe('multisig')
2804
- expect(SignatureEnvelope.fromRpc(rpc)).toEqual(envelope)
2805
- })
2806
-
2807
- test('assert: missing properties', () => {
2808
- expect(() =>
2809
- SignatureEnvelope.assert({ type: 'multisig', account } as never),
2810
- ).toThrowError()
2811
- })
2812
-
2813
- describe('init (bootstrap)', () => {
2814
- const init = {
2815
- salt: `0x${'00'.repeat(32)}` as const,
2816
- threshold: 1,
2817
- owners: [
2818
- {
2819
- owner: '0x1111111111111111111111111111111111111111' as const,
2820
- weight: 1,
2821
- },
2822
- ],
2823
- }
2824
-
2825
- const bootstrapEnvelope = SignatureEnvelope.from({
2826
- type: 'multisig',
2827
- account,
2828
- configId,
2829
- signatures: [SignatureEnvelope.from(signature_secp256k1), innerP256],
2830
- init,
2831
- })
2832
-
2833
- test('serialize/deserialize round-trip with init', () => {
2834
- const serialized = SignatureEnvelope.serialize(bootstrapEnvelope)
2835
- expect(SignatureEnvelope.deserialize(serialized)).toEqual(
2836
- bootstrapEnvelope,
2837
- )
2838
- })
2839
-
2840
- test('serialize/deserialize round-trip preserves non-zero salt', () => {
2841
- const salted = SignatureEnvelope.from({
2842
- type: 'multisig',
2843
- account,
2844
- configId,
2845
- signatures: [SignatureEnvelope.from(signature_secp256k1), innerP256],
2846
- init: { ...init, salt: `0x${'42'.repeat(32)}` },
2847
- })
2848
- const serialized = SignatureEnvelope.serialize(salted)
2849
- const deserialized = SignatureEnvelope.deserialize(
2850
- serialized,
2851
- ) as SignatureEnvelope.Multisig
2852
- expect(deserialized.init?.salt).toBe(`0x${'42'.repeat(32)}`)
2853
- expect(deserialized).toEqual(salted)
2854
- })
2855
-
2856
- test('absent init has no `init` key after deserialize', () => {
2857
- const serialized = SignatureEnvelope.serialize(envelope)
2858
- const deserialized = SignatureEnvelope.deserialize(serialized)
2859
- expect('init' in deserialized).toBe(false)
2860
- })
2861
-
2862
- test('init absent vs present produce different serializations', () => {
2863
- expect(SignatureEnvelope.serialize(envelope)).not.toBe(
2864
- SignatureEnvelope.serialize(bootstrapEnvelope),
2865
- )
2866
- })
2867
-
2868
- test('toRpc/fromRpc round-trip with init', () => {
2869
- const rpc = SignatureEnvelope.toRpc(bootstrapEnvelope)
2870
- expect(rpc.init).toEqual(init)
2871
- expect(SignatureEnvelope.fromRpc(rpc)).toEqual(bootstrapEnvelope)
2872
- })
2873
-
2874
- test('toRpc encodes owner approvals as serialized hex (node `Vec<Bytes>`)', () => {
2875
- const multisig = bootstrapEnvelope as SignatureEnvelope.Multisig
2876
- const rpc = SignatureEnvelope.toRpc(
2877
- multisig,
2878
- ) as SignatureEnvelope.MultisigRpc
2879
- expect(rpc.signatures).toEqual(
2880
- multisig.signatures.map((s) => SignatureEnvelope.serialize(s)),
2881
- )
2882
- })
2883
-
2884
- test('fromRpc detects multisig by shape (no `type` field)', () => {
2885
- const rpc = SignatureEnvelope.toRpc(bootstrapEnvelope)
2886
- // The node omits the `type` discriminant; detection is shape-based.
2887
- const { type: _type, ...untyped } = rpc
2888
- expect(SignatureEnvelope.fromRpc(untyped as never)).toEqual(
2889
- bootstrapEnvelope,
2890
- )
2891
- })
2892
-
2893
- test('assert: invalid init config throws', () => {
2894
- expect(() =>
2895
- SignatureEnvelope.assert({
2896
- type: 'multisig',
2897
- account,
2898
- configId,
2899
- signatures: [],
2900
- init: { threshold: 1, owners: [] },
2901
- } as never),
2902
- ).toThrowError()
2903
- })
2904
- })
2905
- })