arr00-testing-oz-contracts 0.0.0 → 5.8.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 (507) hide show
  1. package/README.md +121 -0
  2. package/access/AccessControl.sol +206 -0
  3. package/access/IAccessControl.sol +98 -0
  4. package/access/Ownable.sol +100 -0
  5. package/access/Ownable2Step.sol +67 -0
  6. package/access/extensions/AccessControlDefaultAdminRules.sol +372 -0
  7. package/access/extensions/AccessControlEnumerable.sol +81 -0
  8. package/access/extensions/IAccessControlDefaultAdminRules.sol +192 -0
  9. package/access/extensions/IAccessControlEnumerable.sol +31 -0
  10. package/access/manager/AccessManaged.sol +118 -0
  11. package/access/manager/AccessManager.sol +781 -0
  12. package/access/manager/AuthorityUtils.sol +36 -0
  13. package/access/manager/IAccessManaged.sol +32 -0
  14. package/access/manager/IAccessManager.sol +410 -0
  15. package/access/manager/IAuthority.sol +14 -0
  16. package/account/Account.sol +151 -0
  17. package/account/extensions/draft-AccountERC7579.sol +430 -0
  18. package/account/extensions/draft-AccountERC7579Hooked.sol +113 -0
  19. package/account/extensions/draft-ERC7821.sol +70 -0
  20. package/account/paymaster/Paymaster.sol +170 -0
  21. package/account/paymaster/extensions/PaymasterERC20.sol +394 -0
  22. package/account/paymaster/extensions/PaymasterERC20Guarantor.sol +190 -0
  23. package/account/paymaster/extensions/PaymasterERC721Owner.sol +54 -0
  24. package/account/paymaster/extensions/PaymasterSigner.sol +125 -0
  25. package/account/utils/EIP7702Utils.sol +25 -0
  26. package/account/utils/ERC4337Utils.sol +317 -0
  27. package/account/utils/draft-ERC7579Utils.sol +314 -0
  28. package/build/contracts/AbstractSigner.json +13 -0
  29. package/build/contracts/AccessControl.json +239 -0
  30. package/build/contracts/AccessControlDefaultAdminRules.json +467 -0
  31. package/build/contracts/AccessControlEnumerable.json +301 -0
  32. package/build/contracts/AccessManaged.json +104 -0
  33. package/build/contracts/AccessManager.json +1189 -0
  34. package/build/contracts/Account.json +150 -0
  35. package/build/contracts/AccountERC7579.json +515 -0
  36. package/build/contracts/AccountERC7579Hooked.json +539 -0
  37. package/build/contracts/Accumulators.json +13 -0
  38. package/build/contracts/Address.json +25 -0
  39. package/build/contracts/Arrays.json +13 -0
  40. package/build/contracts/AuthorityUtils.json +13 -0
  41. package/build/contracts/Base58.json +25 -0
  42. package/build/contracts/Base64.json +25 -0
  43. package/build/contracts/BeaconProxy.json +97 -0
  44. package/build/contracts/BitMaps.json +13 -0
  45. package/build/contracts/BlockHeader.json +25 -0
  46. package/build/contracts/Blockhash.json +13 -0
  47. package/build/contracts/BridgeERC1155.json +508 -0
  48. package/build/contracts/BridgeERC20.json +260 -0
  49. package/build/contracts/BridgeERC721.json +270 -0
  50. package/build/contracts/BridgeERC7802.json +249 -0
  51. package/build/contracts/BridgeFungible.json +236 -0
  52. package/build/contracts/BridgeMultiToken.json +236 -0
  53. package/build/contracts/BridgeNonFungible.json +212 -0
  54. package/build/contracts/Bytes.json +13 -0
  55. package/build/contracts/CAIP10.json +13 -0
  56. package/build/contracts/CAIP2.json +13 -0
  57. package/build/contracts/Calldata.json +13 -0
  58. package/build/contracts/Checkpoints.json +19 -0
  59. package/build/contracts/CircularBuffer.json +19 -0
  60. package/build/contracts/Clones.json +19 -0
  61. package/build/contracts/Comparators.json +13 -0
  62. package/build/contracts/Context.json +13 -0
  63. package/build/contracts/Create2.json +19 -0
  64. package/build/contracts/Create3.json +19 -0
  65. package/build/contracts/CrosschainLinked.json +145 -0
  66. package/build/contracts/CrosschainRemoteExecutor.json +199 -0
  67. package/build/contracts/DoubleEndedQueue.json +13 -0
  68. package/build/contracts/ECDSA.json +41 -0
  69. package/build/contracts/EIP712.json +79 -0
  70. package/build/contracts/EIP7702Utils.json +13 -0
  71. package/build/contracts/ERC1155.json +428 -0
  72. package/build/contracts/ERC1155Burnable.json +474 -0
  73. package/build/contracts/ERC1155Crosschain.json +796 -0
  74. package/build/contracts/ERC1155Holder.json +111 -0
  75. package/build/contracts/ERC1155Pausable.json +477 -0
  76. package/build/contracts/ERC1155Supply.json +479 -0
  77. package/build/contracts/ERC1155URIStorage.json +428 -0
  78. package/build/contracts/ERC1155Utils.json +13 -0
  79. package/build/contracts/ERC1363.json +585 -0
  80. package/build/contracts/ERC1363Utils.json +36 -0
  81. package/build/contracts/ERC165.json +33 -0
  82. package/build/contracts/ERC165Checker.json +13 -0
  83. package/build/contracts/ERC1967Clones.json +13 -0
  84. package/build/contracts/ERC1967Proxy.json +84 -0
  85. package/build/contracts/ERC1967Utils.json +52 -0
  86. package/build/contracts/ERC20.json +322 -0
  87. package/build/contracts/ERC20Bridgeable.json +427 -0
  88. package/build/contracts/ERC20Burnable.json +353 -0
  89. package/build/contracts/ERC20Capped.json +362 -0
  90. package/build/contracts/ERC20Crosschain.json +573 -0
  91. package/build/contracts/ERC20FlashMint.json +432 -0
  92. package/build/contracts/ERC20Pausable.json +371 -0
  93. package/build/contracts/ERC20Permit.json +532 -0
  94. package/build/contracts/ERC20TemporaryApproval.json +346 -0
  95. package/build/contracts/ERC20TransferAuthorization.json +836 -0
  96. package/build/contracts/ERC20Votes.json +781 -0
  97. package/build/contracts/ERC20Wrapper.json +405 -0
  98. package/build/contracts/ERC2771Context.json +46 -0
  99. package/build/contracts/ERC2771Forwarder.json +439 -0
  100. package/build/contracts/ERC2981.json +126 -0
  101. package/build/contracts/ERC3009.json +668 -0
  102. package/build/contracts/ERC4337Utils.json +13 -0
  103. package/build/contracts/ERC4626.json +807 -0
  104. package/build/contracts/ERC6372Utils.json +19 -0
  105. package/build/contracts/ERC6909.json +415 -0
  106. package/build/contracts/ERC6909ContentURI.json +472 -0
  107. package/build/contracts/ERC6909Metadata.json +529 -0
  108. package/build/contracts/ERC6909TokenSupply.json +434 -0
  109. package/build/contracts/ERC721.json +447 -0
  110. package/build/contracts/ERC721Burnable.json +460 -0
  111. package/build/contracts/ERC721Consecutive.json +509 -0
  112. package/build/contracts/ERC721Crosschain.json +674 -0
  113. package/build/contracts/ERC721Enumerable.json +524 -0
  114. package/build/contracts/ERC721Holder.json +48 -0
  115. package/build/contracts/ERC721Pausable.json +496 -0
  116. package/build/contracts/ERC721Royalty.json +540 -0
  117. package/build/contracts/ERC721URIStorage.json +479 -0
  118. package/build/contracts/ERC721Utils.json +13 -0
  119. package/build/contracts/ERC721Votes.json +835 -0
  120. package/build/contracts/ERC721Wrapper.json +553 -0
  121. package/build/contracts/ERC7579Utils.json +119 -0
  122. package/build/contracts/ERC7739.json +103 -0
  123. package/build/contracts/ERC7739Utils.json +13 -0
  124. package/build/contracts/ERC7786Recipient.json +59 -0
  125. package/build/contracts/ERC7821.json +112 -0
  126. package/build/contracts/ERC7913P256Verifier.json +43 -0
  127. package/build/contracts/ERC7913RSAVerifier.json +43 -0
  128. package/build/contracts/ERC7913WebAuthnVerifier.json +43 -0
  129. package/build/contracts/EnumerableMap.json +36 -0
  130. package/build/contracts/EnumerableSet.json +13 -0
  131. package/build/contracts/Errors.json +51 -0
  132. package/build/contracts/Governor.json +1381 -0
  133. package/build/contracts/GovernorCountingFractional.json +1455 -0
  134. package/build/contracts/GovernorCountingOverridable.json +1612 -0
  135. package/build/contracts/GovernorCountingSimple.json +1410 -0
  136. package/build/contracts/GovernorCrosschain.json +1409 -0
  137. package/build/contracts/GovernorNoncesKeyed.json +1405 -0
  138. package/build/contracts/GovernorPreventLateQuorum.json +1461 -0
  139. package/build/contracts/GovernorProposalGuardian.json +1426 -0
  140. package/build/contracts/GovernorSequentialProposalId.json +1399 -0
  141. package/build/contracts/GovernorSettings.json +1477 -0
  142. package/build/contracts/GovernorStorage.json +1506 -0
  143. package/build/contracts/GovernorSuperQuorum.json +1429 -0
  144. package/build/contracts/GovernorTimelockAccess.json +1582 -0
  145. package/build/contracts/GovernorTimelockCompound.json +1449 -0
  146. package/build/contracts/GovernorTimelockControl.json +1426 -0
  147. package/build/contracts/GovernorVotes.json +1399 -0
  148. package/build/contracts/GovernorVotesQuorumFraction.json +1497 -0
  149. package/build/contracts/GovernorVotesSuperQuorumFraction.json +1657 -0
  150. package/build/contracts/Hashes.json +13 -0
  151. package/build/contracts/Heap.json +13 -0
  152. package/build/contracts/IAccessControl.json +207 -0
  153. package/build/contracts/IAccessControlDefaultAdminRules.json +406 -0
  154. package/build/contracts/IAccessControlEnumerable.json +250 -0
  155. package/build/contracts/IAccessManaged.json +104 -0
  156. package/build/contracts/IAccessManager.json +1085 -0
  157. package/build/contracts/IAccount.json +90 -0
  158. package/build/contracts/IAccountExecute.json +79 -0
  159. package/build/contracts/IAggregator.json +211 -0
  160. package/build/contracts/IAuthority.json +43 -0
  161. package/build/contracts/IBeacon.json +27 -0
  162. package/build/contracts/ICompoundTimelock.json +427 -0
  163. package/build/contracts/IERC1155.json +307 -0
  164. package/build/contracts/IERC1155Errors.json +116 -0
  165. package/build/contracts/IERC1155MetadataURI.json +326 -0
  166. package/build/contracts/IERC1155Receiver.json +111 -0
  167. package/build/contracts/IERC1271.json +38 -0
  168. package/build/contracts/IERC1363.json +385 -0
  169. package/build/contracts/IERC1363Receiver.json +48 -0
  170. package/build/contracts/IERC1363Spender.json +43 -0
  171. package/build/contracts/IERC165.json +33 -0
  172. package/build/contracts/IERC1820Implementer.json +38 -0
  173. package/build/contracts/IERC1820Registry.json +227 -0
  174. package/build/contracts/IERC1822Proxiable.json +27 -0
  175. package/build/contracts/IERC1967.json +59 -0
  176. package/build/contracts/IERC20.json +197 -0
  177. package/build/contracts/IERC20Errors.json +100 -0
  178. package/build/contracts/IERC20Metadata.json +236 -0
  179. package/build/contracts/IERC20Permit.json +89 -0
  180. package/build/contracts/IERC2309.json +45 -0
  181. package/build/contracts/IERC2612.json +89 -0
  182. package/build/contracts/IERC2981.json +62 -0
  183. package/build/contracts/IERC3009.json +163 -0
  184. package/build/contracts/IERC3009Cancel.json +66 -0
  185. package/build/contracts/IERC3156FlashBorrower.json +53 -0
  186. package/build/contracts/IERC3156FlashLender.json +91 -0
  187. package/build/contracts/IERC4626.json +626 -0
  188. package/build/contracts/IERC4906.json +331 -0
  189. package/build/contracts/IERC5267.json +63 -0
  190. package/build/contracts/IERC5313.json +27 -0
  191. package/build/contracts/IERC5805.json +233 -0
  192. package/build/contracts/IERC6372.json +40 -0
  193. package/build/contracts/IERC6909.json +319 -0
  194. package/build/contracts/IERC6909ContentURI.json +351 -0
  195. package/build/contracts/IERC6909Metadata.json +376 -0
  196. package/build/contracts/IERC6909TokenSupply.json +338 -0
  197. package/build/contracts/IERC721.json +299 -0
  198. package/build/contracts/IERC721Enumerable.json +355 -0
  199. package/build/contracts/IERC721Errors.json +117 -0
  200. package/build/contracts/IERC721Metadata.json +344 -0
  201. package/build/contracts/IERC721Receiver.json +48 -0
  202. package/build/contracts/IERC7579AccountConfig.json +65 -0
  203. package/build/contracts/IERC7579Execution.json +56 -0
  204. package/build/contracts/IERC7579Hook.json +101 -0
  205. package/build/contracts/IERC7579Module.json +59 -0
  206. package/build/contracts/IERC7579ModuleConfig.json +127 -0
  207. package/build/contracts/IERC7579Validator.json +159 -0
  208. package/build/contracts/IERC7674.json +221 -0
  209. package/build/contracts/IERC7751.json +40 -0
  210. package/build/contracts/IERC777.json +405 -0
  211. package/build/contracts/IERC777Recipient.json +52 -0
  212. package/build/contracts/IERC777Sender.json +52 -0
  213. package/build/contracts/IERC7786GatewaySource.json +116 -0
  214. package/build/contracts/IERC7786Recipient.json +43 -0
  215. package/build/contracts/IERC7802.json +119 -0
  216. package/build/contracts/IERC7821.json +51 -0
  217. package/build/contracts/IERC7913SignatureVerifier.json +43 -0
  218. package/build/contracts/IEntryPoint.json +305 -0
  219. package/build/contracts/IEntryPointExtra.json +80 -0
  220. package/build/contracts/IEntryPointNonces.json +38 -0
  221. package/build/contracts/IEntryPointStake.json +97 -0
  222. package/build/contracts/IGovernor.json +1095 -0
  223. package/build/contracts/IPaymaster.json +123 -0
  224. package/build/contracts/ITransparentUpgradeableProxy.json +77 -0
  225. package/build/contracts/IVotes.json +207 -0
  226. package/build/contracts/Initializable.json +37 -0
  227. package/build/contracts/InteroperableAddress.json +30 -0
  228. package/build/contracts/LowLevelCall.json +13 -0
  229. package/build/contracts/Math.json +13 -0
  230. package/build/contracts/Memory.json +13 -0
  231. package/build/contracts/MerkleProof.json +19 -0
  232. package/build/contracts/MerkleTree.json +35 -0
  233. package/build/contracts/MessageHashUtils.json +19 -0
  234. package/build/contracts/MultiSignerERC7913.json +176 -0
  235. package/build/contracts/MultiSignerERC7913Weighted.json +264 -0
  236. package/build/contracts/Multicall.json +49 -0
  237. package/build/contracts/Nonces.json +49 -0
  238. package/build/contracts/NoncesKeyed.json +73 -0
  239. package/build/contracts/Ownable.json +88 -0
  240. package/build/contracts/Ownable2Step.json +127 -0
  241. package/build/contracts/P256.json +13 -0
  242. package/build/contracts/Packing.json +19 -0
  243. package/build/contracts/Panic.json +13 -0
  244. package/build/contracts/Pausable.json +63 -0
  245. package/build/contracts/Paymaster.json +147 -0
  246. package/build/contracts/PaymasterERC20.json +209 -0
  247. package/build/contracts/PaymasterERC20Guarantor.json +234 -0
  248. package/build/contracts/PaymasterERC721Owner.json +160 -0
  249. package/build/contracts/PaymasterSigner.json +212 -0
  250. package/build/contracts/Proxy.json +18 -0
  251. package/build/contracts/ProxyAdmin.json +135 -0
  252. package/build/contracts/RLP.json +19 -0
  253. package/build/contracts/RSA.json +13 -0
  254. package/build/contracts/RateLimiter.json +19 -0
  255. package/build/contracts/ReentrancyGuard.json +19 -0
  256. package/build/contracts/ReentrancyGuardTransient.json +19 -0
  257. package/build/contracts/RelayedCall.json +13 -0
  258. package/build/contracts/SafeCast.json +68 -0
  259. package/build/contracts/SafeERC20.json +46 -0
  260. package/build/contracts/ShortStrings.json +30 -0
  261. package/build/contracts/SignatureChecker.json +13 -0
  262. package/build/contracts/SignedMath.json +13 -0
  263. package/build/contracts/SignerECDSA.json +27 -0
  264. package/build/contracts/SignerEIP7702.json +13 -0
  265. package/build/contracts/SignerERC7913.json +27 -0
  266. package/build/contracts/SignerP256.json +48 -0
  267. package/build/contracts/SignerRSA.json +32 -0
  268. package/build/contracts/SignerWebAuthn.json +48 -0
  269. package/build/contracts/SimulateCall.json +13 -0
  270. package/build/contracts/SlotDerivation.json +13 -0
  271. package/build/contracts/StorageSlot.json +13 -0
  272. package/build/contracts/Strings.json +40 -0
  273. package/build/contracts/Time.json +13 -0
  274. package/build/contracts/TimelockController.json +1010 -0
  275. package/build/contracts/TransientSlot.json +13 -0
  276. package/build/contracts/TransparentUpgradeableProxy.json +131 -0
  277. package/build/contracts/TrieProof.json +25 -0
  278. package/build/contracts/UUPSUpgradeable.json +119 -0
  279. package/build/contracts/UpgradeableBeacon.json +154 -0
  280. package/build/contracts/VestingWallet.json +364 -0
  281. package/build/contracts/VestingWalletCliff.json +367 -0
  282. package/build/contracts/Votes.json +402 -0
  283. package/build/contracts/VotesExtended.json +450 -0
  284. package/build/contracts/WebAuthn.json +13 -0
  285. package/crosschain/CrosschainLinked.sol +114 -0
  286. package/crosschain/CrosschainRemoteExecutor.sol +99 -0
  287. package/crosschain/ERC7786Recipient.sol +66 -0
  288. package/crosschain/bridges/BridgeERC1155.sol +131 -0
  289. package/crosschain/bridges/BridgeERC20.sol +42 -0
  290. package/crosschain/bridges/BridgeERC721.sol +62 -0
  291. package/crosschain/bridges/BridgeERC7802.sol +34 -0
  292. package/crosschain/bridges/abstract/BridgeFungible.sol +86 -0
  293. package/crosschain/bridges/abstract/BridgeMultiToken.sol +99 -0
  294. package/crosschain/bridges/abstract/BridgeNonFungible.sol +79 -0
  295. package/finance/VestingWallet.sol +160 -0
  296. package/finance/VestingWalletCliff.sol +55 -0
  297. package/governance/Governor.sol +825 -0
  298. package/governance/IGovernor.sol +454 -0
  299. package/governance/TimelockController.sol +470 -0
  300. package/governance/extensions/GovernorCountingFractional.sol +190 -0
  301. package/governance/extensions/GovernorCountingOverridable.sol +226 -0
  302. package/governance/extensions/GovernorCountingSimple.sol +96 -0
  303. package/governance/extensions/GovernorCrosschain.sol +31 -0
  304. package/governance/extensions/GovernorNoncesKeyed.sol +91 -0
  305. package/governance/extensions/GovernorPreventLateQuorum.sol +119 -0
  306. package/governance/extensions/GovernorProposalGuardian.sol +59 -0
  307. package/governance/extensions/GovernorSequentialProposalId.sol +75 -0
  308. package/governance/extensions/GovernorSettings.sol +106 -0
  309. package/governance/extensions/GovernorStorage.sol +134 -0
  310. package/governance/extensions/GovernorSuperQuorum.sol +59 -0
  311. package/governance/extensions/GovernorTimelockAccess.sol +346 -0
  312. package/governance/extensions/GovernorTimelockCompound.sol +162 -0
  313. package/governance/extensions/GovernorTimelockControl.sol +167 -0
  314. package/governance/extensions/GovernorVotes.sol +64 -0
  315. package/governance/extensions/GovernorVotesQuorumFraction.sol +113 -0
  316. package/governance/extensions/GovernorVotesSuperQuorumFraction.sol +135 -0
  317. package/governance/utils/IVotes.sol +60 -0
  318. package/governance/utils/Votes.sol +245 -0
  319. package/governance/utils/VotesExtended.sol +85 -0
  320. package/interfaces/IERC1155.sol +6 -0
  321. package/interfaces/IERC1155MetadataURI.sol +6 -0
  322. package/interfaces/IERC1155Receiver.sol +6 -0
  323. package/interfaces/IERC1271.sol +17 -0
  324. package/interfaces/IERC1363.sol +86 -0
  325. package/interfaces/IERC1363Receiver.sol +32 -0
  326. package/interfaces/IERC1363Spender.sol +26 -0
  327. package/interfaces/IERC165.sol +6 -0
  328. package/interfaces/IERC1820Implementer.sol +20 -0
  329. package/interfaces/IERC1820Registry.sol +112 -0
  330. package/interfaces/IERC1967.sol +24 -0
  331. package/interfaces/IERC20.sol +6 -0
  332. package/interfaces/IERC20Metadata.sol +6 -0
  333. package/interfaces/IERC2309.sol +19 -0
  334. package/interfaces/IERC2612.sol +8 -0
  335. package/interfaces/IERC2981.sol +26 -0
  336. package/interfaces/IERC3156.sol +7 -0
  337. package/interfaces/IERC3156FlashBorrower.sol +27 -0
  338. package/interfaces/IERC3156FlashLender.sol +41 -0
  339. package/interfaces/IERC4337.sol +255 -0
  340. package/interfaces/IERC4626.sol +230 -0
  341. package/interfaces/IERC4906.sol +20 -0
  342. package/interfaces/IERC5267.sol +28 -0
  343. package/interfaces/IERC5313.sol +16 -0
  344. package/interfaces/IERC5805.sol +9 -0
  345. package/interfaces/IERC6093.sol +162 -0
  346. package/interfaces/IERC6372.sol +19 -0
  347. package/interfaces/IERC6909.sol +131 -0
  348. package/interfaces/IERC721.sol +6 -0
  349. package/interfaces/IERC721Enumerable.sol +6 -0
  350. package/interfaces/IERC721Metadata.sol +6 -0
  351. package/interfaces/IERC721Receiver.sol +6 -0
  352. package/interfaces/IERC7751.sol +12 -0
  353. package/interfaces/IERC777.sol +200 -0
  354. package/interfaces/IERC777Recipient.sol +35 -0
  355. package/interfaces/IERC777Sender.sol +35 -0
  356. package/interfaces/IERC7786.sol +64 -0
  357. package/interfaces/IERC7913.sol +18 -0
  358. package/interfaces/draft-IERC1822.sol +20 -0
  359. package/interfaces/draft-IERC3009.sol +87 -0
  360. package/interfaces/draft-IERC7579.sol +227 -0
  361. package/interfaces/draft-IERC7674.sol +17 -0
  362. package/interfaces/draft-IERC7802.sol +32 -0
  363. package/interfaces/draft-IERC7821.sol +44 -0
  364. package/metatx/ERC2771Context.sol +90 -0
  365. package/metatx/ERC2771Forwarder.sol +376 -0
  366. package/package.json +29 -1
  367. package/proxy/Clones.sol +294 -0
  368. package/proxy/ERC1967/ERC1967Clones.sol +219 -0
  369. package/proxy/ERC1967/ERC1967Proxy.sol +62 -0
  370. package/proxy/ERC1967/ERC1967Utils.sol +177 -0
  371. package/proxy/Proxy.sol +69 -0
  372. package/proxy/beacon/BeaconProxy.sol +57 -0
  373. package/proxy/beacon/IBeacon.sol +16 -0
  374. package/proxy/beacon/UpgradeableBeacon.sol +70 -0
  375. package/proxy/transparent/ProxyAdmin.sol +45 -0
  376. package/proxy/transparent/TransparentUpgradeableProxy.sol +118 -0
  377. package/proxy/utils/Initializable.sol +238 -0
  378. package/proxy/utils/UUPSUpgradeable.sol +148 -0
  379. package/token/ERC1155/ERC1155.sol +417 -0
  380. package/token/ERC1155/IERC1155.sol +123 -0
  381. package/token/ERC1155/IERC1155Receiver.sol +59 -0
  382. package/token/ERC1155/extensions/ERC1155Burnable.sol +22 -0
  383. package/token/ERC1155/extensions/ERC1155Crosschain.sol +87 -0
  384. package/token/ERC1155/extensions/ERC1155Pausable.sol +38 -0
  385. package/token/ERC1155/extensions/ERC1155Supply.sol +88 -0
  386. package/token/ERC1155/extensions/ERC1155URIStorage.sol +58 -0
  387. package/token/ERC1155/extensions/IERC1155MetadataURI.sol +20 -0
  388. package/token/ERC1155/utils/ERC1155Holder.sol +42 -0
  389. package/token/ERC1155/utils/ERC1155Utils.sol +88 -0
  390. package/token/ERC20/ERC20.sol +305 -0
  391. package/token/ERC20/IERC20.sol +79 -0
  392. package/token/ERC20/extensions/ERC1363.sol +135 -0
  393. package/token/ERC20/extensions/ERC20Burnable.sol +38 -0
  394. package/token/ERC20/extensions/ERC20Capped.sol +54 -0
  395. package/token/ERC20/extensions/ERC20Crosschain.sol +39 -0
  396. package/token/ERC20/extensions/ERC20FlashMint.sol +130 -0
  397. package/token/ERC20/extensions/ERC20Pausable.sol +33 -0
  398. package/token/ERC20/extensions/ERC20Permit.sol +77 -0
  399. package/token/ERC20/extensions/ERC20TransferAuthorization.sol +91 -0
  400. package/token/ERC20/extensions/ERC20Votes.sol +83 -0
  401. package/token/ERC20/extensions/ERC20Wrapper.sol +93 -0
  402. package/token/ERC20/extensions/ERC4626.sol +304 -0
  403. package/token/ERC20/extensions/IERC20Metadata.sol +26 -0
  404. package/token/ERC20/extensions/IERC20Permit.sol +90 -0
  405. package/token/ERC20/extensions/draft-ERC20Bridgeable.sol +51 -0
  406. package/token/ERC20/extensions/draft-ERC20TemporaryApproval.sol +119 -0
  407. package/token/ERC20/extensions/draft-ERC3009.sol +152 -0
  408. package/token/ERC20/utils/ERC1363Utils.sol +95 -0
  409. package/token/ERC20/utils/SafeERC20.sol +292 -0
  410. package/token/ERC6909/ERC6909.sol +224 -0
  411. package/token/ERC6909/extensions/ERC6909ContentURI.sol +59 -0
  412. package/token/ERC6909/extensions/ERC6909Metadata.sol +83 -0
  413. package/token/ERC6909/extensions/ERC6909TokenSupply.sol +41 -0
  414. package/token/ERC721/ERC721.sol +433 -0
  415. package/token/ERC721/IERC721.sol +135 -0
  416. package/token/ERC721/IERC721Receiver.sol +28 -0
  417. package/token/ERC721/extensions/ERC721Burnable.sol +26 -0
  418. package/token/ERC721/extensions/ERC721Consecutive.sol +176 -0
  419. package/token/ERC721/extensions/ERC721Crosschain.sol +38 -0
  420. package/token/ERC721/extensions/ERC721Enumerable.sol +165 -0
  421. package/token/ERC721/extensions/ERC721Pausable.sol +37 -0
  422. package/token/ERC721/extensions/ERC721Royalty.sol +26 -0
  423. package/token/ERC721/extensions/ERC721URIStorage.sol +62 -0
  424. package/token/ERC721/extensions/ERC721Votes.sol +47 -0
  425. package/token/ERC721/extensions/ERC721Wrapper.sol +102 -0
  426. package/token/ERC721/extensions/IERC721Enumerable.sol +29 -0
  427. package/token/ERC721/extensions/IERC721Metadata.sol +27 -0
  428. package/token/ERC721/utils/ERC721Holder.sol +26 -0
  429. package/token/ERC721/utils/ERC721Utils.sol +50 -0
  430. package/token/common/ERC2981.sol +140 -0
  431. package/utils/Address.sol +167 -0
  432. package/utils/Arrays.sol +905 -0
  433. package/utils/Base58.sol +240 -0
  434. package/utils/Base64.sol +234 -0
  435. package/utils/BlockHeader.sol +312 -0
  436. package/utils/Blockhash.sol +54 -0
  437. package/utils/Bytes.sol +329 -0
  438. package/utils/CAIP10.sol +54 -0
  439. package/utils/CAIP2.sol +51 -0
  440. package/utils/Calldata.sol +25 -0
  441. package/utils/Comparators.sol +19 -0
  442. package/utils/Context.sol +28 -0
  443. package/utils/Create2.sol +91 -0
  444. package/utils/Create3.sol +133 -0
  445. package/utils/ERC6372Utils.sol +53 -0
  446. package/utils/Errors.sol +34 -0
  447. package/utils/LowLevelCall.sol +127 -0
  448. package/utils/Memory.sol +151 -0
  449. package/utils/Multicall.sol +37 -0
  450. package/utils/Nonces.sol +47 -0
  451. package/utils/NoncesKeyed.sol +75 -0
  452. package/utils/Packing.sol +1656 -0
  453. package/utils/Panic.sol +57 -0
  454. package/utils/Pausable.sol +112 -0
  455. package/utils/RLP.sol +487 -0
  456. package/utils/RateLimiter.sol +310 -0
  457. package/utils/ReentrancyGuard.sol +119 -0
  458. package/utils/ReentrancyGuardTransient.sol +84 -0
  459. package/utils/RelayedCall.sol +145 -0
  460. package/utils/ShortStrings.sol +122 -0
  461. package/utils/SimulateCall.sol +114 -0
  462. package/utils/SlotDerivation.sol +155 -0
  463. package/utils/StorageSlot.sol +143 -0
  464. package/utils/Strings.sol +532 -0
  465. package/utils/TransientSlot.sol +183 -0
  466. package/utils/cryptography/ECDSA.sol +284 -0
  467. package/utils/cryptography/EIP712.sol +168 -0
  468. package/utils/cryptography/Hashes.sol +31 -0
  469. package/utils/cryptography/MerkleProof.sol +510 -0
  470. package/utils/cryptography/MessageHashUtils.sol +228 -0
  471. package/utils/cryptography/P256.sol +409 -0
  472. package/utils/cryptography/RSA.sol +159 -0
  473. package/utils/cryptography/SignatureChecker.sol +199 -0
  474. package/utils/cryptography/TrieProof.sol +256 -0
  475. package/utils/cryptography/WebAuthn.sol +269 -0
  476. package/utils/cryptography/draft-ERC7739Utils.sol +215 -0
  477. package/utils/cryptography/signers/AbstractSigner.sol +23 -0
  478. package/utils/cryptography/signers/MultiSignerERC7913.sol +336 -0
  479. package/utils/cryptography/signers/MultiSignerERC7913Weighted.sol +208 -0
  480. package/utils/cryptography/signers/SignerECDSA.sol +56 -0
  481. package/utils/cryptography/signers/SignerEIP7702.sol +25 -0
  482. package/utils/cryptography/signers/SignerERC7913.sol +63 -0
  483. package/utils/cryptography/signers/SignerP256.sol +64 -0
  484. package/utils/cryptography/signers/SignerRSA.sol +65 -0
  485. package/utils/cryptography/signers/SignerWebAuthn.sol +45 -0
  486. package/utils/cryptography/signers/draft-ERC7739.sol +99 -0
  487. package/utils/cryptography/verifiers/ERC7913P256Verifier.sol +29 -0
  488. package/utils/cryptography/verifiers/ERC7913RSAVerifier.sol +23 -0
  489. package/utils/cryptography/verifiers/ERC7913WebAuthnVerifier.sol +45 -0
  490. package/utils/draft-InteroperableAddress.sol +245 -0
  491. package/utils/introspection/ERC165.sol +25 -0
  492. package/utils/introspection/ERC165Checker.sol +142 -0
  493. package/utils/introspection/IERC165.sol +25 -0
  494. package/utils/math/Math.sol +763 -0
  495. package/utils/math/SafeCast.sol +1162 -0
  496. package/utils/math/SignedMath.sol +68 -0
  497. package/utils/structs/Accumulators.sol +135 -0
  498. package/utils/structs/BitMaps.sol +61 -0
  499. package/utils/structs/Checkpoints.sol +881 -0
  500. package/utils/structs/CircularBuffer.sol +152 -0
  501. package/utils/structs/DoubleEndedQueue.sol +280 -0
  502. package/utils/structs/EnumerableMap.sol +1870 -0
  503. package/utils/structs/EnumerableSet.sol +1177 -0
  504. package/utils/structs/Heap.sol +259 -0
  505. package/utils/structs/MerkleTree.sol +267 -0
  506. package/utils/types/Time.sol +133 -0
  507. package/vendor/compound/ICompoundTimelock.sol +86 -0
