diff --git a/pypechain/templates/contract.py/base.py.jinja2 b/pypechain/templates/contract.py/base.py.jinja2 index 6440ffe9..65c321bf 100644 --- a/pypechain/templates/contract.py/base.py.jinja2 +++ b/pypechain/templates/contract.py/base.py.jinja2 @@ -20,7 +20,7 @@ https://github.com/delvtech/pypechain""" from __future__ import annotations from dataclasses import fields, is_dataclass -from typing import Any, {% if has_multiple_return_values %}NamedTuple, {% endif %}Tuple, Type, TypeVar, cast{% if has_overloading %}, overload{% endif %} +from typing import Any, {% if has_events %}Iterable, {% endif %}{% if has_multiple_return_values %}NamedTuple, {% endif %}Tuple, Type, TypeVar, {% if has_events %}Sequence, {% endif %}cast{% if has_overloading %}, overload{% endif %} from eth_typing import ChecksumAddress{% if has_bytecode %}, HexStr{% endif %} {% if has_events %}from eth_utils.decorators import combomethod{% endif %} diff --git a/pypechain/test/overloading/abis/OverloadedMethods.json b/pypechain/test/overloading/abis/OverloadedMethods.json index b8f6756d..c89ff105 100644 --- a/pypechain/test/overloading/abis/OverloadedMethods.json +++ b/pypechain/test/overloading/abis/OverloadedMethods.json @@ -94,9 +94,9 @@ "type": "function" } ], - "bin": "608060405234801561000f575f80fd5b506105a48061001d5f395ff3fe608060405234801561000f575f80fd5b506004361061004a575f3560e01c80633b6c27c41461004e5780638ae3048e1461007f578063a6b206bf146100af578063b2dd1d79146100df575b5f80fd5b610068600480360381019061006391906102d3565b61010f565b6040516100769291906103b6565b60405180910390f35b610099600480360381019061009491906103e4565b61011f565b6040516100a6919061042b565b60405180910390f35b6100c960048036038101906100c4919061044b565b610129565b6040516100d69190610476565b60405180910390f35b6100f960048036038101906100f4919061048f565b61013e565b6040516101069190610476565b60405180910390f35b5f60608383915091509250929050565b6060819050919050565b5f60028261013791906104fa565b9050919050565b5f818361014b919061053b565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f819050919050565b61017681610164565b8114610180575f80fd5b50565b5f813590506101918161016d565b92915050565b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6101e58261019f565b810181811067ffffffffffffffff82111715610204576102036101af565b5b80604052505050565b5f610216610153565b905061022282826101dc565b919050565b5f67ffffffffffffffff821115610241576102406101af565b5b61024a8261019f565b9050602081019050919050565b828183375f83830152505050565b5f61027761027284610227565b61020d565b9050828152602081018484840111156102935761029261019b565b5b61029e848285610257565b509392505050565b5f82601f8301126102ba576102b9610197565b5b81356102ca848260208601610265565b91505092915050565b5f80604083850312156102e9576102e861015c565b5b5f6102f685828601610183565b925050602083013567ffffffffffffffff81111561031757610316610160565b5b610323858286016102a6565b9150509250929050565b61033681610164565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610373578082015181840152602081019050610358565b5f8484015250505050565b5f6103888261033c565b6103928185610346565b93506103a2818560208601610356565b6103ab8161019f565b840191505092915050565b5f6040820190506103c95f83018561032d565b81810360208301526103db818461037e565b90509392505050565b5f602082840312156103f9576103f861015c565b5b5f82013567ffffffffffffffff81111561041657610415610160565b5b610422848285016102a6565b91505092915050565b5f6020820190508181035f830152610443818461037e565b905092915050565b5f602082840312156104605761045f61015c565b5b5f61046d84828501610183565b91505092915050565b5f6020820190506104895f83018461032d565b92915050565b5f80604083850312156104a5576104a461015c565b5b5f6104b285828601610183565b92505060206104c385828601610183565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61050482610164565b915061050f83610164565b925082820261051d81610164565b91508282048414831517610534576105336104cd565b5b5092915050565b5f61054582610164565b915061055083610164565b9250828201905080821115610568576105676104cd565b5b9291505056fea264697066735822122050d800614efd0cbec5592fe8c8f8452b71df933f05488a1235299fbc0570ea9164736f6c63430008140033", - "metadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"s\",\"type\":\"string\"}],\"name\":\"doSomething\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"int_input\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"s\",\"type\":\"string\"}],\"name\":\"doSomething\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"}],\"name\":\"doSomething\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\"}],\"name\":\"doSomething\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"added\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pypechain/test/overloading/contracts/OverloadedMethods.sol\":\"OverloadedMethods\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"pypechain/test/overloading/contracts/OverloadedMethods.sol\":{\"keccak256\":\"0xd83f81df5a7725121c4c7a4ad256b5b44909339fabbea04fef7c33c31e57a46f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1dae8cdabc9d73fbaa926c558e5b9ede7aeb11787bb0b9e9424137c5dd1c728\",\"dweb:/ipfs/QmP7Ck27GB67Xusx5J8rg3GsbvJhdd79N4nTQUuHNfCUQB\"]}},\"version\":1}" + "bin": "608060405234801561000f575f80fd5b506105a48061001d5f395ff3fe608060405234801561000f575f80fd5b506004361061004a575f3560e01c80633b6c27c41461004e5780638ae3048e1461007f578063a6b206bf146100af578063b2dd1d79146100df575b5f80fd5b610068600480360381019061006391906102d3565b61010f565b6040516100769291906103b6565b60405180910390f35b610099600480360381019061009491906103e4565b61011f565b6040516100a6919061042b565b60405180910390f35b6100c960048036038101906100c4919061044b565b610129565b6040516100d69190610476565b60405180910390f35b6100f960048036038101906100f4919061048f565b61013e565b6040516101069190610476565b60405180910390f35b5f60608383915091509250929050565b6060819050919050565b5f60028261013791906104fa565b9050919050565b5f818361014b919061053b565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f819050919050565b61017681610164565b8114610180575f80fd5b50565b5f813590506101918161016d565b92915050565b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6101e58261019f565b810181811067ffffffffffffffff82111715610204576102036101af565b5b80604052505050565b5f610216610153565b905061022282826101dc565b919050565b5f67ffffffffffffffff821115610241576102406101af565b5b61024a8261019f565b9050602081019050919050565b828183375f83830152505050565b5f61027761027284610227565b61020d565b9050828152602081018484840111156102935761029261019b565b5b61029e848285610257565b509392505050565b5f82601f8301126102ba576102b9610197565b5b81356102ca848260208601610265565b91505092915050565b5f80604083850312156102e9576102e861015c565b5b5f6102f685828601610183565b925050602083013567ffffffffffffffff81111561031757610316610160565b5b610323858286016102a6565b9150509250929050565b61033681610164565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610373578082015181840152602081019050610358565b5f8484015250505050565b5f6103888261033c565b6103928185610346565b93506103a2818560208601610356565b6103ab8161019f565b840191505092915050565b5f6040820190506103c95f83018561032d565b81810360208301526103db818461037e565b90509392505050565b5f602082840312156103f9576103f861015c565b5b5f82013567ffffffffffffffff81111561041657610415610160565b5b610422848285016102a6565b91505092915050565b5f6020820190508181035f830152610443818461037e565b905092915050565b5f602082840312156104605761045f61015c565b5b5f61046d84828501610183565b91505092915050565b5f6020820190506104895f83018461032d565b92915050565b5f80604083850312156104a5576104a461015c565b5b5f6104b285828601610183565b92505060206104c385828601610183565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61050482610164565b915061050f83610164565b925082820261051d81610164565b91508282048414831517610534576105336104cd565b5b5092915050565b5f61054582610164565b915061055083610164565b9250828201905080821115610568576105676104cd565b5b9291505056fea2646970667358221220730ee6a612bf671c0e641d2217dddd6d4800a47d2bf309d98f73bc2bfa72f1a364736f6c63430008170033", + "metadata": "{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"s\",\"type\":\"string\"}],\"name\":\"doSomething\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"int_input\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"s\",\"type\":\"string\"}],\"name\":\"doSomething\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"}],\"name\":\"doSomething\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\"}],\"name\":\"doSomething\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"added\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pypechain/test/overloading/contracts/OverloadedMethods.sol\":\"OverloadedMethods\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"pypechain/test/overloading/contracts/OverloadedMethods.sol\":{\"keccak256\":\"0xd83f81df5a7725121c4c7a4ad256b5b44909339fabbea04fef7c33c31e57a46f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1dae8cdabc9d73fbaa926c558e5b9ede7aeb11787bb0b9e9424137c5dd1c728\",\"dweb:/ipfs/QmP7Ck27GB67Xusx5J8rg3GsbvJhdd79N4nTQUuHNfCUQB\"]}},\"version\":1}" } }, - "version": "0.8.20+commit.a1b79de6.Darwin.appleclang" + "version": "0.8.23+commit.f704f362.Darwin.appleclang" } \ No newline at end of file diff --git a/pypechain/test/overloading/types/OverloadedMethodsContract.py b/pypechain/test/overloading/types/OverloadedMethodsContract.py index 79b63e6d..c86add28 100644 --- a/pypechain/test/overloading/types/OverloadedMethodsContract.py +++ b/pypechain/test/overloading/types/OverloadedMethodsContract.py @@ -316,7 +316,7 @@ def __init__( ) # pylint: disable=line-too-long overloadedmethods_bytecode = HexStr( - "0x608060405234801561000f575f80fd5b506105a48061001d5f395ff3fe608060405234801561000f575f80fd5b506004361061004a575f3560e01c80633b6c27c41461004e5780638ae3048e1461007f578063a6b206bf146100af578063b2dd1d79146100df575b5f80fd5b610068600480360381019061006391906102d3565b61010f565b6040516100769291906103b6565b60405180910390f35b610099600480360381019061009491906103e4565b61011f565b6040516100a6919061042b565b60405180910390f35b6100c960048036038101906100c4919061044b565b610129565b6040516100d69190610476565b60405180910390f35b6100f960048036038101906100f4919061048f565b61013e565b6040516101069190610476565b60405180910390f35b5f60608383915091509250929050565b6060819050919050565b5f60028261013791906104fa565b9050919050565b5f818361014b919061053b565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f819050919050565b61017681610164565b8114610180575f80fd5b50565b5f813590506101918161016d565b92915050565b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6101e58261019f565b810181811067ffffffffffffffff82111715610204576102036101af565b5b80604052505050565b5f610216610153565b905061022282826101dc565b919050565b5f67ffffffffffffffff821115610241576102406101af565b5b61024a8261019f565b9050602081019050919050565b828183375f83830152505050565b5f61027761027284610227565b61020d565b9050828152602081018484840111156102935761029261019b565b5b61029e848285610257565b509392505050565b5f82601f8301126102ba576102b9610197565b5b81356102ca848260208601610265565b91505092915050565b5f80604083850312156102e9576102e861015c565b5b5f6102f685828601610183565b925050602083013567ffffffffffffffff81111561031757610316610160565b5b610323858286016102a6565b9150509250929050565b61033681610164565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610373578082015181840152602081019050610358565b5f8484015250505050565b5f6103888261033c565b6103928185610346565b93506103a2818560208601610356565b6103ab8161019f565b840191505092915050565b5f6040820190506103c95f83018561032d565b81810360208301526103db818461037e565b90509392505050565b5f602082840312156103f9576103f861015c565b5b5f82013567ffffffffffffffff81111561041657610415610160565b5b610422848285016102a6565b91505092915050565b5f6020820190508181035f830152610443818461037e565b905092915050565b5f602082840312156104605761045f61015c565b5b5f61046d84828501610183565b91505092915050565b5f6020820190506104895f83018461032d565b92915050565b5f80604083850312156104a5576104a461015c565b5b5f6104b285828601610183565b92505060206104c385828601610183565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61050482610164565b915061050f83610164565b925082820261051d81610164565b91508282048414831517610534576105336104cd565b5b5092915050565b5f61054582610164565b915061055083610164565b9250828201905080821115610568576105676104cd565b5b9291505056fea264697066735822122050d800614efd0cbec5592fe8c8f8452b71df933f05488a1235299fbc0570ea9164736f6c63430008140033" + "0x608060405234801561000f575f80fd5b506105a48061001d5f395ff3fe608060405234801561000f575f80fd5b506004361061004a575f3560e01c80633b6c27c41461004e5780638ae3048e1461007f578063a6b206bf146100af578063b2dd1d79146100df575b5f80fd5b610068600480360381019061006391906102d3565b61010f565b6040516100769291906103b6565b60405180910390f35b610099600480360381019061009491906103e4565b61011f565b6040516100a6919061042b565b60405180910390f35b6100c960048036038101906100c4919061044b565b610129565b6040516100d69190610476565b60405180910390f35b6100f960048036038101906100f4919061048f565b61013e565b6040516101069190610476565b60405180910390f35b5f60608383915091509250929050565b6060819050919050565b5f60028261013791906104fa565b9050919050565b5f818361014b919061053b565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f819050919050565b61017681610164565b8114610180575f80fd5b50565b5f813590506101918161016d565b92915050565b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6101e58261019f565b810181811067ffffffffffffffff82111715610204576102036101af565b5b80604052505050565b5f610216610153565b905061022282826101dc565b919050565b5f67ffffffffffffffff821115610241576102406101af565b5b61024a8261019f565b9050602081019050919050565b828183375f83830152505050565b5f61027761027284610227565b61020d565b9050828152602081018484840111156102935761029261019b565b5b61029e848285610257565b509392505050565b5f82601f8301126102ba576102b9610197565b5b81356102ca848260208601610265565b91505092915050565b5f80604083850312156102e9576102e861015c565b5b5f6102f685828601610183565b925050602083013567ffffffffffffffff81111561031757610316610160565b5b610323858286016102a6565b9150509250929050565b61033681610164565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610373578082015181840152602081019050610358565b5f8484015250505050565b5f6103888261033c565b6103928185610346565b93506103a2818560208601610356565b6103ab8161019f565b840191505092915050565b5f6040820190506103c95f83018561032d565b81810360208301526103db818461037e565b90509392505050565b5f602082840312156103f9576103f861015c565b5b5f82013567ffffffffffffffff81111561041657610415610160565b5b610422848285016102a6565b91505092915050565b5f6020820190508181035f830152610443818461037e565b905092915050565b5f602082840312156104605761045f61015c565b5b5f61046d84828501610183565b91505092915050565b5f6020820190506104895f83018461032d565b92915050565b5f80604083850312156104a5576104a461015c565b5b5f6104b285828601610183565b92505060206104c385828601610183565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61050482610164565b915061050f83610164565b925082820261051d81610164565b91508282048414831517610534576105336104cd565b5b5092915050565b5f61054582610164565b915061055083610164565b9250828201905080821115610568576105676104cd565b5b9291505056fea2646970667358221220730ee6a612bf671c0e641d2217dddd6d4800a47d2bf309d98f73bc2bfa72f1a364736f6c63430008170033" ) diff --git a/pypechain/test/return_types/abis/ReturnTypes.json b/pypechain/test/return_types/abis/ReturnTypes.json index b5ac0d95..0e9aa751 100644 --- a/pypechain/test/return_types/abis/ReturnTypes.json +++ b/pypechain/test/return_types/abis/ReturnTypes.json @@ -405,9 +405,9 @@ "type": "function" } ], - "bin": "608060405234801561000f575f80fd5b50610d428061001d5f395ff3fe608060405234801561000f575f80fd5b50600436106100a7575f3560e01c806373b10c0f1161006f57806373b10c0f14610167578063811d9aa314610189578063879896af146101a7578063c567c2f3146101d8578063d6c1a03e146101f6578063e0f7c60414610227576100a7565b8063389e9102146100ab57806340e27b10146100db57806353fd1043146100fa5780636456bc7914610119578063730fe90e14610137575b5f80fd5b6100c560048036038101906100c09190610798565b610246565b6040516100d291906107d2565b60405180910390f35b6100e361024f565b6040516100f19291906108be565b60405180910390f35b610102610307565b604051610110929190610974565b60405180910390f35b6101216103d6565b60405161012e91906109a9565b60405180910390f35b610151600480360381019061014c91906109c9565b61042e565b60405161015e91906107d2565b60405180910390f35b61016f610443565b604051610180959493929190610a5e565b60405180910390f35b610191610557565b60405161019e91906109a9565b60405180910390f35b6101c160048036038101906101bc9190610bf0565b6105af565b6040516101cf929190610c37565b60405180910390f35b6101e06105be565b6040516101ed9190610c65565b60405180910390f35b610210600480360381019061020b91906109c9565b61062d565b60405161021e929190610c85565b60405180910390f35b61022f61063c565b60405161023d929190610974565b60405180910390f35b5f819050919050565b610257610701565b61025f610701565b5f6040518060400160405280600181526020016040518060400160405280601081526020017f596f7520617265206e756d62657220310000000000000000000000000000000081525081525090505f6040518060400160405280600281526020016040518060400160405280601081526020017f596f7520617265206e756d626572203200000000000000000000000000000000815250815250905081819350935050509091565b61030f610701565b61031761071a565b5f6040518060400160405280600181526020016040518060400160405280601081526020017f596f7520617265206e756d62657220310000000000000000000000000000000081525081525090505f6040518060600160405280600281526020016040518060400160405280601081526020017f596f7520617265206e756d6265722032000000000000000000000000000000008152508152602001604051806020016040528060011515815250815250905081819350935050509091565b6103de610701565b6040518060400160405280600181526020016040518060400160405280601081526020017f596f7520617265206e756d626572203100000000000000000000000000000000815250815250905090565b5f818361043b9190610cd9565b905092915050565b61044b610701565b61045361071a565b5f60605f6040518060400160405280600181526020016040518060400160405280601081526020017f596f7520617265206e756d62657220310000000000000000000000000000000081525081525094505f6040518060600160405280600281526020016040518060400160405280601081526020017f596f7520617265206e756d62657220320000000000000000000000000000000081525081526020016040518060200160405280600115158152508152509050858160015f6040518060400160405280601381526020017f52657475726e5479706573436f6e7472616374000000000000000000000000008152509095509550955095509550509091929394565b61055f610701565b6040518060400160405280600181526020016040518060400160405280601081526020017f596f7520617265206e756d626572203100000000000000000000000000000000815250815250905090565b60605f82600291509150915091565b6105c661071a565b6040518060600160405280600181526020016040518060400160405280601081526020017f596f7520617265206e756d6265722031000000000000000000000000000000008152508152602001604051806020016040528060011515815250815250905090565b5f808284915091509250929050565b610644610701565b61064c61071a565b6040518060400160405280600181526020016040518060400160405280601081526020017f596f7520617265206e756d62657220310000000000000000000000000000000081525081525091506040518060600160405280600281526020016040518060400160405280601081526020017f596f7520617265206e756d626572203200000000000000000000000000000000815250815260200160405180602001604052806001151581525081525090509091565b60405180604001604052805f8152602001606081525090565b60405180606001604052805f81526020016060815260200161073a610740565b81525090565b60405180602001604052805f151581525090565b5f604051905090565b5f80fd5b5f80fd5b5f819050919050565b61077781610765565b8114610781575f80fd5b50565b5f813590506107928161076e565b92915050565b5f602082840312156107ad576107ac61075d565b5b5f6107ba84828501610784565b91505092915050565b6107cc81610765565b82525050565b5f6020820190506107e55f8301846107c3565b92915050565b6107f481610765565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610831578082015181840152602081019050610816565b5f8484015250505050565b5f601f19601f8301169050919050565b5f610856826107fa565b6108608185610804565b9350610870818560208601610814565b6108798161083c565b840191505092915050565b5f604083015f8301516108995f8601826107eb565b50602083015184820360208601526108b1828261084c565b9150508091505092915050565b5f6040820190508181035f8301526108d68185610884565b905081810360208301526108ea8184610884565b90509392505050565b5f8115159050919050565b610907816108f3565b82525050565b602082015f8201516109215f8501826108fe565b50505050565b5f606083015f83015161093c5f8601826107eb565b5060208301518482036020860152610954828261084c565b9150506040830151610969604086018261090d565b508091505092915050565b5f6040820190508181035f83015261098c8185610884565b905081810360208301526109a08184610927565b90509392505050565b5f6020820190508181035f8301526109c18184610884565b905092915050565b5f80604083850312156109df576109de61075d565b5b5f6109ec85828601610784565b92505060206109fd85828601610784565b9150509250929050565b5f82825260208201905092915050565b5f610a21826107fa565b610a2b8185610a07565b9350610a3b818560208601610814565b610a448161083c565b840191505092915050565b610a58816108f3565b82525050565b5f60a0820190508181035f830152610a768188610884565b90508181036020830152610a8a8187610927565b9050610a9960408301866107c3565b8181036060830152610aab8185610a17565b9050610aba6080830184610a4f565b9695505050505050565b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610b028261083c565b810181811067ffffffffffffffff82111715610b2157610b20610acc565b5b80604052505050565b5f610b33610754565b9050610b3f8282610af9565b919050565b5f67ffffffffffffffff821115610b5e57610b5d610acc565b5b610b678261083c565b9050602081019050919050565b828183375f83830152505050565b5f610b94610b8f84610b44565b610b2a565b905082815260208101848484011115610bb057610baf610ac8565b5b610bbb848285610b74565b509392505050565b5f82601f830112610bd757610bd6610ac4565b5b8135610be7848260208601610b82565b91505092915050565b5f60208284031215610c0557610c0461075d565b5b5f82013567ffffffffffffffff811115610c2257610c21610761565b5b610c2e84828501610bc3565b91505092915050565b5f6040820190508181035f830152610c4f8185610a17565b9050610c5e60208301846107c3565b9392505050565b5f6020820190508181035f830152610c7d8184610927565b905092915050565b5f604082019050610c985f8301856107c3565b610ca560208301846107c3565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610ce382610765565b9150610cee83610765565b9250828201905080821115610d0657610d05610cac565b5b9291505056fea2646970667358221220a51b33cb3c61bef6313e74c2b59f700ac36c0c01e44b102cbd6c460b362013f864736f6c63430008140033", - "metadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"mixStructsAndPrimitives\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"intVal\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"strVal\",\"type\":\"string\"}],\"internalType\":\"struct ReturnTypes.SimpleStruct\",\"name\":\"simpleStruct\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"intVal\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"strVal\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"boolVal\",\"type\":\"bool\"}],\"internalType\":\"struct ReturnTypes.InnerStruct\",\"name\":\"innerStruct\",\"type\":\"tuple\"}],\"internalType\":\"struct ReturnTypes.NestedStruct\",\"name\":\"\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"YesOrNo\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"namedSingleStruct\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"intVal\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"strVal\",\"type\":\"string\"}],\"internalType\":\"struct ReturnTypes.SimpleStruct\",\"name\":\"struct1\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\"}],\"name\":\"namedSingleValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"added\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"namedTwoMixedStructs\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"intVal\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"strVal\",\"type\":\"string\"}],\"internalType\":\"struct ReturnTypes.SimpleStruct\",\"name\":\"simpleStruct\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"intVal\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"strVal\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"boolVal\",\"type\":\"bool\"}],\"internalType\":\"struct ReturnTypes.InnerStruct\",\"name\":\"innerStruct\",\"type\":\"tuple\"}],\"internalType\":\"struct ReturnTypes.NestedStruct\",\"name\":\"nestedStruct\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\"}],\"name\":\"namedTwoValues\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"flip\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"flop\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"}],\"name\":\"noNameSingleValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"s\",\"type\":\"string\"}],\"name\":\"noNameTwoValues\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"singleNestedStruct\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"intVal\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"strVal\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"boolVal\",\"type\":\"bool\"}],\"internalType\":\"struct ReturnTypes.InnerStruct\",\"name\":\"innerStruct\",\"type\":\"tuple\"}],\"internalType\":\"struct ReturnTypes.NestedStruct\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"singleSimpleStruct\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"intVal\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"strVal\",\"type\":\"string\"}],\"internalType\":\"struct ReturnTypes.SimpleStruct\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"twoMixedStructs\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"intVal\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"strVal\",\"type\":\"string\"}],\"internalType\":\"struct ReturnTypes.SimpleStruct\",\"name\":\"\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"intVal\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"strVal\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"boolVal\",\"type\":\"bool\"}],\"internalType\":\"struct ReturnTypes.InnerStruct\",\"name\":\"innerStruct\",\"type\":\"tuple\"}],\"internalType\":\"struct ReturnTypes.NestedStruct\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"twoSimpleStructs\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"intVal\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"strVal\",\"type\":\"string\"}],\"internalType\":\"struct ReturnTypes.SimpleStruct\",\"name\":\"\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"intVal\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"strVal\",\"type\":\"string\"}],\"internalType\":\"struct ReturnTypes.SimpleStruct\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pypechain/test/return_types/contracts/ReturnTypes.sol\":\"ReturnTypes\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"pypechain/test/return_types/contracts/ReturnTypes.sol\":{\"keccak256\":\"0x5f9fb98c950dc8c4bbe4b6ef27070715ce7f71f668b7400c4e16bdecfb3587fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://679c58a51707afb45173e1174da356d3ffdac1dd09312515c3e456d8e09150b5\",\"dweb:/ipfs/QmYpAVUhzX4J4RW7kbwv3SBdHBT3y52WYZCnvk5NLsjANY\"]}},\"version\":1}" + "bin": "608060405234801561000f575f80fd5b50610d428061001d5f395ff3fe608060405234801561000f575f80fd5b50600436106100a7575f3560e01c806373b10c0f1161006f57806373b10c0f14610167578063811d9aa314610189578063879896af146101a7578063c567c2f3146101d8578063d6c1a03e146101f6578063e0f7c60414610227576100a7565b8063389e9102146100ab57806340e27b10146100db57806353fd1043146100fa5780636456bc7914610119578063730fe90e14610137575b5f80fd5b6100c560048036038101906100c09190610798565b610246565b6040516100d291906107d2565b60405180910390f35b6100e361024f565b6040516100f19291906108be565b60405180910390f35b610102610307565b604051610110929190610974565b60405180910390f35b6101216103d6565b60405161012e91906109a9565b60405180910390f35b610151600480360381019061014c91906109c9565b61042e565b60405161015e91906107d2565b60405180910390f35b61016f610443565b604051610180959493929190610a5e565b60405180910390f35b610191610557565b60405161019e91906109a9565b60405180910390f35b6101c160048036038101906101bc9190610bf0565b6105af565b6040516101cf929190610c37565b60405180910390f35b6101e06105be565b6040516101ed9190610c65565b60405180910390f35b610210600480360381019061020b91906109c9565b61062d565b60405161021e929190610c85565b60405180910390f35b61022f61063c565b60405161023d929190610974565b60405180910390f35b5f819050919050565b610257610701565b61025f610701565b5f6040518060400160405280600181526020016040518060400160405280601081526020017f596f7520617265206e756d62657220310000000000000000000000000000000081525081525090505f6040518060400160405280600281526020016040518060400160405280601081526020017f596f7520617265206e756d626572203200000000000000000000000000000000815250815250905081819350935050509091565b61030f610701565b61031761071a565b5f6040518060400160405280600181526020016040518060400160405280601081526020017f596f7520617265206e756d62657220310000000000000000000000000000000081525081525090505f6040518060600160405280600281526020016040518060400160405280601081526020017f596f7520617265206e756d6265722032000000000000000000000000000000008152508152602001604051806020016040528060011515815250815250905081819350935050509091565b6103de610701565b6040518060400160405280600181526020016040518060400160405280601081526020017f596f7520617265206e756d626572203100000000000000000000000000000000815250815250905090565b5f818361043b9190610cd9565b905092915050565b61044b610701565b61045361071a565b5f60605f6040518060400160405280600181526020016040518060400160405280601081526020017f596f7520617265206e756d62657220310000000000000000000000000000000081525081525094505f6040518060600160405280600281526020016040518060400160405280601081526020017f596f7520617265206e756d62657220320000000000000000000000000000000081525081526020016040518060200160405280600115158152508152509050858160015f6040518060400160405280601381526020017f52657475726e5479706573436f6e7472616374000000000000000000000000008152509095509550955095509550509091929394565b61055f610701565b6040518060400160405280600181526020016040518060400160405280601081526020017f596f7520617265206e756d626572203100000000000000000000000000000000815250815250905090565b60605f82600291509150915091565b6105c661071a565b6040518060600160405280600181526020016040518060400160405280601081526020017f596f7520617265206e756d6265722031000000000000000000000000000000008152508152602001604051806020016040528060011515815250815250905090565b5f808284915091509250929050565b610644610701565b61064c61071a565b6040518060400160405280600181526020016040518060400160405280601081526020017f596f7520617265206e756d62657220310000000000000000000000000000000081525081525091506040518060600160405280600281526020016040518060400160405280601081526020017f596f7520617265206e756d626572203200000000000000000000000000000000815250815260200160405180602001604052806001151581525081525090509091565b60405180604001604052805f8152602001606081525090565b60405180606001604052805f81526020016060815260200161073a610740565b81525090565b60405180602001604052805f151581525090565b5f604051905090565b5f80fd5b5f80fd5b5f819050919050565b61077781610765565b8114610781575f80fd5b50565b5f813590506107928161076e565b92915050565b5f602082840312156107ad576107ac61075d565b5b5f6107ba84828501610784565b91505092915050565b6107cc81610765565b82525050565b5f6020820190506107e55f8301846107c3565b92915050565b6107f481610765565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610831578082015181840152602081019050610816565b5f8484015250505050565b5f601f19601f8301169050919050565b5f610856826107fa565b6108608185610804565b9350610870818560208601610814565b6108798161083c565b840191505092915050565b5f604083015f8301516108995f8601826107eb565b50602083015184820360208601526108b1828261084c565b9150508091505092915050565b5f6040820190508181035f8301526108d68185610884565b905081810360208301526108ea8184610884565b90509392505050565b5f8115159050919050565b610907816108f3565b82525050565b602082015f8201516109215f8501826108fe565b50505050565b5f606083015f83015161093c5f8601826107eb565b5060208301518482036020860152610954828261084c565b9150506040830151610969604086018261090d565b508091505092915050565b5f6040820190508181035f83015261098c8185610884565b905081810360208301526109a08184610927565b90509392505050565b5f6020820190508181035f8301526109c18184610884565b905092915050565b5f80604083850312156109df576109de61075d565b5b5f6109ec85828601610784565b92505060206109fd85828601610784565b9150509250929050565b5f82825260208201905092915050565b5f610a21826107fa565b610a2b8185610a07565b9350610a3b818560208601610814565b610a448161083c565b840191505092915050565b610a58816108f3565b82525050565b5f60a0820190508181035f830152610a768188610884565b90508181036020830152610a8a8187610927565b9050610a9960408301866107c3565b8181036060830152610aab8185610a17565b9050610aba6080830184610a4f565b9695505050505050565b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610b028261083c565b810181811067ffffffffffffffff82111715610b2157610b20610acc565b5b80604052505050565b5f610b33610754565b9050610b3f8282610af9565b919050565b5f67ffffffffffffffff821115610b5e57610b5d610acc565b5b610b678261083c565b9050602081019050919050565b828183375f83830152505050565b5f610b94610b8f84610b44565b610b2a565b905082815260208101848484011115610bb057610baf610ac8565b5b610bbb848285610b74565b509392505050565b5f82601f830112610bd757610bd6610ac4565b5b8135610be7848260208601610b82565b91505092915050565b5f60208284031215610c0557610c0461075d565b5b5f82013567ffffffffffffffff811115610c2257610c21610761565b5b610c2e84828501610bc3565b91505092915050565b5f6040820190508181035f830152610c4f8185610a17565b9050610c5e60208301846107c3565b9392505050565b5f6020820190508181035f830152610c7d8184610927565b905092915050565b5f604082019050610c985f8301856107c3565b610ca560208301846107c3565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610ce382610765565b9150610cee83610765565b9250828201905080821115610d0657610d05610cac565b5b9291505056fea2646970667358221220e3889d05f9a166b91391574ab82b4dac305987a0962eb279cd01f524cb7ded2464736f6c63430008170033", + "metadata": "{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"mixStructsAndPrimitives\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"intVal\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"strVal\",\"type\":\"string\"}],\"internalType\":\"struct ReturnTypes.SimpleStruct\",\"name\":\"simpleStruct\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"intVal\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"strVal\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"boolVal\",\"type\":\"bool\"}],\"internalType\":\"struct ReturnTypes.InnerStruct\",\"name\":\"innerStruct\",\"type\":\"tuple\"}],\"internalType\":\"struct ReturnTypes.NestedStruct\",\"name\":\"\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"YesOrNo\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"namedSingleStruct\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"intVal\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"strVal\",\"type\":\"string\"}],\"internalType\":\"struct ReturnTypes.SimpleStruct\",\"name\":\"struct1\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\"}],\"name\":\"namedSingleValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"added\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"namedTwoMixedStructs\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"intVal\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"strVal\",\"type\":\"string\"}],\"internalType\":\"struct ReturnTypes.SimpleStruct\",\"name\":\"simpleStruct\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"intVal\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"strVal\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"boolVal\",\"type\":\"bool\"}],\"internalType\":\"struct ReturnTypes.InnerStruct\",\"name\":\"innerStruct\",\"type\":\"tuple\"}],\"internalType\":\"struct ReturnTypes.NestedStruct\",\"name\":\"nestedStruct\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\"}],\"name\":\"namedTwoValues\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"flip\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"flop\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"}],\"name\":\"noNameSingleValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"s\",\"type\":\"string\"}],\"name\":\"noNameTwoValues\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"singleNestedStruct\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"intVal\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"strVal\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"boolVal\",\"type\":\"bool\"}],\"internalType\":\"struct ReturnTypes.InnerStruct\",\"name\":\"innerStruct\",\"type\":\"tuple\"}],\"internalType\":\"struct ReturnTypes.NestedStruct\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"singleSimpleStruct\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"intVal\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"strVal\",\"type\":\"string\"}],\"internalType\":\"struct ReturnTypes.SimpleStruct\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"twoMixedStructs\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"intVal\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"strVal\",\"type\":\"string\"}],\"internalType\":\"struct ReturnTypes.SimpleStruct\",\"name\":\"\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"intVal\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"strVal\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"boolVal\",\"type\":\"bool\"}],\"internalType\":\"struct ReturnTypes.InnerStruct\",\"name\":\"innerStruct\",\"type\":\"tuple\"}],\"internalType\":\"struct ReturnTypes.NestedStruct\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"twoSimpleStructs\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"intVal\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"strVal\",\"type\":\"string\"}],\"internalType\":\"struct ReturnTypes.SimpleStruct\",\"name\":\"\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"intVal\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"strVal\",\"type\":\"string\"}],\"internalType\":\"struct ReturnTypes.SimpleStruct\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"pypechain/test/return_types/contracts/ReturnTypes.sol\":\"ReturnTypes\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"pypechain/test/return_types/contracts/ReturnTypes.sol\":{\"keccak256\":\"0x5f9fb98c950dc8c4bbe4b6ef27070715ce7f71f668b7400c4e16bdecfb3587fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://679c58a51707afb45173e1174da356d3ffdac1dd09312515c3e456d8e09150b5\",\"dweb:/ipfs/QmYpAVUhzX4J4RW7kbwv3SBdHBT3y52WYZCnvk5NLsjANY\"]}},\"version\":1}" } }, - "version": "0.8.20+commit.a1b79de6.Darwin.appleclang" + "version": "0.8.23+commit.f704f362.Darwin.appleclang" } \ No newline at end of file diff --git a/pypechain/test/return_types/types/ReturnTypesContract.py b/pypechain/test/return_types/types/ReturnTypesContract.py index 844a033f..8cf6c9a6 100644 --- a/pypechain/test/return_types/types/ReturnTypesContract.py +++ b/pypechain/test/return_types/types/ReturnTypesContract.py @@ -915,7 +915,7 @@ def __init__( ) # pylint: disable=line-too-long returntypes_bytecode = HexStr( - "0x608060405234801561000f575f80fd5b50610d428061001d5f395ff3fe608060405234801561000f575f80fd5b50600436106100a7575f3560e01c806373b10c0f1161006f57806373b10c0f14610167578063811d9aa314610189578063879896af146101a7578063c567c2f3146101d8578063d6c1a03e146101f6578063e0f7c60414610227576100a7565b8063389e9102146100ab57806340e27b10146100db57806353fd1043146100fa5780636456bc7914610119578063730fe90e14610137575b5f80fd5b6100c560048036038101906100c09190610798565b610246565b6040516100d291906107d2565b60405180910390f35b6100e361024f565b6040516100f19291906108be565b60405180910390f35b610102610307565b604051610110929190610974565b60405180910390f35b6101216103d6565b60405161012e91906109a9565b60405180910390f35b610151600480360381019061014c91906109c9565b61042e565b60405161015e91906107d2565b60405180910390f35b61016f610443565b604051610180959493929190610a5e565b60405180910390f35b610191610557565b60405161019e91906109a9565b60405180910390f35b6101c160048036038101906101bc9190610bf0565b6105af565b6040516101cf929190610c37565b60405180910390f35b6101e06105be565b6040516101ed9190610c65565b60405180910390f35b610210600480360381019061020b91906109c9565b61062d565b60405161021e929190610c85565b60405180910390f35b61022f61063c565b60405161023d929190610974565b60405180910390f35b5f819050919050565b610257610701565b61025f610701565b5f6040518060400160405280600181526020016040518060400160405280601081526020017f596f7520617265206e756d62657220310000000000000000000000000000000081525081525090505f6040518060400160405280600281526020016040518060400160405280601081526020017f596f7520617265206e756d626572203200000000000000000000000000000000815250815250905081819350935050509091565b61030f610701565b61031761071a565b5f6040518060400160405280600181526020016040518060400160405280601081526020017f596f7520617265206e756d62657220310000000000000000000000000000000081525081525090505f6040518060600160405280600281526020016040518060400160405280601081526020017f596f7520617265206e756d6265722032000000000000000000000000000000008152508152602001604051806020016040528060011515815250815250905081819350935050509091565b6103de610701565b6040518060400160405280600181526020016040518060400160405280601081526020017f596f7520617265206e756d626572203100000000000000000000000000000000815250815250905090565b5f818361043b9190610cd9565b905092915050565b61044b610701565b61045361071a565b5f60605f6040518060400160405280600181526020016040518060400160405280601081526020017f596f7520617265206e756d62657220310000000000000000000000000000000081525081525094505f6040518060600160405280600281526020016040518060400160405280601081526020017f596f7520617265206e756d62657220320000000000000000000000000000000081525081526020016040518060200160405280600115158152508152509050858160015f6040518060400160405280601381526020017f52657475726e5479706573436f6e7472616374000000000000000000000000008152509095509550955095509550509091929394565b61055f610701565b6040518060400160405280600181526020016040518060400160405280601081526020017f596f7520617265206e756d626572203100000000000000000000000000000000815250815250905090565b60605f82600291509150915091565b6105c661071a565b6040518060600160405280600181526020016040518060400160405280601081526020017f596f7520617265206e756d6265722031000000000000000000000000000000008152508152602001604051806020016040528060011515815250815250905090565b5f808284915091509250929050565b610644610701565b61064c61071a565b6040518060400160405280600181526020016040518060400160405280601081526020017f596f7520617265206e756d62657220310000000000000000000000000000000081525081525091506040518060600160405280600281526020016040518060400160405280601081526020017f596f7520617265206e756d626572203200000000000000000000000000000000815250815260200160405180602001604052806001151581525081525090509091565b60405180604001604052805f8152602001606081525090565b60405180606001604052805f81526020016060815260200161073a610740565b81525090565b60405180602001604052805f151581525090565b5f604051905090565b5f80fd5b5f80fd5b5f819050919050565b61077781610765565b8114610781575f80fd5b50565b5f813590506107928161076e565b92915050565b5f602082840312156107ad576107ac61075d565b5b5f6107ba84828501610784565b91505092915050565b6107cc81610765565b82525050565b5f6020820190506107e55f8301846107c3565b92915050565b6107f481610765565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610831578082015181840152602081019050610816565b5f8484015250505050565b5f601f19601f8301169050919050565b5f610856826107fa565b6108608185610804565b9350610870818560208601610814565b6108798161083c565b840191505092915050565b5f604083015f8301516108995f8601826107eb565b50602083015184820360208601526108b1828261084c565b9150508091505092915050565b5f6040820190508181035f8301526108d68185610884565b905081810360208301526108ea8184610884565b90509392505050565b5f8115159050919050565b610907816108f3565b82525050565b602082015f8201516109215f8501826108fe565b50505050565b5f606083015f83015161093c5f8601826107eb565b5060208301518482036020860152610954828261084c565b9150506040830151610969604086018261090d565b508091505092915050565b5f6040820190508181035f83015261098c8185610884565b905081810360208301526109a08184610927565b90509392505050565b5f6020820190508181035f8301526109c18184610884565b905092915050565b5f80604083850312156109df576109de61075d565b5b5f6109ec85828601610784565b92505060206109fd85828601610784565b9150509250929050565b5f82825260208201905092915050565b5f610a21826107fa565b610a2b8185610a07565b9350610a3b818560208601610814565b610a448161083c565b840191505092915050565b610a58816108f3565b82525050565b5f60a0820190508181035f830152610a768188610884565b90508181036020830152610a8a8187610927565b9050610a9960408301866107c3565b8181036060830152610aab8185610a17565b9050610aba6080830184610a4f565b9695505050505050565b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610b028261083c565b810181811067ffffffffffffffff82111715610b2157610b20610acc565b5b80604052505050565b5f610b33610754565b9050610b3f8282610af9565b919050565b5f67ffffffffffffffff821115610b5e57610b5d610acc565b5b610b678261083c565b9050602081019050919050565b828183375f83830152505050565b5f610b94610b8f84610b44565b610b2a565b905082815260208101848484011115610bb057610baf610ac8565b5b610bbb848285610b74565b509392505050565b5f82601f830112610bd757610bd6610ac4565b5b8135610be7848260208601610b82565b91505092915050565b5f60208284031215610c0557610c0461075d565b5b5f82013567ffffffffffffffff811115610c2257610c21610761565b5b610c2e84828501610bc3565b91505092915050565b5f6040820190508181035f830152610c4f8185610a17565b9050610c5e60208301846107c3565b9392505050565b5f6020820190508181035f830152610c7d8184610927565b905092915050565b5f604082019050610c985f8301856107c3565b610ca560208301846107c3565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610ce382610765565b9150610cee83610765565b9250828201905080821115610d0657610d05610cac565b5b9291505056fea2646970667358221220a51b33cb3c61bef6313e74c2b59f700ac36c0c01e44b102cbd6c460b362013f864736f6c63430008140033" + "0x608060405234801561000f575f80fd5b50610d428061001d5f395ff3fe608060405234801561000f575f80fd5b50600436106100a7575f3560e01c806373b10c0f1161006f57806373b10c0f14610167578063811d9aa314610189578063879896af146101a7578063c567c2f3146101d8578063d6c1a03e146101f6578063e0f7c60414610227576100a7565b8063389e9102146100ab57806340e27b10146100db57806353fd1043146100fa5780636456bc7914610119578063730fe90e14610137575b5f80fd5b6100c560048036038101906100c09190610798565b610246565b6040516100d291906107d2565b60405180910390f35b6100e361024f565b6040516100f19291906108be565b60405180910390f35b610102610307565b604051610110929190610974565b60405180910390f35b6101216103d6565b60405161012e91906109a9565b60405180910390f35b610151600480360381019061014c91906109c9565b61042e565b60405161015e91906107d2565b60405180910390f35b61016f610443565b604051610180959493929190610a5e565b60405180910390f35b610191610557565b60405161019e91906109a9565b60405180910390f35b6101c160048036038101906101bc9190610bf0565b6105af565b6040516101cf929190610c37565b60405180910390f35b6101e06105be565b6040516101ed9190610c65565b60405180910390f35b610210600480360381019061020b91906109c9565b61062d565b60405161021e929190610c85565b60405180910390f35b61022f61063c565b60405161023d929190610974565b60405180910390f35b5f819050919050565b610257610701565b61025f610701565b5f6040518060400160405280600181526020016040518060400160405280601081526020017f596f7520617265206e756d62657220310000000000000000000000000000000081525081525090505f6040518060400160405280600281526020016040518060400160405280601081526020017f596f7520617265206e756d626572203200000000000000000000000000000000815250815250905081819350935050509091565b61030f610701565b61031761071a565b5f6040518060400160405280600181526020016040518060400160405280601081526020017f596f7520617265206e756d62657220310000000000000000000000000000000081525081525090505f6040518060600160405280600281526020016040518060400160405280601081526020017f596f7520617265206e756d6265722032000000000000000000000000000000008152508152602001604051806020016040528060011515815250815250905081819350935050509091565b6103de610701565b6040518060400160405280600181526020016040518060400160405280601081526020017f596f7520617265206e756d626572203100000000000000000000000000000000815250815250905090565b5f818361043b9190610cd9565b905092915050565b61044b610701565b61045361071a565b5f60605f6040518060400160405280600181526020016040518060400160405280601081526020017f596f7520617265206e756d62657220310000000000000000000000000000000081525081525094505f6040518060600160405280600281526020016040518060400160405280601081526020017f596f7520617265206e756d62657220320000000000000000000000000000000081525081526020016040518060200160405280600115158152508152509050858160015f6040518060400160405280601381526020017f52657475726e5479706573436f6e7472616374000000000000000000000000008152509095509550955095509550509091929394565b61055f610701565b6040518060400160405280600181526020016040518060400160405280601081526020017f596f7520617265206e756d626572203100000000000000000000000000000000815250815250905090565b60605f82600291509150915091565b6105c661071a565b6040518060600160405280600181526020016040518060400160405280601081526020017f596f7520617265206e756d6265722031000000000000000000000000000000008152508152602001604051806020016040528060011515815250815250905090565b5f808284915091509250929050565b610644610701565b61064c61071a565b6040518060400160405280600181526020016040518060400160405280601081526020017f596f7520617265206e756d62657220310000000000000000000000000000000081525081525091506040518060600160405280600281526020016040518060400160405280601081526020017f596f7520617265206e756d626572203200000000000000000000000000000000815250815260200160405180602001604052806001151581525081525090509091565b60405180604001604052805f8152602001606081525090565b60405180606001604052805f81526020016060815260200161073a610740565b81525090565b60405180602001604052805f151581525090565b5f604051905090565b5f80fd5b5f80fd5b5f819050919050565b61077781610765565b8114610781575f80fd5b50565b5f813590506107928161076e565b92915050565b5f602082840312156107ad576107ac61075d565b5b5f6107ba84828501610784565b91505092915050565b6107cc81610765565b82525050565b5f6020820190506107e55f8301846107c3565b92915050565b6107f481610765565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610831578082015181840152602081019050610816565b5f8484015250505050565b5f601f19601f8301169050919050565b5f610856826107fa565b6108608185610804565b9350610870818560208601610814565b6108798161083c565b840191505092915050565b5f604083015f8301516108995f8601826107eb565b50602083015184820360208601526108b1828261084c565b9150508091505092915050565b5f6040820190508181035f8301526108d68185610884565b905081810360208301526108ea8184610884565b90509392505050565b5f8115159050919050565b610907816108f3565b82525050565b602082015f8201516109215f8501826108fe565b50505050565b5f606083015f83015161093c5f8601826107eb565b5060208301518482036020860152610954828261084c565b9150506040830151610969604086018261090d565b508091505092915050565b5f6040820190508181035f83015261098c8185610884565b905081810360208301526109a08184610927565b90509392505050565b5f6020820190508181035f8301526109c18184610884565b905092915050565b5f80604083850312156109df576109de61075d565b5b5f6109ec85828601610784565b92505060206109fd85828601610784565b9150509250929050565b5f82825260208201905092915050565b5f610a21826107fa565b610a2b8185610a07565b9350610a3b818560208601610814565b610a448161083c565b840191505092915050565b610a58816108f3565b82525050565b5f60a0820190508181035f830152610a768188610884565b90508181036020830152610a8a8187610927565b9050610a9960408301866107c3565b8181036060830152610aab8185610a17565b9050610aba6080830184610a4f565b9695505050505050565b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610b028261083c565b810181811067ffffffffffffffff82111715610b2157610b20610acc565b5b80604052505050565b5f610b33610754565b9050610b3f8282610af9565b919050565b5f67ffffffffffffffff821115610b5e57610b5d610acc565b5b610b678261083c565b9050602081019050919050565b828183375f83830152505050565b5f610b94610b8f84610b44565b610b2a565b905082815260208101848484011115610bb057610baf610ac8565b5b610bbb848285610b74565b509392505050565b5f82601f830112610bd757610bd6610ac4565b5b8135610be7848260208601610b82565b91505092915050565b5f60208284031215610c0557610c0461075d565b5b5f82013567ffffffffffffffff811115610c2257610c21610761565b5b610c2e84828501610bc3565b91505092915050565b5f6040820190508181035f830152610c4f8185610a17565b9050610c5e60208301846107c3565b9392505050565b5f6020820190508181035f830152610c7d8184610927565b905092915050565b5f604082019050610c985f8301856107c3565b610ca560208301846107c3565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610ce382610765565b9150610cee83610765565b9250828201905080821115610d0657610d05610cac565b5b9291505056fea2646970667358221220e3889d05f9a166b91391574ab82b4dac305987a0962eb279cd01f524cb7ded2464736f6c63430008170033" )