recon-generate 0.0.11 → 0.0.12

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.
@@ -0,0 +1,1115 @@
1
+
2
+ from __future__ import annotations
3
+
4
+ import dataclasses
5
+ from typing import List, Dict, Optional, overload, Union, Callable, Tuple
6
+ from typing_extensions import Literal
7
+
8
+ from wake.development.core import Contract, Library, Address, Account, Chain, RequestType
9
+ from wake.development.primitive_types import *
10
+ from wake.development.transactions import TransactionAbc, TransactionRevertedError
11
+
12
+ from enum import IntEnum
13
+
14
+
15
+
16
+ class ERC20(Contract):
17
+ """
18
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#8)
19
+ """
20
+ _abi = {b'\x91\xbe\xda$': {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'allowance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'InsufficientAllowance', 'type': 'error'}, b'\xdbB\x14M': {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'uint256', 'name': 'balance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'InsufficientBalance', 'type': 'error'}, b'\x93\xea>\x04': {'inputs': [{'internalType': 'uint256', 'name': 'currentSupply', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'MintOverflow', 'type': 'error'}, b'\x8c[\xe1\xe5\xeb\xec}[\xd1OqB}\x1e\x84\xf3\xdd\x03\x14\xc0\xf7\xb2)\x1e[ \n\xc8\xc7\xc3\xb9%': {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'Approval', 'type': 'event'}, b'\xdd\xf2R\xad\x1b\xe2\xc8\x9bi\xc2\xb0h\xfc7\x8d\xaa\x95+\xa7\xf1c\xc4\xa1\x16(\xf5ZM\xf5#\xb3\xef': {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'Transfer', 'type': 'event'}, b'6D\xe5\x15': {'inputs': [], 'name': 'DOMAIN_SEPARATOR', 'outputs': [{'internalType': 'bytes32', 'name': '', 'type': 'bytes32'}], 'stateMutability': 'view', 'type': 'function'}, b'\xddb\xed>': {'inputs': [{'internalType': 'address', 'name': '', 'type': 'address'}, {'internalType': 'address', 'name': '', 'type': 'address'}], 'name': 'allowance', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, b'\t^\xa7\xb3': {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'approve', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, b'p\xa0\x821': {'inputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, b'1<\xe5g': {'inputs': [], 'name': 'decimals', 'outputs': [{'internalType': 'uint8', 'name': '', 'type': 'uint8'}], 'stateMutability': 'view', 'type': 'function'}, b'\x06\xfd\xde\x03': {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, b'~\xce\xbe\x00': {'inputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'name': 'nonces', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, b'\xd5\x05\xac\xcf': {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'deadline', 'type': 'uint256'}, {'internalType': 'uint8', 'name': 'v', 'type': 'uint8'}, {'internalType': 'bytes32', 'name': 'r', 'type': 'bytes32'}, {'internalType': 'bytes32', 'name': 's', 'type': 'bytes32'}], 'name': 'permit', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, b'\x95\xd8\x9bA': {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, b'\x18\x16\r\xdd': {'inputs': [], 'name': 'totalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, b'\xa9\x05\x9c\xbb': {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transfer', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, b'#\xb8r\xdd': {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}}
21
+ _storage_layout = {"storage":[{"astId":47,"contract":"src/MockERC20.sol:ERC20","label":"name","offset":0,"slot":0,"type":"t_string_storage"},{"astId":49,"contract":"src/MockERC20.sol:ERC20","label":"symbol","offset":0,"slot":1,"type":"t_string_storage"},{"astId":53,"contract":"src/MockERC20.sol:ERC20","label":"totalSupply","offset":0,"slot":2,"type":"t_uint256"},{"astId":57,"contract":"src/MockERC20.sol:ERC20","label":"balanceOf","offset":0,"slot":3,"type":"t_mapping(t_address,t_uint256)"},{"astId":63,"contract":"src/MockERC20.sol:ERC20","label":"allowance","offset":0,"slot":4,"type":"t_mapping(t_address,t_mapping(t_address,t_uint256))"},{"astId":71,"contract":"src/MockERC20.sol:ERC20","label":"nonces","offset":0,"slot":5,"type":"t_mapping(t_address,t_uint256)"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":20},"t_mapping(t_address,t_mapping(t_address,t_uint256))":{"encoding":"mapping","label":"mapping(address => mapping(address => uint256))","numberOfBytes":32,"key":"t_address","value":"t_mapping(t_address,t_uint256)"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","label":"mapping(address => uint256)","numberOfBytes":32,"key":"t_address","value":"t_uint256"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":32},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":32}}}
22
+ _creation_code = ""
23
+
24
+ @overload
25
+ @classmethod
26
+ def deploy(cls, _name: str, _symbol: str, _decimals: uint8, *, from_: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, return_tx: Literal[False] = False, request_type: Literal["call"], chain: Optional[Chain] = None, gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> bytearray:
27
+ """
28
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#64)
29
+
30
+ Args:
31
+ _name: string
32
+ _symbol: string
33
+ _decimals: uint8
34
+ """
35
+ ...
36
+
37
+ @overload
38
+ @classmethod
39
+ def deploy(cls, _name: str, _symbol: str, _decimals: uint8, *, from_: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, return_tx: Literal[False] = False, request_type: Literal["tx"] = "tx", chain: Optional[Chain] = None, gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> ERC20:
40
+ """
41
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#64)
42
+
43
+ Args:
44
+ _name: string
45
+ _symbol: string
46
+ _decimals: uint8
47
+ """
48
+ ...
49
+
50
+ @overload
51
+ @classmethod
52
+ def deploy(cls, _name: str, _symbol: str, _decimals: uint8, *, from_: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, return_tx: Literal[False] = False, request_type: Literal["estimate"], chain: Optional[Chain] = None, gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> int:
53
+ """
54
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#64)
55
+
56
+ Args:
57
+ _name: string
58
+ _symbol: string
59
+ _decimals: uint8
60
+ """
61
+ ...
62
+
63
+ @overload
64
+ @classmethod
65
+ def deploy(cls, _name: str, _symbol: str, _decimals: uint8, *, from_: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, return_tx: Literal[False] = False, request_type: Literal["access_list"], chain: Optional[Chain] = None, gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> Tuple[Dict[Address, List[int]], int]:
66
+ """
67
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#64)
68
+
69
+ Args:
70
+ _name: string
71
+ _symbol: string
72
+ _decimals: uint8
73
+ """
74
+ ...
75
+
76
+ @overload
77
+ @classmethod
78
+ def deploy(cls, _name: str, _symbol: str, _decimals: uint8, *, from_: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, return_tx: Literal[True], request_type: Literal["tx"] = "tx", chain: Optional[Chain] = None, gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> TransactionAbc[ERC20]:
79
+ """
80
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#64)
81
+
82
+ Args:
83
+ _name: string
84
+ _symbol: string
85
+ _decimals: uint8
86
+ """
87
+ ...
88
+
89
+ @classmethod
90
+ def deploy(cls, _name: str, _symbol: str, _decimals: uint8, *, from_: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, return_tx: bool = False, request_type: RequestType = "tx", chain: Optional[Chain] = None, gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> Union[bytearray, ERC20, int, Tuple[Dict[Address, List[int]], int], TransactionAbc[ERC20]]:
91
+ """
92
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#64)
93
+
94
+ Args:
95
+ _name: string
96
+ _symbol: string
97
+ _decimals: uint8
98
+ """
99
+ raise Exception("Cannot deploy abstract contract")
100
+
101
+ @classmethod
102
+ def get_creation_code(cls) -> bytes:
103
+ raise Exception("Cannot get creation code of an abstract contract")
104
+
105
+ @dataclasses.dataclass
106
+ class InsufficientBalance(TransactionRevertedError):
107
+ """
108
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#14)
109
+
110
+ Attributes:
111
+ from_ (Address): address
112
+ balance (uint256): uint256
113
+ amount (uint256): uint256
114
+ """
115
+ _abi = {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'uint256', 'name': 'balance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'InsufficientBalance', 'type': 'error'}
116
+ original_name = 'InsufficientBalance'
117
+ selector = bytes4(b'\xdbB\x14M')
118
+
119
+ from_: Address = dataclasses.field(metadata={"original_name": "from"})
120
+ balance: uint256
121
+ amount: uint256
122
+
123
+
124
+ @dataclasses.dataclass
125
+ class InsufficientAllowance(TransactionRevertedError):
126
+ """
127
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#17)
128
+
129
+ Attributes:
130
+ owner (Address): address
131
+ spender (Address): address
132
+ allowance (uint256): uint256
133
+ amount (uint256): uint256
134
+ """
135
+ _abi = {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'allowance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'InsufficientAllowance', 'type': 'error'}
136
+ original_name = 'InsufficientAllowance'
137
+ selector = bytes4(b'\x91\xbe\xda$')
138
+
139
+ owner: Address
140
+ spender: Address
141
+ allowance: uint256
142
+ amount: uint256
143
+
144
+
145
+ @dataclasses.dataclass
146
+ class MintOverflow(TransactionRevertedError):
147
+ """
148
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#20)
149
+
150
+ Attributes:
151
+ currentSupply (uint256): uint256
152
+ amount (uint256): uint256
153
+ """
154
+ _abi = {'inputs': [{'internalType': 'uint256', 'name': 'currentSupply', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'MintOverflow', 'type': 'error'}
155
+ original_name = 'MintOverflow'
156
+ selector = bytes4(b'\x93\xea>\x04')
157
+
158
+ currentSupply: uint256
159
+ amount: uint256
160
+
161
+
162
+ @dataclasses.dataclass
163
+ class Transfer:
164
+ """
165
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#26)
166
+
167
+ Attributes:
168
+ from_ (Address): indexed address
169
+ to (Address): indexed address
170
+ amount (uint256): uint256
171
+ """
172
+ _abi = {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'Transfer', 'type': 'event'}
173
+ origin: Account = dataclasses.field(init=False, compare=False, repr=False)
174
+ original_name = 'Transfer'
175
+ selector = bytes32(b'\xdd\xf2R\xad\x1b\xe2\xc8\x9bi\xc2\xb0h\xfc7\x8d\xaa\x95+\xa7\xf1c\xc4\xa1\x16(\xf5ZM\xf5#\xb3\xef')
176
+
177
+ from_: Address = dataclasses.field(metadata={"original_name": "from"})
178
+ to: Address
179
+ amount: uint256
180
+
181
+
182
+ @dataclasses.dataclass
183
+ class Approval:
184
+ """
185
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#28)
186
+
187
+ Attributes:
188
+ owner (Address): indexed address
189
+ spender (Address): indexed address
190
+ amount (uint256): uint256
191
+ """
192
+ _abi = {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'Approval', 'type': 'event'}
193
+ origin: Account = dataclasses.field(init=False, compare=False, repr=False)
194
+ original_name = 'Approval'
195
+ selector = bytes32(b'\x8c[\xe1\xe5\xeb\xec}[\xd1OqB}\x1e\x84\xf3\xdd\x03\x14\xc0\xf7\xb2)\x1e[ \n\xc8\xc7\xc3\xb9%')
196
+
197
+ owner: Address
198
+ spender: Address
199
+ amount: uint256
200
+
201
+
202
+ @overload
203
+ def name(self, *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: Literal["call"] = "call", gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> str:
204
+ """
205
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#34)
206
+
207
+ Returns:
208
+ name: string
209
+ """
210
+ ...
211
+
212
+ @overload
213
+ def name(self, *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: Literal["estimate"], gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> int:
214
+ """
215
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#34)
216
+
217
+ Returns:
218
+ name: string
219
+ """
220
+ ...
221
+
222
+ @overload
223
+ def name(self, *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: Literal["access_list"], gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> Tuple[Dict[Address, List[int]], int]:
224
+ """
225
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#34)
226
+
227
+ Returns:
228
+ name: string
229
+ """
230
+ ...
231
+
232
+ @overload
233
+ def name(self, *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: Literal["tx"], gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> TransactionAbc[str]:
234
+ """
235
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#34)
236
+
237
+ Returns:
238
+ name: string
239
+ """
240
+ ...
241
+
242
+ def name(self, *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: RequestType = 'call', gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> Union[str, TransactionAbc[str], int, Tuple[Dict[Address, List[int]], int]]:
243
+ """
244
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#34)
245
+
246
+ Returns:
247
+ name: string
248
+ """
249
+ return self._execute(self.chain, request_type, "06fdde03", [], True if request_type == "tx" else False, str, from_, to if to is not None else str(self.address), value, gas_limit, gas_price, max_fee_per_gas, max_priority_fee_per_gas, access_list, type, block, confirmations)
250
+
251
+ @overload
252
+ def symbol(self, *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: Literal["call"] = "call", gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> str:
253
+ """
254
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#36)
255
+
256
+ Returns:
257
+ symbol: string
258
+ """
259
+ ...
260
+
261
+ @overload
262
+ def symbol(self, *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: Literal["estimate"], gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> int:
263
+ """
264
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#36)
265
+
266
+ Returns:
267
+ symbol: string
268
+ """
269
+ ...
270
+
271
+ @overload
272
+ def symbol(self, *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: Literal["access_list"], gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> Tuple[Dict[Address, List[int]], int]:
273
+ """
274
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#36)
275
+
276
+ Returns:
277
+ symbol: string
278
+ """
279
+ ...
280
+
281
+ @overload
282
+ def symbol(self, *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: Literal["tx"], gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> TransactionAbc[str]:
283
+ """
284
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#36)
285
+
286
+ Returns:
287
+ symbol: string
288
+ """
289
+ ...
290
+
291
+ def symbol(self, *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: RequestType = 'call', gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> Union[str, TransactionAbc[str], int, Tuple[Dict[Address, List[int]], int]]:
292
+ """
293
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#36)
294
+
295
+ Returns:
296
+ symbol: string
297
+ """
298
+ return self._execute(self.chain, request_type, "95d89b41", [], True if request_type == "tx" else False, str, from_, to if to is not None else str(self.address), value, gas_limit, gas_price, max_fee_per_gas, max_priority_fee_per_gas, access_list, type, block, confirmations)
299
+
300
+ @overload
301
+ def decimals(self, *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: Literal["call"] = "call", gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> uint8:
302
+ """
303
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#38)
304
+
305
+ Returns:
306
+ decimals: uint8
307
+ """
308
+ ...
309
+
310
+ @overload
311
+ def decimals(self, *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: Literal["estimate"], gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> int:
312
+ """
313
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#38)
314
+
315
+ Returns:
316
+ decimals: uint8
317
+ """
318
+ ...
319
+
320
+ @overload
321
+ def decimals(self, *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: Literal["access_list"], gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> Tuple[Dict[Address, List[int]], int]:
322
+ """
323
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#38)
324
+
325
+ Returns:
326
+ decimals: uint8
327
+ """
328
+ ...
329
+
330
+ @overload
331
+ def decimals(self, *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: Literal["tx"], gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> TransactionAbc[uint8]:
332
+ """
333
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#38)
334
+
335
+ Returns:
336
+ decimals: uint8
337
+ """
338
+ ...
339
+
340
+ def decimals(self, *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: RequestType = 'call', gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> Union[uint8, TransactionAbc[uint8], int, Tuple[Dict[Address, List[int]], int]]:
341
+ """
342
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#38)
343
+
344
+ Returns:
345
+ decimals: uint8
346
+ """
347
+ return self._execute(self.chain, request_type, "313ce567", [], True if request_type == "tx" else False, uint8, from_, to if to is not None else str(self.address), value, gas_limit, gas_price, max_fee_per_gas, max_priority_fee_per_gas, access_list, type, block, confirmations)
348
+
349
+ @overload
350
+ def totalSupply(self, *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: Literal["call"] = "call", gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> uint256:
351
+ """
352
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#44)
353
+
354
+ Returns:
355
+ totalSupply: uint256
356
+ """
357
+ ...
358
+
359
+ @overload
360
+ def totalSupply(self, *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: Literal["estimate"], gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> int:
361
+ """
362
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#44)
363
+
364
+ Returns:
365
+ totalSupply: uint256
366
+ """
367
+ ...
368
+
369
+ @overload
370
+ def totalSupply(self, *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: Literal["access_list"], gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> Tuple[Dict[Address, List[int]], int]:
371
+ """
372
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#44)
373
+
374
+ Returns:
375
+ totalSupply: uint256
376
+ """
377
+ ...
378
+
379
+ @overload
380
+ def totalSupply(self, *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: Literal["tx"], gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> TransactionAbc[uint256]:
381
+ """
382
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#44)
383
+
384
+ Returns:
385
+ totalSupply: uint256
386
+ """
387
+ ...
388
+
389
+ def totalSupply(self, *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: RequestType = 'call', gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> Union[uint256, TransactionAbc[uint256], int, Tuple[Dict[Address, List[int]], int]]:
390
+ """
391
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#44)
392
+
393
+ Returns:
394
+ totalSupply: uint256
395
+ """
396
+ return self._execute(self.chain, request_type, "18160ddd", [], True if request_type == "tx" else False, uint256, from_, to if to is not None else str(self.address), value, gas_limit, gas_price, max_fee_per_gas, max_priority_fee_per_gas, access_list, type, block, confirmations)
397
+
398
+ @overload
399
+ def balanceOf(self, key0: Union[Account, Address], *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: Literal["call"] = "call", gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> uint256:
400
+ """
401
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#46)
402
+
403
+ Args:
404
+ key0: address
405
+ Returns:
406
+ uint256
407
+ """
408
+ ...
409
+
410
+ @overload
411
+ def balanceOf(self, key0: Union[Account, Address], *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: Literal["estimate"], gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> int:
412
+ """
413
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#46)
414
+
415
+ Args:
416
+ key0: address
417
+ Returns:
418
+ uint256
419
+ """
420
+ ...
421
+
422
+ @overload
423
+ def balanceOf(self, key0: Union[Account, Address], *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: Literal["access_list"], gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> Tuple[Dict[Address, List[int]], int]:
424
+ """
425
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#46)
426
+
427
+ Args:
428
+ key0: address
429
+ Returns:
430
+ uint256
431
+ """
432
+ ...
433
+
434
+ @overload
435
+ def balanceOf(self, key0: Union[Account, Address], *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: Literal["tx"], gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> TransactionAbc[uint256]:
436
+ """
437
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#46)
438
+
439
+ Args:
440
+ key0: address
441
+ Returns:
442
+ uint256
443
+ """
444
+ ...
445
+
446
+ def balanceOf(self, key0: Union[Account, Address], *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: RequestType = 'call', gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> Union[uint256, TransactionAbc[uint256], int, Tuple[Dict[Address, List[int]], int]]:
447
+ """
448
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#46)
449
+
450
+ Args:
451
+ key0: address
452
+ Returns:
453
+ uint256
454
+ """
455
+ return self._execute(self.chain, request_type, "70a08231", [key0], True if request_type == "tx" else False, uint256, from_, to if to is not None else str(self.address), value, gas_limit, gas_price, max_fee_per_gas, max_priority_fee_per_gas, access_list, type, block, confirmations)
456
+
457
+ @overload
458
+ def allowance(self, key0: Union[Account, Address], key1: Union[Account, Address], *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: Literal["call"] = "call", gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> uint256:
459
+ """
460
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#48)
461
+
462
+ Args:
463
+ key0: address
464
+ key1: address
465
+ Returns:
466
+ uint256
467
+ """
468
+ ...
469
+
470
+ @overload
471
+ def allowance(self, key0: Union[Account, Address], key1: Union[Account, Address], *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: Literal["estimate"], gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> int:
472
+ """
473
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#48)
474
+
475
+ Args:
476
+ key0: address
477
+ key1: address
478
+ Returns:
479
+ uint256
480
+ """
481
+ ...
482
+
483
+ @overload
484
+ def allowance(self, key0: Union[Account, Address], key1: Union[Account, Address], *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: Literal["access_list"], gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> Tuple[Dict[Address, List[int]], int]:
485
+ """
486
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#48)
487
+
488
+ Args:
489
+ key0: address
490
+ key1: address
491
+ Returns:
492
+ uint256
493
+ """
494
+ ...
495
+
496
+ @overload
497
+ def allowance(self, key0: Union[Account, Address], key1: Union[Account, Address], *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: Literal["tx"], gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> TransactionAbc[uint256]:
498
+ """
499
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#48)
500
+
501
+ Args:
502
+ key0: address
503
+ key1: address
504
+ Returns:
505
+ uint256
506
+ """
507
+ ...
508
+
509
+ def allowance(self, key0: Union[Account, Address], key1: Union[Account, Address], *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: RequestType = 'call', gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> Union[uint256, TransactionAbc[uint256], int, Tuple[Dict[Address, List[int]], int]]:
510
+ """
511
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#48)
512
+
513
+ Args:
514
+ key0: address
515
+ key1: address
516
+ Returns:
517
+ uint256
518
+ """
519
+ return self._execute(self.chain, request_type, "dd62ed3e", [key0, key1], True if request_type == "tx" else False, uint256, from_, to if to is not None else str(self.address), value, gas_limit, gas_price, max_fee_per_gas, max_priority_fee_per_gas, access_list, type, block, confirmations)
520
+
521
+ @overload
522
+ def nonces(self, key0: Union[Account, Address], *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: Literal["call"] = "call", gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> uint256:
523
+ """
524
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#58)
525
+
526
+ Args:
527
+ key0: address
528
+ Returns:
529
+ uint256
530
+ """
531
+ ...
532
+
533
+ @overload
534
+ def nonces(self, key0: Union[Account, Address], *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: Literal["estimate"], gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> int:
535
+ """
536
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#58)
537
+
538
+ Args:
539
+ key0: address
540
+ Returns:
541
+ uint256
542
+ """
543
+ ...
544
+
545
+ @overload
546
+ def nonces(self, key0: Union[Account, Address], *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: Literal["access_list"], gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> Tuple[Dict[Address, List[int]], int]:
547
+ """
548
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#58)
549
+
550
+ Args:
551
+ key0: address
552
+ Returns:
553
+ uint256
554
+ """
555
+ ...
556
+
557
+ @overload
558
+ def nonces(self, key0: Union[Account, Address], *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: Literal["tx"], gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> TransactionAbc[uint256]:
559
+ """
560
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#58)
561
+
562
+ Args:
563
+ key0: address
564
+ Returns:
565
+ uint256
566
+ """
567
+ ...
568
+
569
+ def nonces(self, key0: Union[Account, Address], *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: RequestType = 'call', gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> Union[uint256, TransactionAbc[uint256], int, Tuple[Dict[Address, List[int]], int]]:
570
+ """
571
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#58)
572
+
573
+ Args:
574
+ key0: address
575
+ Returns:
576
+ uint256
577
+ """
578
+ return self._execute(self.chain, request_type, "7ecebe00", [key0], True if request_type == "tx" else False, uint256, from_, to if to is not None else str(self.address), value, gas_limit, gas_price, max_fee_per_gas, max_priority_fee_per_gas, access_list, type, block, confirmations)
579
+
580
+ @overload
581
+ def approve(self, spender: Union[Account, Address], amount: uint256, *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: Literal["call"], gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> bool:
582
+ """
583
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#77)
584
+
585
+ Args:
586
+ spender: address
587
+ amount: uint256
588
+ Returns:
589
+ bool
590
+ """
591
+ ...
592
+
593
+ @overload
594
+ def approve(self, spender: Union[Account, Address], amount: uint256, *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: Literal["estimate"], gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> int:
595
+ """
596
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#77)
597
+
598
+ Args:
599
+ spender: address
600
+ amount: uint256
601
+ Returns:
602
+ bool
603
+ """
604
+ ...
605
+
606
+ @overload
607
+ def approve(self, spender: Union[Account, Address], amount: uint256, *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: Literal["access_list"], gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> Tuple[Dict[Address, List[int]], int]:
608
+ """
609
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#77)
610
+
611
+ Args:
612
+ spender: address
613
+ amount: uint256
614
+ Returns:
615
+ bool
616
+ """
617
+ ...
618
+
619
+ @overload
620
+ def approve(self, spender: Union[Account, Address], amount: uint256, *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: Literal["tx"] = "tx", gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> TransactionAbc[bool]:
621
+ """
622
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#77)
623
+
624
+ Args:
625
+ spender: address
626
+ amount: uint256
627
+ Returns:
628
+ bool
629
+ """
630
+ ...
631
+
632
+ def approve(self, spender: Union[Account, Address], amount: uint256, *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: RequestType = 'tx', gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> Union[bool, TransactionAbc[bool], int, Tuple[Dict[Address, List[int]], int]]:
633
+ """
634
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#77)
635
+
636
+ Args:
637
+ spender: address
638
+ amount: uint256
639
+ Returns:
640
+ bool
641
+ """
642
+ return self._execute(self.chain, request_type, "095ea7b3", [spender, amount], True if request_type == "tx" else False, bool, from_, to if to is not None else str(self.address), value, gas_limit, gas_price, max_fee_per_gas, max_priority_fee_per_gas, access_list, type, block, confirmations)
643
+
644
+ @overload
645
+ def transfer(self, to_: Union[Account, Address], amount: uint256, *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: Literal["call"], gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> bool:
646
+ """
647
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#85)
648
+
649
+ Args:
650
+ to_: address
651
+ amount: uint256
652
+ Returns:
653
+ bool
654
+ """
655
+ ...
656
+
657
+ @overload
658
+ def transfer(self, to_: Union[Account, Address], amount: uint256, *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: Literal["estimate"], gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> int:
659
+ """
660
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#85)
661
+
662
+ Args:
663
+ to_: address
664
+ amount: uint256
665
+ Returns:
666
+ bool
667
+ """
668
+ ...
669
+
670
+ @overload
671
+ def transfer(self, to_: Union[Account, Address], amount: uint256, *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: Literal["access_list"], gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> Tuple[Dict[Address, List[int]], int]:
672
+ """
673
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#85)
674
+
675
+ Args:
676
+ to_: address
677
+ amount: uint256
678
+ Returns:
679
+ bool
680
+ """
681
+ ...
682
+
683
+ @overload
684
+ def transfer(self, to_: Union[Account, Address], amount: uint256, *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: Literal["tx"] = "tx", gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> TransactionAbc[bool]:
685
+ """
686
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#85)
687
+
688
+ Args:
689
+ to_: address
690
+ amount: uint256
691
+ Returns:
692
+ bool
693
+ """
694
+ ...
695
+
696
+ def transfer(self, to_: Union[Account, Address], amount: uint256, *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: RequestType = 'tx', gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> Union[bool, TransactionAbc[bool], int, Tuple[Dict[Address, List[int]], int]]:
697
+ """
698
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#85)
699
+
700
+ Args:
701
+ to_: address
702
+ amount: uint256
703
+ Returns:
704
+ bool
705
+ """
706
+ return self._execute(self.chain, request_type, "a9059cbb", [to_, amount], True if request_type == "tx" else False, bool, from_, to if to is not None else str(self.address), value, gas_limit, gas_price, max_fee_per_gas, max_priority_fee_per_gas, access_list, type, block, confirmations)
707
+
708
+ @overload
709
+ def transferFrom(self, from__: Union[Account, Address], to_: Union[Account, Address], amount: uint256, *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: Literal["call"], gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> bool:
710
+ """
711
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#102)
712
+
713
+ Args:
714
+ from__: address
715
+ to_: address
716
+ amount: uint256
717
+ Returns:
718
+ bool
719
+ """
720
+ ...
721
+
722
+ @overload
723
+ def transferFrom(self, from__: Union[Account, Address], to_: Union[Account, Address], amount: uint256, *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: Literal["estimate"], gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> int:
724
+ """
725
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#102)
726
+
727
+ Args:
728
+ from__: address
729
+ to_: address
730
+ amount: uint256
731
+ Returns:
732
+ bool
733
+ """
734
+ ...
735
+
736
+ @overload
737
+ def transferFrom(self, from__: Union[Account, Address], to_: Union[Account, Address], amount: uint256, *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: Literal["access_list"], gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> Tuple[Dict[Address, List[int]], int]:
738
+ """
739
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#102)
740
+
741
+ Args:
742
+ from__: address
743
+ to_: address
744
+ amount: uint256
745
+ Returns:
746
+ bool
747
+ """
748
+ ...
749
+
750
+ @overload
751
+ def transferFrom(self, from__: Union[Account, Address], to_: Union[Account, Address], amount: uint256, *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: Literal["tx"] = "tx", gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> TransactionAbc[bool]:
752
+ """
753
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#102)
754
+
755
+ Args:
756
+ from__: address
757
+ to_: address
758
+ amount: uint256
759
+ Returns:
760
+ bool
761
+ """
762
+ ...
763
+
764
+ def transferFrom(self, from__: Union[Account, Address], to_: Union[Account, Address], amount: uint256, *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: RequestType = 'tx', gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> Union[bool, TransactionAbc[bool], int, Tuple[Dict[Address, List[int]], int]]:
765
+ """
766
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#102)
767
+
768
+ Args:
769
+ from__: address
770
+ to_: address
771
+ amount: uint256
772
+ Returns:
773
+ bool
774
+ """
775
+ return self._execute(self.chain, request_type, "23b872dd", [from__, to_, amount], True if request_type == "tx" else False, bool, from_, to if to is not None else str(self.address), value, gas_limit, gas_price, max_fee_per_gas, max_priority_fee_per_gas, access_list, type, block, confirmations)
776
+
777
+ @overload
778
+ def permit(self, owner: Union[Account, Address], spender: Union[Account, Address], value_: uint256, deadline: uint256, v: uint8, r: bytes32, s: bytes32, *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: Literal["call"], gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> None:
779
+ """
780
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#129)
781
+
782
+ Args:
783
+ owner: address
784
+ spender: address
785
+ value_: uint256
786
+ deadline: uint256
787
+ v: uint8
788
+ r: bytes32
789
+ s: bytes32
790
+ """
791
+ ...
792
+
793
+ @overload
794
+ def permit(self, owner: Union[Account, Address], spender: Union[Account, Address], value_: uint256, deadline: uint256, v: uint8, r: bytes32, s: bytes32, *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: Literal["estimate"], gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> int:
795
+ """
796
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#129)
797
+
798
+ Args:
799
+ owner: address
800
+ spender: address
801
+ value_: uint256
802
+ deadline: uint256
803
+ v: uint8
804
+ r: bytes32
805
+ s: bytes32
806
+ """
807
+ ...
808
+
809
+ @overload
810
+ def permit(self, owner: Union[Account, Address], spender: Union[Account, Address], value_: uint256, deadline: uint256, v: uint8, r: bytes32, s: bytes32, *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: Literal["access_list"], gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> Tuple[Dict[Address, List[int]], int]:
811
+ """
812
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#129)
813
+
814
+ Args:
815
+ owner: address
816
+ spender: address
817
+ value_: uint256
818
+ deadline: uint256
819
+ v: uint8
820
+ r: bytes32
821
+ s: bytes32
822
+ """
823
+ ...
824
+
825
+ @overload
826
+ def permit(self, owner: Union[Account, Address], spender: Union[Account, Address], value_: uint256, deadline: uint256, v: uint8, r: bytes32, s: bytes32, *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: Literal["tx"] = "tx", gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> TransactionAbc[None]:
827
+ """
828
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#129)
829
+
830
+ Args:
831
+ owner: address
832
+ spender: address
833
+ value_: uint256
834
+ deadline: uint256
835
+ v: uint8
836
+ r: bytes32
837
+ s: bytes32
838
+ """
839
+ ...
840
+
841
+ def permit(self, owner: Union[Account, Address], spender: Union[Account, Address], value_: uint256, deadline: uint256, v: uint8, r: bytes32, s: bytes32, *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: RequestType = 'tx', gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> Union[None, TransactionAbc[None], int, Tuple[Dict[Address, List[int]], int]]:
842
+ """
843
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#129)
844
+
845
+ Args:
846
+ owner: address
847
+ spender: address
848
+ value_: uint256
849
+ deadline: uint256
850
+ v: uint8
851
+ r: bytes32
852
+ s: bytes32
853
+ """
854
+ return self._execute(self.chain, request_type, "d505accf", [owner, spender, value_, deadline, v, r, s], True if request_type == "tx" else False, NoneType, from_, to if to is not None else str(self.address), value, gas_limit, gas_price, max_fee_per_gas, max_priority_fee_per_gas, access_list, type, block, confirmations)
855
+
856
+ @overload
857
+ def DOMAIN_SEPARATOR(self, *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: Literal["call"] = "call", gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> bytes32:
858
+ """
859
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#170)
860
+
861
+ Returns:
862
+ bytes32
863
+ """
864
+ ...
865
+
866
+ @overload
867
+ def DOMAIN_SEPARATOR(self, *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: Literal["estimate"], gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> int:
868
+ """
869
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#170)
870
+
871
+ Returns:
872
+ bytes32
873
+ """
874
+ ...
875
+
876
+ @overload
877
+ def DOMAIN_SEPARATOR(self, *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: Literal["access_list"], gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> Tuple[Dict[Address, List[int]], int]:
878
+ """
879
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#170)
880
+
881
+ Returns:
882
+ bytes32
883
+ """
884
+ ...
885
+
886
+ @overload
887
+ def DOMAIN_SEPARATOR(self, *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: Literal["tx"], gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> TransactionAbc[bytes32]:
888
+ """
889
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#170)
890
+
891
+ Returns:
892
+ bytes32
893
+ """
894
+ ...
895
+
896
+ def DOMAIN_SEPARATOR(self, *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: RequestType = 'call', gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> Union[bytes32, TransactionAbc[bytes32], int, Tuple[Dict[Address, List[int]], int]]:
897
+ """
898
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#170)
899
+
900
+ Returns:
901
+ bytes32
902
+ """
903
+ return self._execute(self.chain, request_type, "3644e515", [], True if request_type == "tx" else False, bytes32, from_, to if to is not None else str(self.address), value, gas_limit, gas_price, max_fee_per_gas, max_priority_fee_per_gas, access_list, type, block, confirmations)
904
+
905
+ ERC20.name.selector = bytes4(b'\x06\xfd\xde\x03')
906
+ ERC20.symbol.selector = bytes4(b'\x95\xd8\x9bA')
907
+ ERC20.decimals.selector = bytes4(b'1<\xe5g')
908
+ ERC20.totalSupply.selector = bytes4(b'\x18\x16\r\xdd')
909
+ ERC20.balanceOf.selector = bytes4(b'p\xa0\x821')
910
+ ERC20.allowance.selector = bytes4(b'\xddb\xed>')
911
+ ERC20.nonces.selector = bytes4(b'~\xce\xbe\x00')
912
+ ERC20.approve.selector = bytes4(b'\t^\xa7\xb3')
913
+ ERC20.transfer.selector = bytes4(b'\xa9\x05\x9c\xbb')
914
+ ERC20.transferFrom.selector = bytes4(b'#\xb8r\xdd')
915
+ ERC20.permit.selector = bytes4(b'\xd5\x05\xac\xcf')
916
+ ERC20.DOMAIN_SEPARATOR.selector = bytes4(b'6D\xe5\x15')
917
+ class MockERC20(ERC20):
918
+ """
919
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#220)
920
+ """
921
+ _abi = {'constructor': {'inputs': [{'internalType': 'string', 'name': '_name', 'type': 'string'}, {'internalType': 'string', 'name': '_symbol', 'type': 'string'}, {'internalType': 'uint8', 'name': '_decimals', 'type': 'uint8'}], 'stateMutability': 'nonpayable', 'type': 'constructor'}, b'\x91\xbe\xda$': {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'allowance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'InsufficientAllowance', 'type': 'error'}, b'\xdbB\x14M': {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'uint256', 'name': 'balance', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'InsufficientBalance', 'type': 'error'}, b'\x93\xea>\x04': {'inputs': [{'internalType': 'uint256', 'name': 'currentSupply', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'MintOverflow', 'type': 'error'}, b'\x8c[\xe1\xe5\xeb\xec}[\xd1OqB}\x1e\x84\xf3\xdd\x03\x14\xc0\xf7\xb2)\x1e[ \n\xc8\xc7\xc3\xb9%': {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'Approval', 'type': 'event'}, b'\xdd\xf2R\xad\x1b\xe2\xc8\x9bi\xc2\xb0h\xfc7\x8d\xaa\x95+\xa7\xf1c\xc4\xa1\x16(\xf5ZM\xf5#\xb3\xef': {'anonymous': False, 'inputs': [{'indexed': True, 'internalType': 'address', 'name': 'from', 'type': 'address'}, {'indexed': True, 'internalType': 'address', 'name': 'to', 'type': 'address'}, {'indexed': False, 'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'Transfer', 'type': 'event'}, b'6D\xe5\x15': {'inputs': [], 'name': 'DOMAIN_SEPARATOR', 'outputs': [{'internalType': 'bytes32', 'name': '', 'type': 'bytes32'}], 'stateMutability': 'view', 'type': 'function'}, b'\xddb\xed>': {'inputs': [{'internalType': 'address', 'name': '', 'type': 'address'}, {'internalType': 'address', 'name': '', 'type': 'address'}], 'name': 'allowance', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, b'\t^\xa7\xb3': {'inputs': [{'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'approve', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, b'p\xa0\x821': {'inputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'name': 'balanceOf', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, b'\x9d\xc2\x9f\xac': {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'burn', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, b'1<\xe5g': {'inputs': [], 'name': 'decimals', 'outputs': [{'internalType': 'uint8', 'name': '', 'type': 'uint8'}], 'stateMutability': 'view', 'type': 'function'}, b'@\xc1\x0f\x19': {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}], 'name': 'mint', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, b'\x06\xfd\xde\x03': {'inputs': [], 'name': 'name', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, b'~\xce\xbe\x00': {'inputs': [{'internalType': 'address', 'name': '', 'type': 'address'}], 'name': 'nonces', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, b'\xd5\x05\xac\xcf': {'inputs': [{'internalType': 'address', 'name': 'owner', 'type': 'address'}, {'internalType': 'address', 'name': 'spender', 'type': 'address'}, {'internalType': 'uint256', 'name': 'value', 'type': 'uint256'}, {'internalType': 'uint256', 'name': 'deadline', 'type': 'uint256'}, {'internalType': 'uint8', 'name': 'v', 'type': 'uint8'}, {'internalType': 'bytes32', 'name': 'r', 'type': 'bytes32'}, {'internalType': 'bytes32', 'name': 's', 'type': 'bytes32'}], 'name': 'permit', 'outputs': [], 'stateMutability': 'nonpayable', 'type': 'function'}, b'\x95\xd8\x9bA': {'inputs': [], 'name': 'symbol', 'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}], 'stateMutability': 'view', 'type': 'function'}, b'\x18\x16\r\xdd': {'inputs': [], 'name': 'totalSupply', 'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}], 'stateMutability': 'view', 'type': 'function'}, b'\xa9\x05\x9c\xbb': {'inputs': [{'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transfer', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}, b'#\xb8r\xdd': {'inputs': [{'internalType': 'address', 'name': 'from', 'type': 'address'}, {'internalType': 'address', 'name': 'to', 'type': 'address'}, {'internalType': 'uint256', 'name': 'amount', 'type': 'uint256'}], 'name': 'transferFrom', 'outputs': [{'internalType': 'bool', 'name': '', 'type': 'bool'}], 'stateMutability': 'nonpayable', 'type': 'function'}}
922
+ _storage_layout = {"storage":[{"astId":47,"contract":"src/MockERC20.sol:MockERC20","label":"name","offset":0,"slot":0,"type":"t_string_storage"},{"astId":49,"contract":"src/MockERC20.sol:MockERC20","label":"symbol","offset":0,"slot":1,"type":"t_string_storage"},{"astId":53,"contract":"src/MockERC20.sol:MockERC20","label":"totalSupply","offset":0,"slot":2,"type":"t_uint256"},{"astId":57,"contract":"src/MockERC20.sol:MockERC20","label":"balanceOf","offset":0,"slot":3,"type":"t_mapping(t_address,t_uint256)"},{"astId":63,"contract":"src/MockERC20.sol:MockERC20","label":"allowance","offset":0,"slot":4,"type":"t_mapping(t_address,t_mapping(t_address,t_uint256))"},{"astId":71,"contract":"src/MockERC20.sol:MockERC20","label":"nonces","offset":0,"slot":5,"type":"t_mapping(t_address,t_uint256)"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":20},"t_mapping(t_address,t_mapping(t_address,t_uint256))":{"encoding":"mapping","label":"mapping(address => mapping(address => uint256))","numberOfBytes":32,"key":"t_address","value":"t_mapping(t_address,t_uint256)"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","label":"mapping(address => uint256)","numberOfBytes":32,"key":"t_address","value":"t_uint256"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":32},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":32}}}
923
+ _creation_code = "60e060405234801561000f575f5ffd5b506040516120ad3803806120ad83398181016040528101906100319190610296565b828282825f9081610042919061052e565b508160019081610052919061052e565b508060ff1660808160ff16815250504660a0818152505061007761008960201b60201c565b60c08181525050505050505050610766565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f6040516100b99190610699565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc646306040516020016100f8959493929190610715565b60405160208183030381529060405280519060200120905090565b5f604051905090565b5f5ffd5b5f5ffd5b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6101728261012c565b810181811067ffffffffffffffff821117156101915761019061013c565b5b80604052505050565b5f6101a3610113565b90506101af8282610169565b919050565b5f67ffffffffffffffff8211156101ce576101cd61013c565b5b6101d78261012c565b9050602081019050919050565b8281835e5f83830152505050565b5f6102046101ff846101b4565b61019a565b9050828152602081018484840111156102205761021f610128565b5b61022b8482856101e4565b509392505050565b5f82601f83011261024757610246610124565b5b81516102578482602086016101f2565b91505092915050565b5f60ff82169050919050565b61027581610260565b811461027f575f5ffd5b50565b5f815190506102908161026c565b92915050565b5f5f5f606084860312156102ad576102ac61011c565b5b5f84015167ffffffffffffffff8111156102ca576102c9610120565b5b6102d686828701610233565b935050602084015167ffffffffffffffff8111156102f7576102f6610120565b5b61030386828701610233565b925050604061031486828701610282565b9150509250925092565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061036c57607f821691505b60208210810361037f5761037e610328565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026103e17fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826103a6565b6103eb86836103a6565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61042f61042a61042584610403565b61040c565b610403565b9050919050565b5f819050919050565b61044883610415565b61045c61045482610436565b8484546103b2565b825550505050565b5f5f905090565b610473610464565b61047e81848461043f565b505050565b5b818110156104a1576104965f8261046b565b600181019050610484565b5050565b601f8211156104e6576104b781610385565b6104c084610397565b810160208510156104cf578190505b6104e36104db85610397565b830182610483565b50505b505050565b5f82821c905092915050565b5f6105065f19846008026104eb565b1980831691505092915050565b5f61051e83836104f7565b9150826002028217905092915050565b6105378261031e565b67ffffffffffffffff8111156105505761054f61013c565b5b61055a8254610355565b6105658282856104a5565b5f60209050601f831160018114610596575f8415610584578287015190505b61058e8582610513565b8655506105f5565b601f1984166105a486610385565b5f5b828110156105cb578489015182556001820191506020850194506020810190506105a6565b868310156105e857848901516105e4601f8916826104f7565b8355505b6001600288020188555050505b505050505050565b5f81905092915050565b5f819050815f5260205f209050919050565b5f815461062581610355565b61062f81866105fd565b9450600182165f8114610649576001811461065e57610690565b60ff1983168652811515820286019350610690565b61066785610607565b5f5b8381101561068857815481890152600182019150602081019050610669565b838801955050505b50505092915050565b5f6106a48284610619565b915081905092915050565b5f819050919050565b6106c1816106af565b82525050565b6106d081610403565b82525050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6106ff826106d6565b9050919050565b61070f816106f5565b82525050565b5f60a0820190506107285f8301886106b8565b61073560208301876106b8565b61074260408301866106b8565b61074f60608301856106c7565b61075c6080830184610706565b9695505050505050565b60805160a05160c05161191d6107905f395f6107da01525f6107a601525f610781015261191d5ff3fe608060405234801561000f575f5ffd5b50600436106100e8575f3560e01c806370a082311161008a5780639dc29fac116100645780639dc29fac1461025e578063a9059cbb1461027a578063d505accf146102aa578063dd62ed3e146102c6576100e8565b806370a08231146101e05780637ecebe001461021057806395d89b4114610240576100e8565b806323b872dd116100c657806323b872dd14610158578063313ce567146101885780633644e515146101a657806340c10f19146101c4576100e8565b806306fdde03146100ec578063095ea7b31461010a57806318160ddd1461013a575b5f5ffd5b6100f46102f6565b60405161010191906110d1565b60405180910390f35b610124600480360381019061011f9190611182565b610381565b60405161013191906111da565b60405180910390f35b61014261046e565b60405161014f9190611202565b60405180910390f35b610172600480360381019061016d919061121b565b610474565b60405161017f91906111da565b60405180910390f35b61019061077f565b60405161019d9190611286565b60405180910390f35b6101ae6107a3565b6040516101bb91906112b7565b60405180910390f35b6101de60048036038101906101d99190611182565b6107ff565b005b6101fa60048036038101906101f591906112d0565b61080d565b6040516102079190611202565b60405180910390f35b61022a600480360381019061022591906112d0565b610822565b6040516102379190611202565b60405180910390f35b610248610837565b60405161025591906110d1565b60405180910390f35b61027860048036038101906102739190611182565b6108c3565b005b610294600480360381019061028f9190611182565b6108d1565b6040516102a191906111da565b60405180910390f35b6102c460048036038101906102bf919061134f565b610a63565b005b6102e060048036038101906102db91906113ec565b610d50565b6040516102ed9190611202565b60405180910390f35b5f805461030290611457565b80601f016020809104026020016040519081016040528092919081815260200182805461032e90611457565b80156103795780601f1061035057610100808354040283529160200191610379565b820191905f5260205f20905b81548152906001019060200180831161035c57829003601f168201915b505050505081565b5f8160045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161045c9190611202565b60405180910390a36001905092915050565b60025481565b5f5f60045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490505f60035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821461062d57838210156105a457853383866040517f91beda2400000000000000000000000000000000000000000000000000000000815260040161059b9493929190611496565b60405180910390fd5b83826105b09190611506565b60045f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b83811015610676578581856040517fdb42144d00000000000000000000000000000000000000000000000000000000815260040161066d93929190611539565b60405180910390fd5b83816106829190611506565b60035f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508360035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8660405161076a9190611202565b60405180910390a36001925050509392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f7f000000000000000000000000000000000000000000000000000000000000000046146107d8576107d3610d70565b6107fa565b7f00000000000000000000000000000000000000000000000000000000000000005b905090565b6108098282610dfa565b5050565b6003602052805f5260405f205f915090505481565b6005602052805f5260405f205f915090505481565b6001805461084490611457565b80601f016020809104026020016040519081016040528092919081815260200182805461087090611457565b80156108bb5780601f10610892576101008083540402835291602001916108bb565b820191905f5260205f20905b81548152906001019060200180831161089e57829003601f168201915b505050505081565b6108cd8282610f11565b5050565b5f5f60035f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508281101561095c573381846040517fdb42144d00000000000000000000000000000000000000000000000000000000815260040161095393929190611539565b60405180910390fd5b82816109689190611506565b60035f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508260035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610a509190611202565b60405180910390a3600191505092915050565b42841015610aa6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9d906115b8565b60405180910390fd5b5f6001610ab16107a3565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98a8a8a60055f8f73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f815480929190600101919050558b604051602001610b36969594939291906115d6565b60405160208183030381529060405280519060200120604051602001610b5d9291906116a9565b604051602081830303815290604052805190602001208585856040515f8152602001604052604051610b9294939291906116df565b6020604051602081039080840390855afa158015610bb2573d5f5f3e3d5ffd5b5050506020604051035190505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015610c2557508773ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b610c64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5b9061176c565b60405180910390fd5b8560045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92587604051610d3f9190611202565b60405180910390a350505050505050565b6004602052815f5260405f20602052805f5260405f205f91509150505481565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f604051610da09190611826565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc64630604051602001610ddf95949392919061183c565b60405160208183030381529060405280519060200120905090565b5f81600254610e09919061188d565b9050600254811015610e5657600254826040517f93ea3e04000000000000000000000000000000000000000000000000000000008152600401610e4d9291906118c0565b60405180910390fd5b806002819055508160035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610f049190611202565b60405180910390a3505050565b5f60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015610f9b578281836040517fdb42144d000000000000000000000000000000000000000000000000000000008152600401610f9293929190611539565b60405180910390fd5b8181610fa79190611506565b60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160025f82825403925050819055505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516110549190611202565b60405180910390a3505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6110a382611061565b6110ad818561106b565b93506110bd81856020860161107b565b6110c681611089565b840191505092915050565b5f6020820190508181035f8301526110e98184611099565b905092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61111e826110f5565b9050919050565b61112e81611114565b8114611138575f5ffd5b50565b5f8135905061114981611125565b92915050565b5f819050919050565b6111618161114f565b811461116b575f5ffd5b50565b5f8135905061117c81611158565b92915050565b5f5f60408385031215611198576111976110f1565b5b5f6111a58582860161113b565b92505060206111b68582860161116e565b9150509250929050565b5f8115159050919050565b6111d4816111c0565b82525050565b5f6020820190506111ed5f8301846111cb565b92915050565b6111fc8161114f565b82525050565b5f6020820190506112155f8301846111f3565b92915050565b5f5f5f60608486031215611232576112316110f1565b5b5f61123f8682870161113b565b93505060206112508682870161113b565b92505060406112618682870161116e565b9150509250925092565b5f60ff82169050919050565b6112808161126b565b82525050565b5f6020820190506112995f830184611277565b92915050565b5f819050919050565b6112b18161129f565b82525050565b5f6020820190506112ca5f8301846112a8565b92915050565b5f602082840312156112e5576112e46110f1565b5b5f6112f28482850161113b565b91505092915050565b6113048161126b565b811461130e575f5ffd5b50565b5f8135905061131f816112fb565b92915050565b61132e8161129f565b8114611338575f5ffd5b50565b5f8135905061134981611325565b92915050565b5f5f5f5f5f5f5f60e0888a03121561136a576113696110f1565b5b5f6113778a828b0161113b565b97505060206113888a828b0161113b565b96505060406113998a828b0161116e565b95505060606113aa8a828b0161116e565b94505060806113bb8a828b01611311565b93505060a06113cc8a828b0161133b565b92505060c06113dd8a828b0161133b565b91505092959891949750929550565b5f5f60408385031215611402576114016110f1565b5b5f61140f8582860161113b565b92505060206114208582860161113b565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061146e57607f821691505b6020821081036114815761148061142a565b5b50919050565b61149081611114565b82525050565b5f6080820190506114a95f830187611487565b6114b66020830186611487565b6114c360408301856111f3565b6114d060608301846111f3565b95945050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6115108261114f565b915061151b8361114f565b9250828203905081811115611533576115326114d9565b5b92915050565b5f60608201905061154c5f830186611487565b61155960208301856111f3565b61156660408301846111f3565b949350505050565b7f5045524d49545f444541444c494e455f455850495245440000000000000000005f82015250565b5f6115a260178361106b565b91506115ad8261156e565b602082019050919050565b5f6020820190508181035f8301526115cf81611596565b9050919050565b5f60c0820190506115e95f8301896112a8565b6115f66020830188611487565b6116036040830187611487565b61161060608301866111f3565b61161d60808301856111f3565b61162a60a08301846111f3565b979650505050505050565b5f81905092915050565b7f19010000000000000000000000000000000000000000000000000000000000005f82015250565b5f611673600283611635565b915061167e8261163f565b600282019050919050565b5f819050919050565b6116a361169e8261129f565b611689565b82525050565b5f6116b382611667565b91506116bf8285611692565b6020820191506116cf8284611692565b6020820191508190509392505050565b5f6080820190506116f25f8301876112a8565b6116ff6020830186611277565b61170c60408301856112a8565b61171960608301846112a8565b95945050505050565b7f494e56414c49445f5349474e45520000000000000000000000000000000000005f82015250565b5f611756600e8361106b565b915061176182611722565b602082019050919050565b5f6020820190508181035f8301526117838161174a565b9050919050565b5f81905092915050565b5f819050815f5260205f209050919050565b5f81546117b281611457565b6117bc818661178a565b9450600182165f81146117d657600181146117eb5761181d565b60ff198316865281151582028601935061181d565b6117f485611794565b5f5b83811015611815578154818901526001820191506020810190506117f6565b838801955050505b50505092915050565b5f61183182846117a6565b915081905092915050565b5f60a08201905061184f5f8301886112a8565b61185c60208301876112a8565b61186960408301866112a8565b61187660608301856111f3565b6118836080830184611487565b9695505050505050565b5f6118978261114f565b91506118a28361114f565b92508282019050808211156118ba576118b96114d9565b5b92915050565b5f6040820190506118d35f8301856111f3565b6118e060208301846111f3565b939250505056fea2646970667358221220226cdfb48af44e510e231a6c3c585d06e20e6d5c487388fd5cba419d6368894064736f6c634300081e0033"
924
+
925
+ @overload
926
+ @classmethod
927
+ def deploy(cls, _name: str, _symbol: str, _decimals: uint8, *, from_: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, return_tx: Literal[False] = False, request_type: Literal["call"], chain: Optional[Chain] = None, gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> bytearray:
928
+ """
929
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#221)
930
+
931
+ Args:
932
+ _name: string
933
+ _symbol: string
934
+ _decimals: uint8
935
+ """
936
+ ...
937
+
938
+ @overload
939
+ @classmethod
940
+ def deploy(cls, _name: str, _symbol: str, _decimals: uint8, *, from_: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, return_tx: Literal[False] = False, request_type: Literal["tx"] = "tx", chain: Optional[Chain] = None, gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> MockERC20:
941
+ """
942
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#221)
943
+
944
+ Args:
945
+ _name: string
946
+ _symbol: string
947
+ _decimals: uint8
948
+ """
949
+ ...
950
+
951
+ @overload
952
+ @classmethod
953
+ def deploy(cls, _name: str, _symbol: str, _decimals: uint8, *, from_: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, return_tx: Literal[False] = False, request_type: Literal["estimate"], chain: Optional[Chain] = None, gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> int:
954
+ """
955
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#221)
956
+
957
+ Args:
958
+ _name: string
959
+ _symbol: string
960
+ _decimals: uint8
961
+ """
962
+ ...
963
+
964
+ @overload
965
+ @classmethod
966
+ def deploy(cls, _name: str, _symbol: str, _decimals: uint8, *, from_: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, return_tx: Literal[False] = False, request_type: Literal["access_list"], chain: Optional[Chain] = None, gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> Tuple[Dict[Address, List[int]], int]:
967
+ """
968
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#221)
969
+
970
+ Args:
971
+ _name: string
972
+ _symbol: string
973
+ _decimals: uint8
974
+ """
975
+ ...
976
+
977
+ @overload
978
+ @classmethod
979
+ def deploy(cls, _name: str, _symbol: str, _decimals: uint8, *, from_: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, return_tx: Literal[True], request_type: Literal["tx"] = "tx", chain: Optional[Chain] = None, gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> TransactionAbc[MockERC20]:
980
+ """
981
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#221)
982
+
983
+ Args:
984
+ _name: string
985
+ _symbol: string
986
+ _decimals: uint8
987
+ """
988
+ ...
989
+
990
+ @classmethod
991
+ def deploy(cls, _name: str, _symbol: str, _decimals: uint8, *, from_: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, return_tx: bool = False, request_type: RequestType = "tx", chain: Optional[Chain] = None, gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> Union[bytearray, MockERC20, int, Tuple[Dict[Address, List[int]], int], TransactionAbc[MockERC20]]:
992
+ """
993
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#221)
994
+
995
+ Args:
996
+ _name: string
997
+ _symbol: string
998
+ _decimals: uint8
999
+ """
1000
+ return cls._deploy(request_type, [_name, _symbol, _decimals], return_tx, MockERC20, from_, value, gas_limit, {}, chain, gas_price, max_fee_per_gas, max_priority_fee_per_gas, access_list, type, block, confirmations)
1001
+
1002
+ @classmethod
1003
+ def get_creation_code(cls) -> bytes:
1004
+ return cls._get_creation_code({})
1005
+
1006
+ @overload
1007
+ def mint(self, to_: Union[Account, Address], value_: uint256, *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: Literal["call"], gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> None:
1008
+ """
1009
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#223)
1010
+
1011
+ Args:
1012
+ to_: address
1013
+ value_: uint256
1014
+ """
1015
+ ...
1016
+
1017
+ @overload
1018
+ def mint(self, to_: Union[Account, Address], value_: uint256, *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: Literal["estimate"], gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> int:
1019
+ """
1020
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#223)
1021
+
1022
+ Args:
1023
+ to_: address
1024
+ value_: uint256
1025
+ """
1026
+ ...
1027
+
1028
+ @overload
1029
+ def mint(self, to_: Union[Account, Address], value_: uint256, *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: Literal["access_list"], gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> Tuple[Dict[Address, List[int]], int]:
1030
+ """
1031
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#223)
1032
+
1033
+ Args:
1034
+ to_: address
1035
+ value_: uint256
1036
+ """
1037
+ ...
1038
+
1039
+ @overload
1040
+ def mint(self, to_: Union[Account, Address], value_: uint256, *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: Literal["tx"] = "tx", gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> TransactionAbc[None]:
1041
+ """
1042
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#223)
1043
+
1044
+ Args:
1045
+ to_: address
1046
+ value_: uint256
1047
+ """
1048
+ ...
1049
+
1050
+ def mint(self, to_: Union[Account, Address], value_: uint256, *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: RequestType = 'tx', gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> Union[None, TransactionAbc[None], int, Tuple[Dict[Address, List[int]], int]]:
1051
+ """
1052
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#223)
1053
+
1054
+ Args:
1055
+ to_: address
1056
+ value_: uint256
1057
+ """
1058
+ return self._execute(self.chain, request_type, "40c10f19", [to_, value_], True if request_type == "tx" else False, NoneType, from_, to if to is not None else str(self.address), value, gas_limit, gas_price, max_fee_per_gas, max_priority_fee_per_gas, access_list, type, block, confirmations)
1059
+
1060
+ @overload
1061
+ def burn(self, from__: Union[Account, Address], value_: uint256, *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: Literal["call"], gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> None:
1062
+ """
1063
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#227)
1064
+
1065
+ Args:
1066
+ from__: address
1067
+ value_: uint256
1068
+ """
1069
+ ...
1070
+
1071
+ @overload
1072
+ def burn(self, from__: Union[Account, Address], value_: uint256, *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: Literal["estimate"], gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> int:
1073
+ """
1074
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#227)
1075
+
1076
+ Args:
1077
+ from__: address
1078
+ value_: uint256
1079
+ """
1080
+ ...
1081
+
1082
+ @overload
1083
+ def burn(self, from__: Union[Account, Address], value_: uint256, *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: Literal["access_list"], gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> Tuple[Dict[Address, List[int]], int]:
1084
+ """
1085
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#227)
1086
+
1087
+ Args:
1088
+ from__: address
1089
+ value_: uint256
1090
+ """
1091
+ ...
1092
+
1093
+ @overload
1094
+ def burn(self, from__: Union[Account, Address], value_: uint256, *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: Literal["tx"] = "tx", gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> TransactionAbc[None]:
1095
+ """
1096
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#227)
1097
+
1098
+ Args:
1099
+ from__: address
1100
+ value_: uint256
1101
+ """
1102
+ ...
1103
+
1104
+ def burn(self, from__: Union[Account, Address], value_: uint256, *, from_: Optional[Union[Account, Address, str]] = None, to: Optional[Union[Account, Address, str]] = None, value: Union[int, str] = 0, gas_limit: Optional[Union[int, Literal["max"], Literal["auto"]]] = None, request_type: RequestType = 'tx', gas_price: Optional[Union[int, str]] = None, max_fee_per_gas: Optional[Union[int, str]] = None, max_priority_fee_per_gas: Optional[Union[int, str]] = None, access_list: Optional[Union[Dict[Union[Account, Address, str], List[int]], Literal["auto"]]] = None, type: Optional[int] = None, block: Optional[Union[int, Literal["latest"], Literal["pending"], Literal["earliest"], Literal["safe"], Literal["finalized"]]] = None, confirmations: Optional[int] = None) -> Union[None, TransactionAbc[None], int, Tuple[Dict[Address, List[int]], int]]:
1105
+ """
1106
+ [Source code](file:///Users/kn0t/Projects/recon-generate/test-project/src/MockERC20.sol#227)
1107
+
1108
+ Args:
1109
+ from__: address
1110
+ value_: uint256
1111
+ """
1112
+ return self._execute(self.chain, request_type, "9dc29fac", [from__, value_], True if request_type == "tx" else False, NoneType, from_, to if to is not None else str(self.address), value, gas_limit, gas_price, max_fee_per_gas, max_priority_fee_per_gas, access_list, type, block, confirmations)
1113
+
1114
+ MockERC20.mint.selector = bytes4(b'@\xc1\x0f\x19')
1115
+ MockERC20.burn.selector = bytes4(b'\x9d\xc2\x9f\xac')