@@ -0,0 +1,103 @@
1
+ {
2
+ "_format": "hh3-artifact-1",
3
+ "contractName": "ERC7739",
4
+ "sourceName": "contracts/utils/cryptography/signers/draft-ERC7739.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "name": "InvalidShortString",
9
+ "type": "error"
10
+ },
11
+ {
12
+ "inputs": [
13
+ {
14
+ "internalType": "string",
15
+ "name": "str",
16
+ "type": "string"
17
+ }
18
+ ],
19
+ "name": "StringTooLong",
20
+ "type": "error"
21
+ },
22
+ {
23
+ "anonymous": false,
24
+ "inputs": [],
25
+ "name": "EIP712DomainChanged",
26
+ "type": "event"
27
+ },
28
+ {
29
+ "inputs": [],
30
+ "name": "eip712Domain",
31
+ "outputs": [
32
+ {
33
+ "internalType": "bytes1",
34
+ "name": "fields",
35
+ "type": "bytes1"
36
+ },
37
+ {
38
+ "internalType": "string",
39
+ "name": "name",
40
+ "type": "string"
41
+ },
42
+ {
43
+ "internalType": "string",
44
+ "name": "version",
45
+ "type": "string"
46
+ },
47
+ {
48
+ "internalType": "uint256",
49
+ "name": "chainId",
50
+ "type": "uint256"
51
+ },
52
+ {
53
+ "internalType": "address",
54
+ "name": "verifyingContract",
55
+ "type": "address"
56
+ },
57
+ {
58
+ "internalType": "bytes32",
59
+ "name": "salt",
60
+ "type": "bytes32"
61
+ },
62
+ {
63
+ "internalType": "uint256[]",
64
+ "name": "extensions",
65
+ "type": "uint256[]"
66
+ }
67
+ ],
68
+ "stateMutability": "view",
69
+ "type": "function"
70
+ },
71
+ {
72
+ "inputs": [
73
+ {
74
+ "internalType": "bytes32",
75
+ "name": "hash",
76
+ "type": "bytes32"
77
+ },
78
+ {
79
+ "internalType": "bytes",
80
+ "name": "signature",
81
+ "type": "bytes"
82
+ }
83
+ ],
84
+ "name": "isValidSignature",
85
+ "outputs": [
86
+ {
87
+ "internalType": "bytes4",
88
+ "name": "result",
89
+ "type": "bytes4"
90
+ }
91
+ ],
92
+ "stateMutability": "view",
93
+ "type": "function"
94
+ }
95
+ ],
96
+ "bytecode": "0x",
97
+ "deployedBytecode": "0x",
98
+ "linkReferences": {},
99
+ "deployedLinkReferences": {},
100
+ "immutableReferences": {},
101
+ "inputSourceName": "project/contracts/utils/cryptography/signers/draft-ERC7739.sol",
102
+ "buildInfoId": "solc-0_8_35-c2903afec1b369cf73b6885b12c338655542e5ad"
103
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "_format": "hh3-artifact-1",
3
+ "contractName": "ERC7739Utils",
4
+ "sourceName": "contracts/utils/cryptography/draft-ERC7739Utils.sol",
5
+ "abi": [],
6
+ "bytecode": "0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220a4ec3dc2dadc8c19b9fadcfc3a84f8015084c9c18120d1abc0ff5ca4837dd00a64736f6c63430008230033",
7
+ "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220a4ec3dc2dadc8c19b9fadcfc3a84f8015084c9c18120d1abc0ff5ca4837dd00a64736f6c63430008230033",
8
+ "linkReferences": {},
9
+ "deployedLinkReferences": {},
10
+ "immutableReferences": {},
11
+ "inputSourceName": "project/contracts/utils/cryptography/draft-ERC7739Utils.sol",
12
+ "buildInfoId": "solc-0_8_35-c2903afec1b369cf73b6885b12c338655542e5ad"
13
+ }
@@ -0,0 +1,59 @@
1
+ {
2
+ "_format": "hh3-artifact-1",
3
+ "contractName": "ERC7786Recipient",
4
+ "sourceName": "contracts/crosschain/ERC7786Recipient.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "gateway",
11
+ "type": "address"
12
+ },
13
+ {
14
+ "internalType": "bytes",
15
+ "name": "sender",
16
+ "type": "bytes"
17
+ }
18
+ ],
19
+ "name": "ERC7786RecipientUnauthorizedGateway",
20
+ "type": "error"
21
+ },
22
+ {
23
+ "inputs": [
24
+ {
25
+ "internalType": "bytes32",
26
+ "name": "receiveId",
27
+ "type": "bytes32"
28
+ },
29
+ {
30
+ "internalType": "bytes",
31
+ "name": "sender",
32
+ "type": "bytes"
33
+ },
34
+ {
35
+ "internalType": "bytes",
36
+ "name": "payload",
37
+ "type": "bytes"
38
+ }
39
+ ],
40
+ "name": "receiveMessage",
41
+ "outputs": [
42
+ {
43
+ "internalType": "bytes4",
44
+ "name": "",
45
+ "type": "bytes4"
46
+ }
47
+ ],
48
+ "stateMutability": "payable",
49
+ "type": "function"
50
+ }
51
+ ],
52
+ "bytecode": "0x",
53
+ "deployedBytecode": "0x",
54
+ "linkReferences": {},
55
+ "deployedLinkReferences": {},
56
+ "immutableReferences": {},
57
+ "inputSourceName": "project/contracts/crosschain/ERC7786Recipient.sol",
58
+ "buildInfoId": "solc-0_8_35-c2903afec1b369cf73b6885b12c338655542e5ad"
59
+ }
@@ -0,0 +1,112 @@
1
+ {
2
+ "_format": "hh3-artifact-1",
3
+ "contractName": "ERC7821",
4
+ "sourceName": "contracts/account/extensions/draft-ERC7821.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "sender",
11
+ "type": "address"
12
+ }
13
+ ],
14
+ "name": "AccountUnauthorized",
15
+ "type": "error"
16
+ },
17
+ {
18
+ "inputs": [],
19
+ "name": "ERC7579DecodingError",
20
+ "type": "error"
21
+ },
22
+ {
23
+ "inputs": [
24
+ {
25
+ "internalType": "ExecType",
26
+ "name": "execType",
27
+ "type": "bytes1"
28
+ }
29
+ ],
30
+ "name": "ERC7579UnsupportedExecType",
31
+ "type": "error"
32
+ },
33
+ {
34
+ "inputs": [],
35
+ "name": "FailedCall",
36
+ "type": "error"
37
+ },
38
+ {
39
+ "inputs": [],
40
+ "name": "OutOfRangeAccess",
41
+ "type": "error"
42
+ },
43
+ {
44
+ "inputs": [],
45
+ "name": "UnsupportedExecutionMode",
46
+ "type": "error"
47
+ },
48
+ {
49
+ "anonymous": false,
50
+ "inputs": [
51
+ {
52
+ "indexed": false,
53
+ "internalType": "uint256",
54
+ "name": "batchExecutionIndex",
55
+ "type": "uint256"
56
+ },
57
+ {
58
+ "indexed": false,
59
+ "internalType": "bytes",
60
+ "name": "returndata",
61
+ "type": "bytes"
62
+ }
63
+ ],
64
+ "name": "ERC7579TryExecuteFail",
65
+ "type": "event"
66
+ },
67
+ {
68
+ "inputs": [
69
+ {
70
+ "internalType": "bytes32",
71
+ "name": "mode",
72
+ "type": "bytes32"
73
+ },
74
+ {
75
+ "internalType": "bytes",
76
+ "name": "executionData",
77
+ "type": "bytes"
78
+ }
79
+ ],
80
+ "name": "execute",
81
+ "outputs": [],
82
+ "stateMutability": "payable",
83
+ "type": "function"
84
+ },
85
+ {
86
+ "inputs": [
87
+ {
88
+ "internalType": "bytes32",
89
+ "name": "mode",
90
+ "type": "bytes32"
91
+ }
92
+ ],
93
+ "name": "supportsExecutionMode",
94
+ "outputs": [
95
+ {
96
+ "internalType": "bool",
97
+ "name": "result",
98
+ "type": "bool"
99
+ }
100
+ ],
101
+ "stateMutability": "view",
102
+ "type": "function"
103
+ }
104
+ ],
105
+ "bytecode": "0x",
106
+ "deployedBytecode": "0x",
107
+ "linkReferences": {},
108
+ "deployedLinkReferences": {},
109
+ "immutableReferences": {},
110
+ "inputSourceName": "project/contracts/account/extensions/draft-ERC7821.sol",
111
+ "buildInfoId": "solc-0_8_35-c2903afec1b369cf73b6885b12c338655542e5ad"
112
+ }
@@ -0,0 +1,43 @@
1
+ {
2
+ "_format": "hh3-artifact-1",
3
+ "contractName": "ERC7913P256Verifier",
4
+ "sourceName": "contracts/utils/cryptography/verifiers/ERC7913P256Verifier.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "bytes",
10
+ "name": "key",
11
+ "type": "bytes"
12
+ },
13
+ {
14
+ "internalType": "bytes32",
15
+ "name": "hash",
16
+ "type": "bytes32"
17
+ },
18
+ {
19
+ "internalType": "bytes",
20
+ "name": "signature",
21
+ "type": "bytes"
22
+ }
23
+ ],
24
+ "name": "verify",
25
+ "outputs": [
26
+ {
27
+ "internalType": "bytes4",
28
+ "name": "",
29
+ "type": "bytes4"
30
+ }
31
+ ],
32
+ "stateMutability": "view",
33
+ "type": "function"
34
+ }
35
+ ],
36
+ "bytecode": "0x6080604052348015600e575f5ffd5b50610c0e8061001c5f395ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063024ad3181461002d575b5f5ffd5b61004061003b366004610ac8565b61005d565b6040516001600160e01b0319909116815260200160405180910390f35b5f60408514801561006f575060408210155b15610104575f610082602082888a610b41565b61008b91610b68565b90505f61009c60406020898b610b41565b6100a591610b68565b90505f6100b56020828789610b41565b6100be91610b68565b90505f6100cf60406020888a610b41565b6100d891610b68565b90506100e78883838787610118565b156100ff575062495a6360e31b935061010f92505050565b505050505b506001600160e01b03195b95945050505050565b5f5f5f6101288888888888610151565b91509150806101435761013e888888888861022c565b610145565b815b98975050505050505050565b5f5f61015d86866102dc565b1580610170575061016e8484610338565b155b1561018057505f90506001610222565b61018d878787878761039c565b1561019d57506001905080610222565b61020c7fbb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023600560017fa71af64de5126a4a4e02b7922d66ce9415ce88a4c9d25514d91082c8725ac9577f5d47723c8fbe580bb369fec9c2665d8e30a435b9932645482e7c9f11e872296b61039c565b1561021c57505f90506001610222565b505f9050805b9550959350505050565b5f61023785856102dc565b158061024a57506102488383610338565b155b1561025657505f61010f565b5f61026184846103dc565b90505f61027b865f516020610bb95f395f51905f526105cf565b90505f5f516020610bb95f395f51905f52828a0990505f5f516020610bb95f395f51905f52838a0990505f6102b18584846105de565b509050896102cc5f516020610bb95f395f51905f5283610b85565b149b9a5050505050505050505050565b5f82158015906102f857505f516020610bb95f395f51905f5283105b801561030357508115155b801561032f57507f7fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a88211155b90505b92915050565b5f600160601b63ffffffff60c01b031980838409817f5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b8387856003600160601b0363ffffffff60c01b0319878b8c0908090894821191909310169190921416919050565b5f6040518681528560208201528460408201528360608201528260808201525f5f5260205f60a0836101005afa6103cf57fe5b50505f5195945050505050565b6103e4610a3c565b60405180606001604052805f81526020015f81526020015f815250815f6010811061041157610411610ba4565b6020020181905250604051806060016040528084815260200183815260200160018152508160016010811061044857610448610ba4565b602002018190525060405180606001604052807f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29681526020017f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f581526020016001815250816004601081106104bf576104bf610ba4565b60200201526104d58160015b6020020151610702565b60408201526104e58160046104cb565b6101008201526020810151610502908260025b602002015161075e565b606082015261051b8160015b60200201518260046104f8565b60a082015261052b81600261050e565b60c082015261053b81600361050e565b60e08201526105548160015b60200201518260086104f8565b610120820152610565816002610547565b610140820152610576816003610547565b610160820152610587816004610547565b6101808201526105a18160015b602002015182600c6104f8565b6101a08201526105b2816002610594565b6101c08201526105c3816003610594565b6101e082015292915050565b5f61032f8360028403846107bc565b5f80808080805b60808110156106e6578115610619576105ff8484846107dd565b919550935091506106118484846107dd565b919550935091505b600c60fc89901c1660fe88901c1789816010811061063957610639610ba4565b602002015160400151156106d257825f036106a85789816010811061066057610660610ba4565b6020020151518a826010811061067857610678610ba4565b6020020151602001518b836010811061069357610693610ba4565b602002015160400151919650945092506106d2565b6106ca8a82601081106106bd576106bd610ba4565b6020020151868686610860565b919650945092505b50600297881b979690961b956001016105e5565b506106f283838361098c565b945094505050505b935093915050565b61072360405180606001604052805f81526020015f81526020015f81525090565b5f5f5f61073c855f0151866020015187604001516107dd565b6040805160608101825293845260208401929092529082015295945050505050565b61077f60405180606001604052805f81526020015f81526020015f81525090565b5f5f5f61079986865f015187602001518860400151610860565b604080516060810182529384526020840192909252908201529695505050505050565b5f5f5f6107ca8686866109d9565b915091508161010f5761010f6012610a2b565b5f5f5f600160601b63ffffffff60c01b031980868709818687098283848384096003600160601b0363ffffffff60c01b03190984858c8d096003090890508283838b09600409838482600209850385848509089650838485858609600809850385868a880385088509089550505050808186880960020991505093509350939050565b5f5f5f600160601b63ffffffff60c01b0319604088015181818209828388858a8b090960208c0151098381850385868686098c090884858a8b098d51098581870387868f09089350811584151680156108c057600181146109065761097b565b868586098788898386096002098903898a848a098b038b88890908089a5087888983890987098903898a8e8c038c8689090887090899505086878c88098609975061097b565b8c8c8c898283098a8283098b8c8d8384096003600160601b0363ffffffff60c01b0319098d8e8889096003090890508b8c83870960040994508b8c866002098d038d838409089e508b8c8384096008098c0391508b8f8d03860894508b828d878409089d505050898a8284096002099a505050505b505050505050509450945094915050565b5f5f825f0361099f57505f9050806106fa565b600160601b63ffffffff60c01b03195f6109b985836105cf565b905081818209828189099450828383830988099350505050935093915050565b5f5f825f036109ec57505f9050806106fa565b60405160208152602080820152602060408201528560608201528460808201528360a082015260205f60c08360055afa9250505f519050935093915050565b634e487b715f52806020526024601cfd5b6040518061020001604052806010905b610a6d60405180606001604052805f81526020015f81526020015f81525090565b815260200190600190039081610a4c5790505090565b5f5f83601f840112610a93575f5ffd5b50813567ffffffffffffffff811115610aaa575f5ffd5b602083019150836020828501011115610ac1575f5ffd5b9250929050565b5f5f5f5f5f60608688031215610adc575f5ffd5b853567ffffffffffffffff811115610af2575f5ffd5b610afe88828901610a83565b90965094505060208601359250604086013567ffffffffffffffff811115610b24575f5ffd5b610b3088828901610a83565b969995985093965092949392505050565b5f5f85851115610b4f575f5ffd5b83861115610b5b575f5ffd5b5050820193919092039150565b80356020831015610332575f19602084900360031b1b1692915050565b5f82610b9f57634e487b7160e01b5f52601260045260245ffd5b500690565b634e487b7160e01b5f52603260045260245ffdfeffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551a264697066735822122054838afadfa33fa2982b97528d04770696e831c20b55029ad722600e9bbd204864736f6c63430008230033",
37
+ "deployedBytecode": "0x608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063024ad3181461002d575b5f5ffd5b61004061003b366004610ac8565b61005d565b6040516001600160e01b0319909116815260200160405180910390f35b5f60408514801561006f575060408210155b15610104575f610082602082888a610b41565b61008b91610b68565b90505f61009c60406020898b610b41565b6100a591610b68565b90505f6100b56020828789610b41565b6100be91610b68565b90505f6100cf60406020888a610b41565b6100d891610b68565b90506100e78883838787610118565b156100ff575062495a6360e31b935061010f92505050565b505050505b506001600160e01b03195b95945050505050565b5f5f5f6101288888888888610151565b91509150806101435761013e888888888861022c565b610145565b815b98975050505050505050565b5f5f61015d86866102dc565b1580610170575061016e8484610338565b155b1561018057505f90506001610222565b61018d878787878761039c565b1561019d57506001905080610222565b61020c7fbb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023600560017fa71af64de5126a4a4e02b7922d66ce9415ce88a4c9d25514d91082c8725ac9577f5d47723c8fbe580bb369fec9c2665d8e30a435b9932645482e7c9f11e872296b61039c565b1561021c57505f90506001610222565b505f9050805b9550959350505050565b5f61023785856102dc565b158061024a57506102488383610338565b155b1561025657505f61010f565b5f61026184846103dc565b90505f61027b865f516020610bb95f395f51905f526105cf565b90505f5f516020610bb95f395f51905f52828a0990505f5f516020610bb95f395f51905f52838a0990505f6102b18584846105de565b509050896102cc5f516020610bb95f395f51905f5283610b85565b149b9a5050505050505050505050565b5f82158015906102f857505f516020610bb95f395f51905f5283105b801561030357508115155b801561032f57507f7fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a88211155b90505b92915050565b5f600160601b63ffffffff60c01b031980838409817f5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b8387856003600160601b0363ffffffff60c01b0319878b8c0908090894821191909310169190921416919050565b5f6040518681528560208201528460408201528360608201528260808201525f5f5260205f60a0836101005afa6103cf57fe5b50505f5195945050505050565b6103e4610a3c565b60405180606001604052805f81526020015f81526020015f815250815f6010811061041157610411610ba4565b6020020181905250604051806060016040528084815260200183815260200160018152508160016010811061044857610448610ba4565b602002018190525060405180606001604052807f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29681526020017f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f581526020016001815250816004601081106104bf576104bf610ba4565b60200201526104d58160015b6020020151610702565b60408201526104e58160046104cb565b6101008201526020810151610502908260025b602002015161075e565b606082015261051b8160015b60200201518260046104f8565b60a082015261052b81600261050e565b60c082015261053b81600361050e565b60e08201526105548160015b60200201518260086104f8565b610120820152610565816002610547565b610140820152610576816003610547565b610160820152610587816004610547565b6101808201526105a18160015b602002015182600c6104f8565b6101a08201526105b2816002610594565b6101c08201526105c3816003610594565b6101e082015292915050565b5f61032f8360028403846107bc565b5f80808080805b60808110156106e6578115610619576105ff8484846107dd565b919550935091506106118484846107dd565b919550935091505b600c60fc89901c1660fe88901c1789816010811061063957610639610ba4565b602002015160400151156106d257825f036106a85789816010811061066057610660610ba4565b6020020151518a826010811061067857610678610ba4565b6020020151602001518b836010811061069357610693610ba4565b602002015160400151919650945092506106d2565b6106ca8a82601081106106bd576106bd610ba4565b6020020151868686610860565b919650945092505b50600297881b979690961b956001016105e5565b506106f283838361098c565b945094505050505b935093915050565b61072360405180606001604052805f81526020015f81526020015f81525090565b5f5f5f61073c855f0151866020015187604001516107dd565b6040805160608101825293845260208401929092529082015295945050505050565b61077f60405180606001604052805f81526020015f81526020015f81525090565b5f5f5f61079986865f015187602001518860400151610860565b604080516060810182529384526020840192909252908201529695505050505050565b5f5f5f6107ca8686866109d9565b915091508161010f5761010f6012610a2b565b5f5f5f600160601b63ffffffff60c01b031980868709818687098283848384096003600160601b0363ffffffff60c01b03190984858c8d096003090890508283838b09600409838482600209850385848509089650838485858609600809850385868a880385088509089550505050808186880960020991505093509350939050565b5f5f5f600160601b63ffffffff60c01b0319604088015181818209828388858a8b090960208c0151098381850385868686098c090884858a8b098d51098581870387868f09089350811584151680156108c057600181146109065761097b565b868586098788898386096002098903898a848a098b038b88890908089a5087888983890987098903898a8e8c038c8689090887090899505086878c88098609975061097b565b8c8c8c898283098a8283098b8c8d8384096003600160601b0363ffffffff60c01b0319098d8e8889096003090890508b8c83870960040994508b8c866002098d038d838409089e508b8c8384096008098c0391508b8f8d03860894508b828d878409089d505050898a8284096002099a505050505b505050505050509450945094915050565b5f5f825f0361099f57505f9050806106fa565b600160601b63ffffffff60c01b03195f6109b985836105cf565b905081818209828189099450828383830988099350505050935093915050565b5f5f825f036109ec57505f9050806106fa565b60405160208152602080820152602060408201528560608201528460808201528360a082015260205f60c08360055afa9250505f519050935093915050565b634e487b715f52806020526024601cfd5b6040518061020001604052806010905b610a6d60405180606001604052805f81526020015f81526020015f81525090565b815260200190600190039081610a4c5790505090565b5f5f83601f840112610a93575f5ffd5b50813567ffffffffffffffff811115610aaa575f5ffd5b602083019150836020828501011115610ac1575f5ffd5b9250929050565b5f5f5f5f5f60608688031215610adc575f5ffd5b853567ffffffffffffffff811115610af2575f5ffd5b610afe88828901610a83565b90965094505060208601359250604086013567ffffffffffffffff811115610b24575f5ffd5b610b3088828901610a83565b969995985093965092949392505050565b5f5f85851115610b4f575f5ffd5b83861115610b5b575f5ffd5b5050820193919092039150565b80356020831015610332575f19602084900360031b1b1692915050565b5f82610b9f57634e487b7160e01b5f52601260045260245ffd5b500690565b634e487b7160e01b5f52603260045260245ffdfeffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551a264697066735822122054838afadfa33fa2982b97528d04770696e831c20b55029ad722600e9bbd204864736f6c63430008230033",
38
+ "linkReferences": {},
39
+ "deployedLinkReferences": {},
40
+ "immutableReferences": {},
41
+ "inputSourceName": "project/contracts/utils/cryptography/verifiers/ERC7913P256Verifier.sol",
42
+ "buildInfoId": "solc-0_8_35-c2903afec1b369cf73b6885b12c338655542e5ad"
43
+ }
@@ -0,0 +1,43 @@
1
+ {
2
+ "_format": "hh3-artifact-1",
3
+ "contractName": "ERC7913RSAVerifier",
4
+ "sourceName": "contracts/utils/cryptography/verifiers/ERC7913RSAVerifier.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "bytes",
10
+ "name": "key",
11
+ "type": "bytes"
12
+ },
13
+ {
14
+ "internalType": "bytes32",
15
+ "name": "hash",
16
+ "type": "bytes32"
17
+ },
18
+ {
19
+ "internalType": "bytes",
20
+ "name": "signature",
21
+ "type": "bytes"
22
+ }
23
+ ],
24
+ "name": "verify",
25
+ "outputs": [
26
+ {
27
+ "internalType": "bytes4",
28
+ "name": "",
29
+ "type": "bytes4"
30
+ }
31
+ ],
32
+ "stateMutability": "view",
33
+ "type": "function"
34
+ }
35
+ ],
36
+ "bytecode": "0x6080604052348015600e575f5ffd5b506106e58061001c5f395ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063024ad3181461002d575b5f5ffd5b61004061003b36600461048c565b61005d565b6040516001600160e01b0319909116815260200160405180910390f35b5f808061006c878901896105a4565b915091506100cd8660405160200161008691815260200190565b60408051601f198184030181526020601f8901819004810284018101909252878352919088908890819084018382808284375f920191909152508792508691506100f39050565b6100df576001600160e01b03196100e7565b62495a6360e31b5b98975050505050505050565b5f61014d6002866040516101079190610620565b602060405180830381855afa158015610122573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610145919061062b565b858585610158565b90505b949350505050565b80515f9061010081108061016d575084518114155b1561017b575f915050610150565b5f5b818110156101f2575f6101938260208503610352565b90505f6101a38883016020015190565b90505f6101b38784016020015190565b9050808210156101c5575050506101f2565b808211806101d557506020850383145b156101e7575f95505050505050610150565b50505060200161017d565b505f5f610200878787610366565b9150915081610214575f9350505050610150565b5f5f5f6102278460328803016020015190565b6001600160f81b031916603160f81b0361026c5750720181898068304b0432400b281820100828002160651b91506bffffffffffffffffffffffff19905060346102c7565b600f1986850101516001600160f81b031916602f60f81b036102b95750700181798058304b0432400b28182010082160751b91506dffffffffffffffffffffffffffff19905060326102c7565b5f9650505050505050610150565b80860360025b8181101561030557602081870101516001600160f81b0319908116146102fd575f98505050505050505050610150565b6001016102cd565b5060208501516001600160f01b031916600160f01b1480156103345750826103308683016020015190565b1684145b80156103425750868501518c145b9c9b505050505050505050505050565b5f8282188284100282185b90505b92915050565b5f6060610372836103dd565b1561038d575050604080515f808252602082019092526103d5565b8251855185516040516103ac92919084908a908a908a90602001610642565b604051602081830303815290604052915060208201818184518360055afa828452910160405291505b935093915050565b5f80805b835181101561043d5780602085010151915061040f8160206104039190610685565b85518103908111150290565b61041a906008610698565b82901c1561042b57505f9392505050565b610436602082610685565b90506103e1565b5060019392505050565b5f5f83601f840112610457575f5ffd5b50813567ffffffffffffffff81111561046e575f5ffd5b602083019150836020828501011115610485575f5ffd5b9250929050565b5f5f5f5f5f606086880312156104a0575f5ffd5b853567ffffffffffffffff8111156104b6575f5ffd5b6104c288828901610447565b90965094505060208601359250604086013567ffffffffffffffff8111156104e8575f5ffd5b6104f488828901610447565b969995985093965092949392505050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112610528575f5ffd5b813567ffffffffffffffff81111561054257610542610505565b604051601f8201601f19908116603f0116810167ffffffffffffffff8111828210171561057157610571610505565b604052818152838201602001851015610588575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f604083850312156105b5575f5ffd5b823567ffffffffffffffff8111156105cb575f5ffd5b6105d785828601610519565b925050602083013567ffffffffffffffff8111156105f3575f5ffd5b6105ff85828601610519565b9150509250929050565b5f81518060208401855e5f93019283525090919050565b5f61035d8284610609565b5f6020828403121561063b575f5ffd5b5051919050565b8681528560208201528460408201525f6100e761066b6106656060850188610609565b86610609565b84610609565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561036057610360610671565b80820281158282048414176103605761036061067156fea2646970667358221220728acb2620048c74903284b6a89a9bbae149000799fd4058841326a768988a4864736f6c63430008230033",
37
+ "deployedBytecode": "0x608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063024ad3181461002d575b5f5ffd5b61004061003b36600461048c565b61005d565b6040516001600160e01b0319909116815260200160405180910390f35b5f808061006c878901896105a4565b915091506100cd8660405160200161008691815260200190565b60408051601f198184030181526020601f8901819004810284018101909252878352919088908890819084018382808284375f920191909152508792508691506100f39050565b6100df576001600160e01b03196100e7565b62495a6360e31b5b98975050505050505050565b5f61014d6002866040516101079190610620565b602060405180830381855afa158015610122573d5f5f3e3d5ffd5b5050506040513d601f19601f82011682018060405250810190610145919061062b565b858585610158565b90505b949350505050565b80515f9061010081108061016d575084518114155b1561017b575f915050610150565b5f5b818110156101f2575f6101938260208503610352565b90505f6101a38883016020015190565b90505f6101b38784016020015190565b9050808210156101c5575050506101f2565b808211806101d557506020850383145b156101e7575f95505050505050610150565b50505060200161017d565b505f5f610200878787610366565b9150915081610214575f9350505050610150565b5f5f5f6102278460328803016020015190565b6001600160f81b031916603160f81b0361026c5750720181898068304b0432400b281820100828002160651b91506bffffffffffffffffffffffff19905060346102c7565b600f1986850101516001600160f81b031916602f60f81b036102b95750700181798058304b0432400b28182010082160751b91506dffffffffffffffffffffffffffff19905060326102c7565b5f9650505050505050610150565b80860360025b8181101561030557602081870101516001600160f81b0319908116146102fd575f98505050505050505050610150565b6001016102cd565b5060208501516001600160f01b031916600160f01b1480156103345750826103308683016020015190565b1684145b80156103425750868501518c145b9c9b505050505050505050505050565b5f8282188284100282185b90505b92915050565b5f6060610372836103dd565b1561038d575050604080515f808252602082019092526103d5565b8251855185516040516103ac92919084908a908a908a90602001610642565b604051602081830303815290604052915060208201818184518360055afa828452910160405291505b935093915050565b5f80805b835181101561043d5780602085010151915061040f8160206104039190610685565b85518103908111150290565b61041a906008610698565b82901c1561042b57505f9392505050565b610436602082610685565b90506103e1565b5060019392505050565b5f5f83601f840112610457575f5ffd5b50813567ffffffffffffffff81111561046e575f5ffd5b602083019150836020828501011115610485575f5ffd5b9250929050565b5f5f5f5f5f606086880312156104a0575f5ffd5b853567ffffffffffffffff8111156104b6575f5ffd5b6104c288828901610447565b90965094505060208601359250604086013567ffffffffffffffff8111156104e8575f5ffd5b6104f488828901610447565b969995985093965092949392505050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112610528575f5ffd5b813567ffffffffffffffff81111561054257610542610505565b604051601f8201601f19908116603f0116810167ffffffffffffffff8111828210171561057157610571610505565b604052818152838201602001851015610588575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f604083850312156105b5575f5ffd5b823567ffffffffffffffff8111156105cb575f5ffd5b6105d785828601610519565b925050602083013567ffffffffffffffff8111156105f3575f5ffd5b6105ff85828601610519565b9150509250929050565b5f81518060208401855e5f93019283525090919050565b5f61035d8284610609565b5f6020828403121561063b575f5ffd5b5051919050565b8681528560208201528460408201525f6100e761066b6106656060850188610609565b86610609565b84610609565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561036057610360610671565b80820281158282048414176103605761036061067156fea2646970667358221220728acb2620048c74903284b6a89a9bbae149000799fd4058841326a768988a4864736f6c63430008230033",
38
+ "linkReferences": {},
39
+ "deployedLinkReferences": {},
40
+ "immutableReferences": {},
41
+ "inputSourceName": "project/contracts/utils/cryptography/verifiers/ERC7913RSAVerifier.sol",
42
+ "buildInfoId": "solc-0_8_35-c2903afec1b369cf73b6885b12c338655542e5ad"
43
+ }
@@ -0,0 +1,43 @@
1
+ {
2
+ "_format": "hh3-artifact-1",
3
+ "contractName": "ERC7913WebAuthnVerifier",
4
+ "sourceName": "contracts/utils/cryptography/verifiers/ERC7913WebAuthnVerifier.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "bytes",
10
+ "name": "key",
11
+ "type": "bytes"
12
+ },
13
+ {
14
+ "internalType": "bytes32",
15
+ "name": "hash",
16
+ "type": "bytes32"
17
+ },
18
+ {
19
+ "internalType": "bytes",
20
+ "name": "signature",
21
+ "type": "bytes"
22
+ }
23
+ ],
24
+ "name": "verify",
25
+ "outputs": [
26
+ {
27
+ "internalType": "bytes4",
28
+ "name": "",
29
+ "type": "bytes4"
30
+ }
31
+ ],
32
+ "stateMutability": "view",
33
+ "type": "function"
34
+ }
35
+ ],
36
+ "bytecode": "0x6080604052348015600e575f5ffd5b506114168061001c5f395ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063024ad3181461002d575b5f5ffd5b61004061003b36600461107d565b61005d565b6040516001600160e01b0319909116815260200160405180910390f35b5f5f3661006a858561010d565b9150915081801561007b5750604087145b80156100e557506100e58660405160200161009891815260200190565b604051602081830303815290604052826100b1906111c4565b6100be60205f8c8e61125a565b6100c791611281565b6100d5604060208d8f61125a565b6100de91611281565b600161020a565b6100f7576001600160e01b03196100ff565b62495a6360e31b5b925050505b95945050505050565b5f8260c0831015610120575f9150610203565b5f61012e846080818861125a565b61013791611281565b90505f6101478560a0818961125a565b61015091611281565b90508161015e6020876112b2565b10806101735750806101716020876112b2565b105b15610182575f93505050610203565b5f61018f8684818a61125a565b61019891611281565b90505f6101a78784818b61125a565b6101b091611281565b90508160206101bf868a6112b2565b6101c991906112b2565b10806101e957508060206101dd858a6112b2565b6101e791906112b2565b105b156101fa575f955050505050610203565b60019550505050505b9250929050565b5f602485608001515111801561026657506102668560a0015186606001518181016020015191516014909101106affffffffffffffffffffff199190911674113a3cb832911d113bb2b130baba34371733b2ba1160591b141690565b801561028057506102808560a00151866040015188610405565b80156102b257506102b285608001516020815181106102a1576102a16112c5565b0160200151600160f81b9081161490565b80156102ec57508115806102ec57506102ec85608001516020815181106102db576102db6112c5565b0160200151600160fa1b9081161490565b80156103215750610321856080015160208151811061030d5761030d6112c5565b01602001516001600160f81b031916610453565b80156103fb57506103fb6002866080015160028860a0015160405161034691906112f0565b602060405180830381855afa158015610361573d5f5f3e3d5ffd5b5050506040513d601f19601f8201168201806040525081019061038491906112fb565b604051602001610395929190611312565b60408051601f19818403018152908290526103af916112f0565b602060405180830381855afa1580156103ca573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906103ed91906112fb565b865160208801518787610472565b9695505050505050565b5f5f610410836104a8565b604051602001610420919061132a565b60405160208183030381529060405290505f61044786866104428886516104b5565b6104cd565b90506103fb818361054e565b5f600160fb1b828116148061046c5750600160fc1b8216155b92915050565b5f5f5f6104828888888888610560565b915091508061049d57610498888888888861063b565b6100ff565b509695505050505050565b606061046c8260016106eb565b5f828201838110159081025f19808218830218610104565b60606104da82855161086a565b91506104e6838361086a565b92505f6104f384846112b2565b67ffffffffffffffff81111561050b5761050b6110f6565b6040519080825280601f01601f191660200182016040528015610535576020820181803683370190505b509050838303846020870101602083015e949350505050565b5f6105598383610879565b9392505050565b5f5f61056c868661089d565b158061057f575061057d84846108f4565b155b1561058f57505f90506001610631565b61059c8787878787610958565b156105ac57506001905080610631565b61061b7fbb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023600560017fa71af64de5126a4a4e02b7922d66ce9415ce88a4c9d25514d91082c8725ac9577f5d47723c8fbe580bb369fec9c2665d8e30a435b9932645482e7c9f11e872296b610958565b1561062b57505f90506001610631565b505f9050805b9550959350505050565b5f610646858561089d565b1580610659575061065783836108f4565b155b1561066557505f610104565b5f6106708484610998565b90505f61068a865f5160206113c15f395f51905f52610b8b565b90505f5f5160206113c15f395f51905f52828a0990505f5f5160206113c15f395f51905f52838a0990505f6106c0858484610b9a565b509050896106db5f5160206113c15f395f51905f5283611370565b149b9a5050505050505050505050565b606082515f03610709575060408051602081019091525f815261046c565b5f826107395760038451600261071f9190611383565b6107299190611396565b6107349060046113a9565b61075e565b60038451600461074991906113a9565b610754906002611383565b61075e9190611396565b905060405191507f4142434445464748494a4b4c4d4e4f505152535455565758595a616263646566601f5261067083027f6768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f18603f526020820181810185865187016020810180515f82525b8284101561081c576003840193508351603f8160121c16518753600187019650603f81600c1c16518753600187019650603f8160061c16518753600187019650603f8116518753506001860195506107c9565b90525085905061085d5760038651066001811461084057600281146108535761085b565b603d6001840353603d600284035361085b565b603d60018403535b505b9183525060405292915050565b5f828218828410028218610559565b5f815183511480156105595750508051602091820120825192909101919091201490565b5f82158015906108b957505f5160206113c15f395f51905f5283105b80156108c457508115155b80156105595750507f7fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a81015919050565b5f600160601b63ffffffff60c01b031980838409817f5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b8387856003600160601b0363ffffffff60c01b0319878b8c0908090894821191909310169190921416919050565b5f6040518681528560208201528460408201528360608201528260808201525f5f5260205f60a0836101005afa61098b57fe5b50505f5195945050505050565b6109a0610ff8565b60405180606001604052805f81526020015f81526020015f815250815f601081106109cd576109cd6112c5565b60200201819052506040518060600160405280848152602001838152602001600181525081600160108110610a0457610a046112c5565b602002018190525060405180606001604052807f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29681526020017f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f58152602001600181525081600460108110610a7b57610a7b6112c5565b6020020152610a918160015b6020020151610cbe565b6040820152610aa1816004610a87565b6101008201526020810151610abe908260025b6020020151610d1a565b6060820152610ad78160015b6020020151826004610ab4565b60a0820152610ae7816002610aca565b60c0820152610af7816003610aca565b60e0820152610b108160015b6020020151826008610ab4565b610120820152610b21816002610b03565b610140820152610b32816003610b03565b610160820152610b43816004610b03565b610180820152610b5d8160015b602002015182600c610ab4565b6101a0820152610b6e816002610b50565b6101c0820152610b7f816003610b50565b6101e082015292915050565b5f610559836002840384610d78565b5f80808080805b6080811015610ca2578115610bd557610bbb848484610d99565b91955093509150610bcd848484610d99565b919550935091505b600c60fc89901c1660fe88901c17898160108110610bf557610bf56112c5565b60200201516040015115610c8e57825f03610c6457898160108110610c1c57610c1c6112c5565b6020020151518a8260108110610c3457610c346112c5565b6020020151602001518b8360108110610c4f57610c4f6112c5565b60200201516040015191965094509250610c8e565b610c868a8260108110610c7957610c796112c5565b6020020151868686610e1c565b919650945092505b50600297881b979690961b95600101610ba1565b50610cae838383610f48565b945094505050505b935093915050565b610cdf60405180606001604052805f81526020015f81526020015f81525090565b5f5f5f610cf8855f015186602001518760400151610d99565b6040805160608101825293845260208401929092529082015295945050505050565b610d3b60405180606001604052805f81526020015f81526020015f81525090565b5f5f5f610d5586865f015187602001518860400151610e1c565b604080516060810182529384526020840192909252908201529695505050505050565b5f5f5f610d86868686610f95565b9150915081610104576101046012610fe7565b5f5f5f600160601b63ffffffff60c01b031980868709818687098283848384096003600160601b0363ffffffff60c01b03190984858c8d096003090890508283838b09600409838482600209850385848509089650838485858609600809850385868a880385088509089550505050808186880960020991505093509350939050565b5f5f5f600160601b63ffffffff60c01b0319604088015181818209828388858a8b090960208c0151098381850385868686098c090884858a8b098d51098581870387868f0908935081158415168015610e7c5760018114610ec257610f37565b868586098788898386096002098903898a848a098b038b88890908089a5087888983890987098903898a8e8c038c8689090887090899505086878c880986099750610f37565b8c8c8c898283098a8283098b8c8d8384096003600160601b0363ffffffff60c01b0319098d8e8889096003090890508b8c83870960040994508b8c866002098d038d838409089e508b8c8384096008098c0391508b8f8d03860894508b828d878409089d505050898a8284096002099a505050505b505050505050509450945094915050565b5f5f825f03610f5b57505f905080610cb6565b600160601b63ffffffff60c01b03195f610f758583610b8b565b905081818209828189099450828383830988099350505050935093915050565b5f5f825f03610fa857505f905080610cb6565b60405160208152602080820152602060408201528560608201528460808201528360a082015260205f60c08360055afa9250505f519050935093915050565b634e487b715f52806020526024601cfd5b6040518061020001604052806010905b61102960405180606001604052805f81526020015f81526020015f81525090565b8152602001906001900390816110085790505090565b5f5f83601f84011261104f575f5ffd5b50813567ffffffffffffffff811115611066575f5ffd5b602083019150836020828501011115610203575f5ffd5b5f5f5f5f5f60608688031215611091575f5ffd5b853567ffffffffffffffff8111156110a7575f5ffd5b6110b38882890161103f565b90965094505060208601359250604086013567ffffffffffffffff8111156110d9575f5ffd5b6110e58882890161103f565b969995985093965092949392505050565b634e487b7160e01b5f52604160045260245ffd5b60405160c0810167ffffffffffffffff8111828210171561112d5761112d6110f6565b60405290565b5f82601f830112611142575f5ffd5b8135602083015f5f67ffffffffffffffff841115611162576111626110f6565b50604051601f19601f85018116603f0116810181811067ffffffffffffffff82111715611191576111916110f6565b6040528381529050808284018710156111a8575f5ffd5b838360208301375f602085830101528094505050505092915050565b5f60c082360312156111d4575f5ffd5b6111dc61110a565b82358152602080840135908201526040808401359082015260608084013590820152608083013567ffffffffffffffff811115611217575f5ffd5b61122336828601611133565b60808301525060a083013567ffffffffffffffff811115611242575f5ffd5b61124e36828601611133565b60a08301525092915050565b5f5f85851115611268575f5ffd5b83861115611274575f5ffd5b5050820193919092039150565b8035602083101561046c575f19602084900360031b1b1692915050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561046c5761046c61129e565b634e487b7160e01b5f52603260045260245ffd5b5f81518060208401855e5f93019283525090919050565b5f61055982846112d9565b5f6020828403121561130b575f5ffd5b5051919050565b5f61131d82856112d9565b9283525050602001919050565b6c1131b430b63632b733b2911d1160991b81525f61134b600d8301846112d9565b601160f91b81526001019392505050565b634e487b7160e01b5f52601260045260245ffd5b5f8261137e5761137e61135c565b500690565b8082018082111561046c5761046c61129e565b5f826113a4576113a461135c565b500490565b808202811582820484141761046c5761046c61129e56feffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551a2646970667358221220a9d906192ba21cdee47ab60ce4d91720607f063a757fd85e271c6ee496e678e264736f6c63430008230033",
37
+ "deployedBytecode": "0x608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063024ad3181461002d575b5f5ffd5b61004061003b36600461107d565b61005d565b6040516001600160e01b0319909116815260200160405180910390f35b5f5f3661006a858561010d565b9150915081801561007b5750604087145b80156100e557506100e58660405160200161009891815260200190565b604051602081830303815290604052826100b1906111c4565b6100be60205f8c8e61125a565b6100c791611281565b6100d5604060208d8f61125a565b6100de91611281565b600161020a565b6100f7576001600160e01b03196100ff565b62495a6360e31b5b925050505b95945050505050565b5f8260c0831015610120575f9150610203565b5f61012e846080818861125a565b61013791611281565b90505f6101478560a0818961125a565b61015091611281565b90508161015e6020876112b2565b10806101735750806101716020876112b2565b105b15610182575f93505050610203565b5f61018f8684818a61125a565b61019891611281565b90505f6101a78784818b61125a565b6101b091611281565b90508160206101bf868a6112b2565b6101c991906112b2565b10806101e957508060206101dd858a6112b2565b6101e791906112b2565b105b156101fa575f955050505050610203565b60019550505050505b9250929050565b5f602485608001515111801561026657506102668560a0015186606001518181016020015191516014909101106affffffffffffffffffffff199190911674113a3cb832911d113bb2b130baba34371733b2ba1160591b141690565b801561028057506102808560a00151866040015188610405565b80156102b257506102b285608001516020815181106102a1576102a16112c5565b0160200151600160f81b9081161490565b80156102ec57508115806102ec57506102ec85608001516020815181106102db576102db6112c5565b0160200151600160fa1b9081161490565b80156103215750610321856080015160208151811061030d5761030d6112c5565b01602001516001600160f81b031916610453565b80156103fb57506103fb6002866080015160028860a0015160405161034691906112f0565b602060405180830381855afa158015610361573d5f5f3e3d5ffd5b5050506040513d601f19601f8201168201806040525081019061038491906112fb565b604051602001610395929190611312565b60408051601f19818403018152908290526103af916112f0565b602060405180830381855afa1580156103ca573d5f5f3e3d5ffd5b5050506040513d601f19601f820116820180604052508101906103ed91906112fb565b865160208801518787610472565b9695505050505050565b5f5f610410836104a8565b604051602001610420919061132a565b60405160208183030381529060405290505f61044786866104428886516104b5565b6104cd565b90506103fb818361054e565b5f600160fb1b828116148061046c5750600160fc1b8216155b92915050565b5f5f5f6104828888888888610560565b915091508061049d57610498888888888861063b565b6100ff565b509695505050505050565b606061046c8260016106eb565b5f828201838110159081025f19808218830218610104565b60606104da82855161086a565b91506104e6838361086a565b92505f6104f384846112b2565b67ffffffffffffffff81111561050b5761050b6110f6565b6040519080825280601f01601f191660200182016040528015610535576020820181803683370190505b509050838303846020870101602083015e949350505050565b5f6105598383610879565b9392505050565b5f5f61056c868661089d565b158061057f575061057d84846108f4565b155b1561058f57505f90506001610631565b61059c8787878787610958565b156105ac57506001905080610631565b61061b7fbb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023600560017fa71af64de5126a4a4e02b7922d66ce9415ce88a4c9d25514d91082c8725ac9577f5d47723c8fbe580bb369fec9c2665d8e30a435b9932645482e7c9f11e872296b610958565b1561062b57505f90506001610631565b505f9050805b9550959350505050565b5f610646858561089d565b1580610659575061065783836108f4565b155b1561066557505f610104565b5f6106708484610998565b90505f61068a865f5160206113c15f395f51905f52610b8b565b90505f5f5160206113c15f395f51905f52828a0990505f5f5160206113c15f395f51905f52838a0990505f6106c0858484610b9a565b509050896106db5f5160206113c15f395f51905f5283611370565b149b9a5050505050505050505050565b606082515f03610709575060408051602081019091525f815261046c565b5f826107395760038451600261071f9190611383565b6107299190611396565b6107349060046113a9565b61075e565b60038451600461074991906113a9565b610754906002611383565b61075e9190611396565b905060405191507f4142434445464748494a4b4c4d4e4f505152535455565758595a616263646566601f5261067083027f6768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f18603f526020820181810185865187016020810180515f82525b8284101561081c576003840193508351603f8160121c16518753600187019650603f81600c1c16518753600187019650603f8160061c16518753600187019650603f8116518753506001860195506107c9565b90525085905061085d5760038651066001811461084057600281146108535761085b565b603d6001840353603d600284035361085b565b603d60018403535b505b9183525060405292915050565b5f828218828410028218610559565b5f815183511480156105595750508051602091820120825192909101919091201490565b5f82158015906108b957505f5160206113c15f395f51905f5283105b80156108c457508115155b80156105595750507f7fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a81015919050565b5f600160601b63ffffffff60c01b031980838409817f5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b8387856003600160601b0363ffffffff60c01b0319878b8c0908090894821191909310169190921416919050565b5f6040518681528560208201528460408201528360608201528260808201525f5f5260205f60a0836101005afa61098b57fe5b50505f5195945050505050565b6109a0610ff8565b60405180606001604052805f81526020015f81526020015f815250815f601081106109cd576109cd6112c5565b60200201819052506040518060600160405280848152602001838152602001600181525081600160108110610a0457610a046112c5565b602002018190525060405180606001604052807f6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29681526020017f4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f58152602001600181525081600460108110610a7b57610a7b6112c5565b6020020152610a918160015b6020020151610cbe565b6040820152610aa1816004610a87565b6101008201526020810151610abe908260025b6020020151610d1a565b6060820152610ad78160015b6020020151826004610ab4565b60a0820152610ae7816002610aca565b60c0820152610af7816003610aca565b60e0820152610b108160015b6020020151826008610ab4565b610120820152610b21816002610b03565b610140820152610b32816003610b03565b610160820152610b43816004610b03565b610180820152610b5d8160015b602002015182600c610ab4565b6101a0820152610b6e816002610b50565b6101c0820152610b7f816003610b50565b6101e082015292915050565b5f610559836002840384610d78565b5f80808080805b6080811015610ca2578115610bd557610bbb848484610d99565b91955093509150610bcd848484610d99565b919550935091505b600c60fc89901c1660fe88901c17898160108110610bf557610bf56112c5565b60200201516040015115610c8e57825f03610c6457898160108110610c1c57610c1c6112c5565b6020020151518a8260108110610c3457610c346112c5565b6020020151602001518b8360108110610c4f57610c4f6112c5565b60200201516040015191965094509250610c8e565b610c868a8260108110610c7957610c796112c5565b6020020151868686610e1c565b919650945092505b50600297881b979690961b95600101610ba1565b50610cae838383610f48565b945094505050505b935093915050565b610cdf60405180606001604052805f81526020015f81526020015f81525090565b5f5f5f610cf8855f015186602001518760400151610d99565b6040805160608101825293845260208401929092529082015295945050505050565b610d3b60405180606001604052805f81526020015f81526020015f81525090565b5f5f5f610d5586865f015187602001518860400151610e1c565b604080516060810182529384526020840192909252908201529695505050505050565b5f5f5f610d86868686610f95565b9150915081610104576101046012610fe7565b5f5f5f600160601b63ffffffff60c01b031980868709818687098283848384096003600160601b0363ffffffff60c01b03190984858c8d096003090890508283838b09600409838482600209850385848509089650838485858609600809850385868a880385088509089550505050808186880960020991505093509350939050565b5f5f5f600160601b63ffffffff60c01b0319604088015181818209828388858a8b090960208c0151098381850385868686098c090884858a8b098d51098581870387868f0908935081158415168015610e7c5760018114610ec257610f37565b868586098788898386096002098903898a848a098b038b88890908089a5087888983890987098903898a8e8c038c8689090887090899505086878c880986099750610f37565b8c8c8c898283098a8283098b8c8d8384096003600160601b0363ffffffff60c01b0319098d8e8889096003090890508b8c83870960040994508b8c866002098d038d838409089e508b8c8384096008098c0391508b8f8d03860894508b828d878409089d505050898a8284096002099a505050505b505050505050509450945094915050565b5f5f825f03610f5b57505f905080610cb6565b600160601b63ffffffff60c01b03195f610f758583610b8b565b905081818209828189099450828383830988099350505050935093915050565b5f5f825f03610fa857505f905080610cb6565b60405160208152602080820152602060408201528560608201528460808201528360a082015260205f60c08360055afa9250505f519050935093915050565b634e487b715f52806020526024601cfd5b6040518061020001604052806010905b61102960405180606001604052805f81526020015f81526020015f81525090565b8152602001906001900390816110085790505090565b5f5f83601f84011261104f575f5ffd5b50813567ffffffffffffffff811115611066575f5ffd5b602083019150836020828501011115610203575f5ffd5b5f5f5f5f5f60608688031215611091575f5ffd5b853567ffffffffffffffff8111156110a7575f5ffd5b6110b38882890161103f565b90965094505060208601359250604086013567ffffffffffffffff8111156110d9575f5ffd5b6110e58882890161103f565b969995985093965092949392505050565b634e487b7160e01b5f52604160045260245ffd5b60405160c0810167ffffffffffffffff8111828210171561112d5761112d6110f6565b60405290565b5f82601f830112611142575f5ffd5b8135602083015f5f67ffffffffffffffff841115611162576111626110f6565b50604051601f19601f85018116603f0116810181811067ffffffffffffffff82111715611191576111916110f6565b6040528381529050808284018710156111a8575f5ffd5b838360208301375f602085830101528094505050505092915050565b5f60c082360312156111d4575f5ffd5b6111dc61110a565b82358152602080840135908201526040808401359082015260608084013590820152608083013567ffffffffffffffff811115611217575f5ffd5b61122336828601611133565b60808301525060a083013567ffffffffffffffff811115611242575f5ffd5b61124e36828601611133565b60a08301525092915050565b5f5f85851115611268575f5ffd5b83861115611274575f5ffd5b5050820193919092039150565b8035602083101561046c575f19602084900360031b1b1692915050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561046c5761046c61129e565b634e487b7160e01b5f52603260045260245ffd5b5f81518060208401855e5f93019283525090919050565b5f61055982846112d9565b5f6020828403121561130b575f5ffd5b5051919050565b5f61131d82856112d9565b9283525050602001919050565b6c1131b430b63632b733b2911d1160991b81525f61134b600d8301846112d9565b601160f91b81526001019392505050565b634e487b7160e01b5f52601260045260245ffd5b5f8261137e5761137e61135c565b500690565b8082018082111561046c5761046c61129e565b5f826113a4576113a461135c565b500490565b808202811582820484141761046c5761046c61129e56feffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551a2646970667358221220a9d906192ba21cdee47ab60ce4d91720607f063a757fd85e271c6ee496e678e264736f6c63430008230033",
38
+ "linkReferences": {},
39
+ "deployedLinkReferences": {},
40
+ "immutableReferences": {},
41
+ "inputSourceName": "project/contracts/utils/cryptography/verifiers/ERC7913WebAuthnVerifier.sol",
42
+ "buildInfoId": "solc-0_8_35-c2903afec1b369cf73b6885b12c338655542e5ad"
43
+ }
@@ -0,0 +1,36 @@
1
+ {
2
+ "_format": "hh3-artifact-1",
3
+ "contractName": "EnumerableMap",
4
+ "sourceName": "contracts/utils/structs/EnumerableMap.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [
8
+ {
9
+ "internalType": "bytes",
10
+ "name": "key",
11
+ "type": "bytes"
12
+ }
13
+ ],
14
+ "name": "EnumerableMapNonexistentBytesKey",
15
+ "type": "error"
16
+ },
17
+ {
18
+ "inputs": [
19
+ {
20
+ "internalType": "bytes32",
21
+ "name": "key",
22
+ "type": "bytes32"
23
+ }
24
+ ],
25
+ "name": "EnumerableMapNonexistentKey",
26
+ "type": "error"
27
+ }
28
+ ],
29
+ "bytecode": "0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea26469706673582212207eeb9080b9945d58f2fe5a342258db4d82117d60dec08a5e7e766974fa0f774d64736f6c63430008230033",
30
+ "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040525f5ffdfea26469706673582212207eeb9080b9945d58f2fe5a342258db4d82117d60dec08a5e7e766974fa0f774d64736f6c63430008230033",
31
+ "linkReferences": {},
32
+ "deployedLinkReferences": {},
33
+ "immutableReferences": {},
34
+ "inputSourceName": "project/contracts/utils/structs/EnumerableMap.sol",
35
+ "buildInfoId": "solc-0_8_35-c2903afec1b369cf73b6885b12c338655542e5ad"
36
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "_format": "hh3-artifact-1",
3
+ "contractName": "EnumerableSet",
4
+ "sourceName": "contracts/utils/structs/EnumerableSet.sol",
5
+ "abi": [],
6
+ "bytecode": "0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220e0e49e4f8d1e43a4387a83c3e98c3c14a7cdcbcf5ef1c6cf82c031186b16258b64736f6c63430008230033",
7
+ "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040525f5ffdfea2646970667358221220e0e49e4f8d1e43a4387a83c3e98c3c14a7cdcbcf5ef1c6cf82c031186b16258b64736f6c63430008230033",
8
+ "linkReferences": {},
9
+ "deployedLinkReferences": {},
10
+ "immutableReferences": {},
11
+ "inputSourceName": "project/contracts/utils/structs/EnumerableSet.sol",
12
+ "buildInfoId": "solc-0_8_35-c2903afec1b369cf73b6885b12c338655542e5ad"
13
+ }
@@ -0,0 +1,51 @@
1
+ {
2
+ "_format": "hh3-artifact-1",
3
+ "contractName": "Errors",
4
+ "sourceName": "contracts/utils/Errors.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "name": "FailedCall",
9
+ "type": "error"
10
+ },
11
+ {
12
+ "inputs": [],
13
+ "name": "FailedDeployment",
14
+ "type": "error"
15
+ },
16
+ {
17
+ "inputs": [
18
+ {
19
+ "internalType": "uint256",
20
+ "name": "balance",
21
+ "type": "uint256"
22
+ },
23
+ {
24
+ "internalType": "uint256",
25
+ "name": "needed",
26
+ "type": "uint256"
27
+ }
28
+ ],
29
+ "name": "InsufficientBalance",
30
+ "type": "error"
31
+ },
32
+ {
33
+ "inputs": [
34
+ {
35
+ "internalType": "address",
36
+ "name": "",
37
+ "type": "address"
38
+ }
39
+ ],
40
+ "name": "MissingPrecompile",
41
+ "type": "error"
42
+ }
43
+ ],
44
+ "bytecode": "0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f5ffdfea26469706673582212208d137c2c86efa10ffb1b3a0d5220394b8b0f69fcfd59df9fb1a6baaf49495b2a64736f6c63430008230033",
45
+ "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040525f5ffdfea26469706673582212208d137c2c86efa10ffb1b3a0d5220394b8b0f69fcfd59df9fb1a6baaf49495b2a64736f6c63430008230033",
46
+ "linkReferences": {},
47
+ "deployedLinkReferences": {},
48
+ "immutableReferences": {},
49
+ "inputSourceName": "project/contracts/utils/Errors.sol",
50
+ "buildInfoId": "solc-0_8_35-c2903afec1b369cf73b6885b12c338655542e5ad"
51
+ }