1pub mod erc1155;
2pub mod erc20;
3pub mod erc4626;
4pub mod erc721;
5pub mod erc777;
6
7use std::fmt::Debug;
8
9use alloy_sol_types::sol;
10
11sol! {
12 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, serde::Serialize, serde::Deserialize, utoipa::ToSchema)]
13 interface ERC20 {
14 event Transfer(address from, address to, uint256 value);
15 event Approval(address owner, address spender, uint256 value);
16 }
17}
18
19sol! {
20 #[derive(Clone, Debug, PartialEq, Eq, Hash, serde::Serialize, serde::Deserialize, utoipa::ToSchema)]
21 interface ERC721 {
22 event Transfer(address from, address to, uint256 tokenId);
23 event Approval(address owner, address approved, uint256 tokenId);
24 event ApprovalForAll(address owner, address operator, bool approved);
25 }
26}
27
28sol! {
29 #[derive(Clone, Debug, PartialEq, Eq, Hash, serde::Serialize, serde::Deserialize, utoipa::ToSchema)]
30 interface ERC777 {
31 event Sent(address operator, address from, address to, uint256 amount, bytes data, bytes operatorData);
32 event Minted(address operator, address to, uint256 amount, bytes data, bytes operatorData);
33 event Burned(address operator, address from, uint256 amount, bytes data, bytes operatorData);
34 event AuthorizedOperator(address operator,address holder);
35 event RevokedOperator(address operator, address holder);
36 }
37}
38
39sol! {
40 #[derive(Clone, Debug, PartialEq, Eq, Hash, serde::Serialize, serde::Deserialize, utoipa::ToSchema)]
41 interface ERC1155 {
42 event TransferSingle(address operator, address from, address to, uint256 id, uint256 value);
43 event TransferBatch(address operator, address from, address to, uint256[] ids, uint256[] values);
44 event URI(string value, uint256 id);
45 }
46}
47
48sol! {
49 #[derive(Clone, Debug, PartialEq, Eq, Hash, serde::Serialize, serde::Deserialize, utoipa::ToSchema)]
50 interface ERC4626 {
51 event Deposit(address sender, address owner, uint256 assets, uint256 shares);
52 event Withdraw(address sender, address receiver, address owner, uint256 assets, uint256 shares);
53 }
54}
55
56sol! {
57 #[derive(Clone, Debug, PartialEq, Eq, Hash, serde::Serialize, serde::Deserialize, utoipa::ToSchema)]
58 interface IUniswapV2Pair {
59 event Sync(uint112 reserve0, uint112 reserve1);
60 }
61}
62
63sol! {
64 #[derive(Clone, Debug, PartialEq, Eq, Hash, serde::Serialize, serde::Deserialize, utoipa::ToSchema)]
65 interface IUniswapV3Pair {
66 event Swap(address indexed sender, address indexed recipient, int256 amount0, int256 amount1, uint160 sqrtPriceX96, uint128 liquidity, int24 tick);
67 }
68}