Repository: ethereum/web3.py (language: python)

Issue:
Recompile test contracts with new Solidity version: v0.8.28
### What was wrong?<br>

* New Solidity version `v0.8.28` released and test contracts need to be recompiled with this version.<br>

### How can it be fixed?<br>
* From within the `web3/_utils/contract_sources` directory, run: `python compile_contracts.py -v {new_solidity_version_number}` to compile the test contracts with the new Solidity version.<br>
* Re-generate the integration test fixture after running the above script to test the integration tests against the updated contract bytecodes.<br><br>See [relevant documentation](https://ift.tt/WmEvUYP) for more details.


Discussion / hints:

Fix patch:
diff --git a/newsfragments/3515.internal.rst b/newsfragments/3515.internal.rst
new file mode 100644
index 0000000000..a85edf72c0
--- /dev/null
+++ b/newsfragments/3515.internal.rst
@@ -0,0 +1,1 @@
+Compile test contracts with newly released Solidity ``v0.8.28`` to ensure compatibility.
diff --git a/web3/_utils/contract_sources/contract_data/arrays_contract.py b/web3/_utils/contract_sources/contract_data/arrays_contract.py
index 8c27439eae..6358e7dc84 100644
--- a/web3/_utils/contract_sources/contract_data/arrays_contract.py
+++ b/web3/_utils/contract_sources/contract_data/arrays_contract.py
@@ -1,11 +1,11 @@
 """
 Generated by `compile_contracts.py` script.
-Compiled with Solidity v0.8.27.
+Compiled with Solidity v0.8.28.
 """
 
 # source: web3/_utils/contract_sources/ArraysContract.sol:ArraysContract
-ARRAYS_CONTRACT_BYTECODE = "0x608060405260405180604001604052807f03783fac2efed8fbc9ad443e592ee30e61d65f471140c10ca155e937b435b76081526020017f1f675bff07515f5df96737194ea945c36c41e7b4fcef307b7cd4d0e602a691118152506001906002610069929190610199565b5060405180604001604052805f7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020017f01000000000000000000000000000000000000000000000000000000000000007effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681525060039060026101379291906101e4565b50348015610143575f5ffd5b5060405161128238038061128283398181016040528101906101659190610652565b815f908051906020019061017a929190610286565b5080600290805190602001906101919291906102d1565b5050506106c8565b828054828255905f5260205f209081019282156101d3579160200282015b828111156101d25782518255916020019190600101906101b7565b5b5090506101e09190610373565b5090565b828054828255905f5260205f2090601f01602090048101928215610275579160200282015f5b8382111561024757835183826101000a81548160ff021916908360f81c021790555092602001926001016020815f0104928301926001030261020a565b80156102735782816101000a81549060ff02191690556001016020815f01049283019260010302610247565b505b509050610282919061038e565b5090565b828054828255905f5260205f209081019282156102c0579160200282015b828111156102bf5782518255916020019190600101906102a4565b5b5090506102cd9190610373565b5090565b828054828255905f5260205f2090601f01602090048101928215610362579160200282015f5b8382111561033457835183826101000a81548160ff021916908360f81c021790555092602001926001016020815f010492830192600103026102f7565b80156103605782816101000a81549060ff02191690556001016020815f01049283019260010302610334565b505b50905061036f919061038e565b5090565b5b8082111561038a575f815f905550600101610374565b5090565b5b808211156103a5575f815f90555060010161038f565b5090565b5f604051905090565b5f5ffd5b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610404826103be565b810181811067ffffffffffffffff82111715610423576104226103ce565b5b80604052505050565b5f6104356103a9565b905061044182826103fb565b919050565b5f67ffffffffffffffff8211156104605761045f6103ce565b5b602082029050602081019050919050565b5f5ffd5b5f819050919050565b61048781610475565b8114610491575f5ffd5b50565b5f815190506104a28161047e565b92915050565b5f6104ba6104b584610446565b61042c565b905080838252602082019050602084028301858111156104dd576104dc610471565b5b835b8181101561050657806104f28882610494565b8452602084019350506020810190506104df565b5050509392505050565b5f82601f830112610524576105236103ba565b5b81516105348482602086016104a8565b91505092915050565b5f67ffffffffffffffff821115610557576105566103ce565b5b602082029050602081019050919050565b5f7fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b61059c81610568565b81146105a6575f5ffd5b50565b5f815190506105b781610593565b92915050565b5f6105cf6105ca8461053d565b61042c565b905080838252602082019050602084028301858111156105f2576105f1610471565b5b835b8181101561061b578061060788826105a9565b8452602084019350506020810190506105f4565b5050509392505050565b5f82601f830112610639576106386103ba565b5b81516106498482602086016105bd565b91505092915050565b5f5f60408385031215610668576106676103b2565b5b5f83015167ffffffffffffffff811115610685576106846103b6565b5b61069185828601610510565b925050602083015167ffffffffffffffff8111156106b2576106b16103b6565b5b6106be85828601610625565b9150509250929050565b610bad806106d55f395ff3fe608060405234801561000f575f5ffd5b506004361061009c575f3560e01c8063542d83de11610064578063542d83de14610158578063605ba271146101885780638abe51fd146101a6578063962e450c146101c4578063bb69679b146101f45761009c565b80630afe5e33146100a057806312c9dcc8146100be5780631579bf66146100ee5780633ddcea2f1461010c57806351b4878814610128575b5f5ffd5b6100a8610210565b6040516100b591906106a4565b60405180910390f35b6100d860048036038101906100d39190610708565b610266565b6040516100e5919061076d565b60405180910390f35b6100f6610297565b604051610103919061083d565b60405180910390f35b610126600480360381019061012191906109d7565b610330565b005b610142600480360381019061013d9190610708565b61034a565b60405161014f9190610a2d565b60405180910390f35b610172600480360381019061016d9190610708565b61036a565b60405161017f9190610a2d565b60405180910390f35b610190610389565b60405161019d91906106a4565b60405180910390f35b6101ae6103de565b6040516101bb919061083d565b60405180910390f35b6101de60048036038101906101d99190610708565b610477565b6040516101eb919061076d565b60405180910390f35b61020e60048036038101906102099190610b30565b6104a8565b005b6060600180548060200260200160405190810160405280929190818152602001828054801561025c57602002820191905f5260205f20905b815481526020019060010190808311610248575b5050505050905090565b60028181548110610275575f80fd5b905f5260205f209060209182820401919006915054906101000a900460f81b81565b6060600380548060200260200160405190810160405280929190818152602001828054801561032657602002820191905f5260205f20905f905b82829054906101000a900460f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600101906020825f010492830192600103820291508084116102d15790505b5050505050905090565b80600290805190602001906103469291906104c1565b5050565b60018181548110610359575f80fd5b905f5260205f20015f915090505481565b5f8181548110610378575f80fd5b905f5260205f20015f915090505481565b60605f8054806020026020016040519081016040528092919081815260200182805480156103d457602002820191905f5260205f20905b8154815260200190600101908083116103c0575b5050505050905090565b6060600280548060200260200160405190810160405280929190818152602001828054801561046d57602002820191905f5260205f20905f905b82829054906101000a900460f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600101906020825f010492830192600103820291508084116104185790505b5050505050905090565b60038181548110610486575f80fd5b905f5260205f209060209182820401919006915054906101000a900460f81b81565b805f90805190602001906104bd929190610563565b5050565b828054828255905f5260205f2090601f01602090048101928215610552579160200282015f5b8382111561052457835183826101000a81548160ff021916908360f81c021790555092602001926001016020815f010492830192600103026104e7565b80156105505782816101000a81549060ff02191690556001016020815f01049283019260010302610524565b505b50905061055f91906105ae565b5090565b828054828255905f5260205f2090810192821561059d579160200282015b8281111561059c578251825591602001919060010190610581565b5b5090506105aa91906105c9565b5090565b5b808211156105c5575f815f9055506001016105af565b5090565b5b808211156105e0575f815f9055506001016105ca565b5090565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f819050919050565b61061f8161060d565b82525050565b5f6106308383610616565b60208301905092915050565b5f602082019050919050565b5f610652826105e4565b61065c81856105ee565b9350610667836105fe565b805f5b8381101561069757815161067e8882610625565b97506106898361063c565b92505060018101905061066a565b5085935050505092915050565b5f6020820190508181035f8301526106bc8184610648565b905092915050565b5f604051905090565b5f5ffd5b5f5ffd5b5f819050919050565b6106e7816106d5565b81146106f1575f5ffd5b50565b5f81359050610702816106de565b92915050565b5f6020828403121561071d5761071c6106cd565b5b5f61072a848285016106f4565b91505092915050565b5f7fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b61076781610733565b82525050565b5f6020820190506107805f83018461075e565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6107b881610733565b82525050565b5f6107c983836107af565b60208301905092915050565b5f602082019050919050565b5f6107eb82610786565b6107f58185610790565b9350610800836107a0565b805f5b8381101561083057815161081788826107be565b9750610822836107d5565b925050600181019050610803565b5085935050505092915050565b5f6020820190508181035f83015261085581846107e1565b905092915050565b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6108a782610861565b810181811067ffffffffffffffff821117156108c6576108c5610871565b5b80604052505050565b5f6108d86106c4565b90506108e4828261089e565b919050565b5f67ffffffffffffffff82111561090357610902610871565b5b602082029050602081019050919050565b5f5ffd5b61092181610733565b811461092b575f5ffd5b50565b5f8135905061093c81610918565b92915050565b5f61095461094f846108e9565b6108cf565b9050808382526020820190506020840283018581111561097757610976610914565b5b835b818110156109a0578061098c888261092e565b845260208401935050602081019050610979565b5050509392505050565b5f82601f8301126109be576109bd61085d565b5b81356109ce848260208601610942565b91505092915050565b5f602082840312156109ec576109eb6106cd565b5b5f82013567ffffffffffffffff811115610a0957610a086106d1565b5b610a15848285016109aa565b91505092915050565b610a278161060d565b82525050565b5f602082019050610a405f830184610a1e565b92915050565b5f67ffffffffffffffff821115610a6057610a5f610871565b5b602082029050602081019050919050565b610a7a8161060d565b8114610a84575f5ffd5b50565b5f81359050610a9581610a71565b92915050565b5f610aad610aa884610a46565b6108cf565b90508083825260208201905060208402830185811115610ad057610acf610914565b5b835b81811015610af95780610ae58882610a87565b845260208401935050602081019050610ad2565b5050509392505050565b5f82601f830112610b1757610b1661085d565b5b8135610b27848260208601610a9b565b91505092915050565b5f60208284031215610b4557610b446106cd565b5b5f82013567ffffffffffffffff811115610b6257610b616106d1565b5b610b6e84828501610b03565b9150509291505056fea264697066735822122002082625c48029065cb3bd8b70dd32f013425c803e2b69b0044bfb78fa3a1e9064736f6c634300081b0033"  # noqa: E501
-ARRAYS_CONTRACT_RUNTIME = "0x608060405234801561000f575f5ffd5b506004361061009c575f3560e01c8063542d83de11610064578063542d83de14610158578063605ba271146101885780638abe51fd146101a6578063962e450c146101c4578063bb69679b146101f45761009c565b80630afe5e33146100a057806312c9dcc8146100be5780631579bf66146100ee5780633ddcea2f1461010c57806351b4878814610128575b5f5ffd5b6100a8610210565b6040516100b591906106a4565b60405180910390f35b6100d860048036038101906100d39190610708565b610266565b6040516100e5919061076d565b60405180910390f35b6100f6610297565b604051610103919061083d565b60405180910390f35b610126600480360381019061012191906109d7565b610330565b005b610142600480360381019061013d9190610708565b61034a565b60405161014f9190610a2d565b60405180910390f35b610172600480360381019061016d9190610708565b61036a565b60405161017f9190610a2d565b60405180910390f35b610190610389565b60405161019d91906106a4565b60405180910390f35b6101ae6103de565b6040516101bb919061083d565b60405180910390f35b6101de60048036038101906101d99190610708565b610477565b6040516101eb919061076d565b60405180910390f35b61020e60048036038101906102099190610b30565b6104a8565b005b6060600180548060200260200160405190810160405280929190818152602001828054801561025c57602002820191905f5260205f20905b815481526020019060010190808311610248575b5050505050905090565b60028181548110610275575f80fd5b905f5260205f209060209182820401919006915054906101000a900460f81b81565b6060600380548060200260200160405190810160405280929190818152602001828054801561032657602002820191905f5260205f20905f905b82829054906101000a900460f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600101906020825f010492830192600103820291508084116102d15790505b5050505050905090565b80600290805190602001906103469291906104c1565b5050565b60018181548110610359575f80fd5b905f5260205f20015f915090505481565b5f8181548110610378575f80fd5b905f5260205f20015f915090505481565b60605f8054806020026020016040519081016040528092919081815260200182805480156103d457602002820191905f5260205f20905b8154815260200190600101908083116103c0575b5050505050905090565b6060600280548060200260200160405190810160405280929190818152602001828054801561046d57602002820191905f5260205f20905f905b82829054906101000a900460f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600101906020825f010492830192600103820291508084116104185790505b5050505050905090565b60038181548110610486575f80fd5b905f5260205f209060209182820401919006915054906101000a900460f81b81565b805f90805190602001906104bd929190610563565b5050565b828054828255905f5260205f2090601f01602090048101928215610552579160200282015f5b8382111561052457835183826101000a81548160ff021916908360f81c021790555092602001926001016020815f010492830192600103026104e7565b80156105505782816101000a81549060ff02191690556001016020815f01049283019260010302610524565b505b50905061055f91906105ae565b5090565b828054828255905f5260205f2090810192821561059d579160200282015b8281111561059c578251825591602001919060010190610581565b5b5090506105aa91906105c9565b5090565b5b808211156105c5575f815f9055506001016105af565b5090565b5b808211156105e0575f815f9055506001016105ca565b5090565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f819050919050565b61061f8161060d565b82525050565b5f6106308383610616565b60208301905092915050565b5f602082019050919050565b5f610652826105e4565b61065c81856105ee565b9350610667836105fe565b805f5b8381101561069757815161067e8882610625565b97506106898361063c565b92505060018101905061066a565b5085935050505092915050565b5f6020820190508181035f8301526106bc8184610648565b905092915050565b5f604051905090565b5f5ffd5b5f5ffd5b5f819050919050565b6106e7816106d5565b81146106f1575f5ffd5b50565b5f81359050610702816106de565b92915050565b5f6020828403121561071d5761071c6106cd565b5b5f61072a848285016106f4565b91505092915050565b5f7fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b61076781610733565b82525050565b5f6020820190506107805f83018461075e565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6107b881610733565b82525050565b5f6107c983836107af565b60208301905092915050565b5f602082019050919050565b5f6107eb82610786565b6107f58185610790565b9350610800836107a0565b805f5b8381101561083057815161081788826107be565b9750610822836107d5565b925050600181019050610803565b5085935050505092915050565b5f6020820190508181035f83015261085581846107e1565b905092915050565b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6108a782610861565b810181811067ffffffffffffffff821117156108c6576108c5610871565b5b80604052505050565b5f6108d86106c4565b90506108e4828261089e565b919050565b5f67ffffffffffffffff82111561090357610902610871565b5b602082029050602081019050919050565b5f5ffd5b61092181610733565b811461092b575f5ffd5b50565b5f8135905061093c81610918565b92915050565b5f61095461094f846108e9565b6108cf565b9050808382526020820190506020840283018581111561097757610976610914565b5b835b818110156109a0578061098c888261092e565b845260208401935050602081019050610979565b5050509392505050565b5f82601f8301126109be576109bd61085d565b5b81356109ce848260208601610942565b91505092915050565b5f602082840312156109ec576109eb6106cd565b5b5f82013567ffffffffffffffff811115610a0957610a086106d1565b5b610a15848285016109aa565b91505092915050565b610a278161060d565b82525050565b5f602082019050610a405f830184610a1e565b92915050565b5f67ffffffffffffffff821115610a6057610a5f610871565b5b602082029050602081019050919050565b610a7a8161060d565b8114610a84575f5ffd5b50565b5f81359050610a9581610a71565b92915050565b5f610aad610aa884610a46565b6108cf565b90508083825260208201905060208402830185811115610ad057610acf610914565b5b835b81811015610af95780610ae58882610a87565b845260208401935050602081019050610ad2565b5050509392505050565b5f82601f830112610b1757610b1661085d565b5b8135610b27848260208601610a9b565b91505092915050565b5f60208284031215610b4557610b446106cd565b5b5f82013567ffffffffffffffff811115610b6257610b616106d1565b5b610b6e84828501610b03565b9150509291505056fea264697066735822122002082625c48029065cb3bd8b70dd32f013425c803e2b69b0044bfb78fa3a1e9064736f6c634300081b0033"  # noqa: E501
+ARRAYS_CONTRACT_BYTECODE = "0x608060405260405180604001604052807f03783fac2efed8fbc9ad443e592ee30e61d65f471140c10ca155e937b435b76081526020017f1f675bff07515f5df96737194ea945c36c41e7b4fcef307b7cd4d0e602a691118152506001906002610069929190610199565b5060405180604001604052805f7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020017f01000000000000000000000000000000000000000000000000000000000000007effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681525060039060026101379291906101e4565b50348015610143575f5ffd5b5060405161128238038061128283398181016040528101906101659190610652565b815f908051906020019061017a929190610286565b5080600290805190602001906101919291906102d1565b5050506106c8565b828054828255905f5260205f209081019282156101d3579160200282015b828111156101d25782518255916020019190600101906101b7565b5b5090506101e09190610373565b5090565b828054828255905f5260205f2090601f01602090048101928215610275579160200282015f5b8382111561024757835183826101000a81548160ff021916908360f81c021790555092602001926001016020815f0104928301926001030261020a565b80156102735782816101000a81549060ff02191690556001016020815f01049283019260010302610247565b505b509050610282919061038e565b5090565b828054828255905f5260205f209081019282156102c0579160200282015b828111156102bf5782518255916020019190600101906102a4565b5b5090506102cd9190610373565b5090565b828054828255905f5260205f2090601f01602090048101928215610362579160200282015f5b8382111561033457835183826101000a81548160ff021916908360f81c021790555092602001926001016020815f010492830192600103026102f7565b80156103605782816101000a81549060ff02191690556001016020815f01049283019260010302610334565b505b50905061036f919061038e565b5090565b5b8082111561038a575f815f905550600101610374565b5090565b5b808211156103a5575f815f90555060010161038f565b5090565b5f604051905090565b5f5ffd5b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610404826103be565b810181811067ffffffffffffffff82111715610423576104226103ce565b5b80604052505050565b5f6104356103a9565b905061044182826103fb565b919050565b5f67ffffffffffffffff8211156104605761045f6103ce565b5b602082029050602081019050919050565b5f5ffd5b5f819050919050565b61048781610475565b8114610491575f5ffd5b50565b5f815190506104a28161047e565b92915050565b5f6104ba6104b584610446565b61042c565b905080838252602082019050602084028301858111156104dd576104dc610471565b5b835b8181101561050657806104f28882610494565b8452602084019350506020810190506104df565b5050509392505050565b5f82601f830112610524576105236103ba565b5b81516105348482602086016104a8565b91505092915050565b5f67ffffffffffffffff821115610557576105566103ce565b5b602082029050602081019050919050565b5f7fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b61059c81610568565b81146105a6575f5ffd5b50565b5f815190506105b781610593565b92915050565b5f6105cf6105ca8461053d565b61042c565b905080838252602082019050602084028301858111156105f2576105f1610471565b5b835b8181101561061b578061060788826105a9565b8452602084019350506020810190506105f4565b5050509392505050565b5f82601f830112610639576106386103ba565b5b81516106498482602086016105bd565b91505092915050565b5f5f60408385031215610668576106676103b2565b5b5f83015167ffffffffffffffff811115610685576106846103b6565b5b61069185828601610510565b925050602083015167ffffffffffffffff8111156106b2576106b16103b6565b5b6106be85828601610625565b9150509250929050565b610bad806106d55f395ff3fe608060405234801561000f575f5ffd5b506004361061009c575f3560e01c8063542d83de11610064578063542d83de14610158578063605ba271146101885780638abe51fd146101a6578063962e450c146101c4578063bb69679b146101f45761009c565b80630afe5e33146100a057806312c9dcc8146100be5780631579bf66146100ee5780633ddcea2f1461010c57806351b4878814610128575b5f5ffd5b6100a8610210565b6040516100b591906106a4565b60405180910390f35b6100d860048036038101906100d39190610708565b610266565b6040516100e5919061076d565b60405180910390f35b6100f6610297565b604051610103919061083d565b60405180910390f35b610126600480360381019061012191906109d7565b610330565b005b610142600480360381019061013d9190610708565b61034a565b60405161014f9190610a2d565b60405180910390f35b610172600480360381019061016d9190610708565b61036a565b60405161017f9190610a2d565b60405180910390f35b610190610389565b60405161019d91906106a4565b60405180910390f35b6101ae6103de565b6040516101bb919061083d565b60405180910390f35b6101de60048036038101906101d99190610708565b610477565b6040516101eb919061076d565b60405180910390f35b61020e60048036038101906102099190610b30565b6104a8565b005b6060600180548060200260200160405190810160405280929190818152602001828054801561025c57602002820191905f5260205f20905b815481526020019060010190808311610248575b5050505050905090565b60028181548110610275575f80fd5b905f5260205f209060209182820401919006915054906101000a900460f81b81565b6060600380548060200260200160405190810160405280929190818152602001828054801561032657602002820191905f5260205f20905f905b82829054906101000a900460f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600101906020825f010492830192600103820291508084116102d15790505b5050505050905090565b80600290805190602001906103469291906104c1565b5050565b60018181548110610359575f80fd5b905f5260205f20015f915090505481565b5f8181548110610378575f80fd5b905f5260205f20015f915090505481565b60605f8054806020026020016040519081016040528092919081815260200182805480156103d457602002820191905f5260205f20905b8154815260200190600101908083116103c0575b5050505050905090565b6060600280548060200260200160405190810160405280929190818152602001828054801561046d57602002820191905f5260205f20905f905b82829054906101000a900460f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600101906020825f010492830192600103820291508084116104185790505b5050505050905090565b60038181548110610486575f80fd5b905f5260205f209060209182820401919006915054906101000a900460f81b81565b805f90805190602001906104bd929190610563565b5050565b828054828255905f5260205f2090601f01602090048101928215610552579160200282015f5b8382111561052457835183826101000a81548160ff021916908360f81c021790555092602001926001016020815f010492830192600103026104e7565b80156105505782816101000a81549060ff02191690556001016020815f01049283019260010302610524565b505b50905061055f91906105ae565b5090565b828054828255905f5260205f2090810192821561059d579160200282015b8281111561059c578251825591602001919060010190610581565b5b5090506105aa91906105c9565b5090565b5b808211156105c5575f815f9055506001016105af565b5090565b5b808211156105e0575f815f9055506001016105ca565b5090565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f819050919050565b61061f8161060d565b82525050565b5f6106308383610616565b60208301905092915050565b5f602082019050919050565b5f610652826105e4565b61065c81856105ee565b9350610667836105fe565b805f5b8381101561069757815161067e8882610625565b97506106898361063c565b92505060018101905061066a565b5085935050505092915050565b5f6020820190508181035f8301526106bc8184610648565b905092915050565b5f604051905090565b5f5ffd5b5f5ffd5b5f819050919050565b6106e7816106d5565b81146106f1575f5ffd5b50565b5f81359050610702816106de565b92915050565b5f6020828403121561071d5761071c6106cd565b5b5f61072a848285016106f4565b91505092915050565b5f7fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b61076781610733565b82525050565b5f6020820190506107805f83018461075e565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6107b881610733565b82525050565b5f6107c983836107af565b60208301905092915050565b5f602082019050919050565b5f6107eb82610786565b6107f58185610790565b9350610800836107a0565b805f5b8381101561083057815161081788826107be565b9750610822836107d5565b925050600181019050610803565b5085935050505092915050565b5f6020820190508181035f83015261085581846107e1565b905092915050565b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6108a782610861565b810181811067ffffffffffffffff821117156108c6576108c5610871565b5b80604052505050565b5f6108d86106c4565b90506108e4828261089e565b919050565b5f67ffffffffffffffff82111561090357610902610871565b5b602082029050602081019050919050565b5f5ffd5b61092181610733565b811461092b575f5ffd5b50565b5f8135905061093c81610918565b92915050565b5f61095461094f846108e9565b6108cf565b9050808382526020820190506020840283018581111561097757610976610914565b5b835b818110156109a0578061098c888261092e565b845260208401935050602081019050610979565b5050509392505050565b5f82601f8301126109be576109bd61085d565b5b81356109ce848260208601610942565b91505092915050565b5f602082840312156109ec576109eb6106cd565b5b5f82013567ffffffffffffffff811115610a0957610a086106d1565b5b610a15848285016109aa565b91505092915050565b610a278161060d565b82525050565b5f602082019050610a405f830184610a1e565b92915050565b5f67ffffffffffffffff821115610a6057610a5f610871565b5b602082029050602081019050919050565b610a7a8161060d565b8114610a84575f5ffd5b50565b5f81359050610a9581610a71565b92915050565b5f610aad610aa884610a46565b6108cf565b90508083825260208201905060208402830185811115610ad057610acf610914565b5b835b81811015610af95780610ae58882610a87565b845260208401935050602081019050610ad2565b5050509392505050565b5f82601f830112610b1757610b1661085d565b5b8135610b27848260208601610a9b565b91505092915050565b5f60208284031215610b4557610b446106cd565b5b5f82013567ffffffffffffffff811115610b6257610b616106d1565b5b610b6e84828501610b03565b9150509291505056fea264697066735822122066c1b5aca68c975c1e8dc691b119fd4a13f4d38e08e8e1cfc16164b958dfe6a964736f6c634300081c0033"  # noqa: E501
+ARRAYS_CONTRACT_RUNTIME = "0x608060405234801561000f575f5ffd5b506004361061009c575f3560e01c8063542d83de11610064578063542d83de14610158578063605ba271146101885780638abe51fd146101a6578063962e450c146101c4578063bb69679b146101f45761009c565b80630afe5e33146100a057806312c9dcc8146100be5780631579bf66146100ee5780633ddcea2f1461010c57806351b4878814610128575b5f5ffd5b6100a8610210565b6040516100b591906106a4565b60405180910390f35b6100d860048036038101906100d39190610708565b610266565b6040516100e5919061076d565b60405180910390f35b6100f6610297565b604051610103919061083d565b60405180910390f35b610126600480360381019061012191906109d7565b610330565b005b610142600480360381019061013d9190610708565b61034a565b60405161014f9190610a2d565b60405180910390f35b610172600480360381019061016d9190610708565b61036a565b60405161017f9190610a2d565b60405180910390f35b610190610389565b60405161019d91906106a4565b60405180910390f35b6101ae6103de565b6040516101bb919061083d565b60405180910390f35b6101de60048036038101906101d99190610708565b610477565b6040516101eb919061076d565b60405180910390f35b61020e60048036038101906102099190610b30565b6104a8565b005b6060600180548060200260200160405190810160405280929190818152602001828054801561025c57602002820191905f5260205f20905b815481526020019060010190808311610248575b5050505050905090565b60028181548110610275575f80fd5b905f5260205f209060209182820401919006915054906101000a900460f81b81565b6060600380548060200260200160405190810160405280929190818152602001828054801561032657602002820191905f5260205f20905f905b82829054906101000a900460f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600101906020825f010492830192600103820291508084116102d15790505b5050505050905090565b80600290805190602001906103469291906104c1565b5050565b60018181548110610359575f80fd5b905f5260205f20015f915090505481565b5f8181548110610378575f80fd5b905f5260205f20015f915090505481565b60605f8054806020026020016040519081016040528092919081815260200182805480156103d457602002820191905f5260205f20905b8154815260200190600101908083116103c0575b5050505050905090565b6060600280548060200260200160405190810160405280929190818152602001828054801561046d57602002820191905f5260205f20905f905b82829054906101000a900460f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600101906020825f010492830192600103820291508084116104185790505b5050505050905090565b60038181548110610486575f80fd5b905f5260205f209060209182820401919006915054906101000a900460f81b81565b805f90805190602001906104bd929190610563565b5050565b828054828255905f5260205f2090601f01602090048101928215610552579160200282015f5b8382111561052457835183826101000a81548160ff021916908360f81c021790555092602001926001016020815f010492830192600103026104e7565b80156105505782816101000a81549060ff02191690556001016020815f01049283019260010302610524565b505b50905061055f91906105ae565b5090565b828054828255905f5260205f2090810192821561059d579160200282015b8281111561059c578251825591602001919060010190610581565b5b5090506105aa91906105c9565b5090565b5b808211156105c5575f815f9055506001016105af565b5090565b5b808211156105e0575f815f9055506001016105ca565b5090565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f819050919050565b61061f8161060d565b82525050565b5f6106308383610616565b60208301905092915050565b5f602082019050919050565b5f610652826105e4565b61065c81856105ee565b9350610667836105fe565b805f5b8381101561069757815161067e8882610625565b97506106898361063c565b92505060018101905061066a565b5085935050505092915050565b5f6020820190508181035f8301526106bc8184610648565b905092915050565b5f604051905090565b5f5ffd5b5f5ffd5b5f819050919050565b6106e7816106d5565b81146106f1575f5ffd5b50565b5f81359050610702816106de565b92915050565b5f6020828403121561071d5761071c6106cd565b5b5f61072a848285016106f4565b91505092915050565b5f7fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b61076781610733565b82525050565b5f6020820190506107805f83018461075e565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6107b881610733565b82525050565b5f6107c983836107af565b60208301905092915050565b5f602082019050919050565b5f6107eb82610786565b6107f58185610790565b9350610800836107a0565b805f5b8381101561083057815161081788826107be565b9750610822836107d5565b925050600181019050610803565b5085935050505092915050565b5f6020820190508181035f83015261085581846107e1565b905092915050565b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6108a782610861565b810181811067ffffffffffffffff821117156108c6576108c5610871565b5b80604052505050565b5f6108d86106c4565b90506108e4828261089e565b919050565b5f67ffffffffffffffff82111561090357610902610871565b5b602082029050602081019050919050565b5f5ffd5b61092181610733565b811461092b575f5ffd5b50565b5f8135905061093c81610918565b92915050565b5f61095461094f846108e9565b6108cf565b9050808382526020820190506020840283018581111561097757610976610914565b5b835b818110156109a0578061098c888261092e565b845260208401935050602081019050610979565b5050509392505050565b5f82601f8301126109be576109bd61085d565b5b81356109ce848260208601610942565b91505092915050565b5f602082840312156109ec576109eb6106cd565b5b5f82013567ffffffffffffffff811115610a0957610a086106d1565b5b610a15848285016109aa565b91505092915050565b610a278161060d565b82525050565b5f602082019050610a405f830184610a1e565b92915050565b5f67ffffffffffffffff821115610a6057610a5f610871565b5b602082029050602081019050919050565b610a7a8161060d565b8114610a84575f5ffd5b50565b5f81359050610a9581610a71565b92915050565b5f610aad610aa884610a46565b6108cf565b90508083825260208201905060208402830185811115610ad057610acf610914565b5b835b81811015610af95780610ae58882610a87565b845260208401935050602081019050610ad2565b5050509392505050565b5f82601f830112610b1757610b1661085d565b5b8135610b27848260208601610a9b565b91505092915050565b5f60208284031215610b4557610b446106cd565b5b5f82013567ffffffffffffffff811115610b6257610b616106d1565b5b610b6e84828501610b03565b9150509291505056fea264697066735822122066c1b5aca68c975c1e8dc691b119fd4a13f4d38e08e8e1cfc16164b958dfe6a964736f6c634300081c0033"  # noqa: E501
 ARRAYS_CONTRACT_ABI = [
     {
         "inputs": [
diff --git a/web3/_utils/contract_sources/contract_data/bytes_contracts.py b/web3/_utils/contract_sources/contract_data/bytes_contracts.py
index ca4eab8dc7..98d701e115 100644
--- a/web3/_utils/contract_sources/contract_data/bytes_contracts.py
+++ b/web3/_utils/contract_sources/contract_data/bytes_contracts.py
@@ -1,11 +1,11 @@
 """
 Generated by `compile_contracts.py` script.
-Compiled with Solidity v0.8.27.
+Compiled with Solidity v0.8.28.
 """
 
 # source: web3/_utils/contract_sources/BytesContracts.sol:BytesContract
-BYTES_CONTRACT_BYTECODE = "0x60806040526040518060400160405280600281526020017f01230000000000000000000000000000000000000000000000000000000000008152505f908161004791906102c8565b50348015610053575f5ffd5b50604051610cd0380380610cd0833981810160405281019061007591906104b7565b80600190816100849190610508565b50506105d7565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061010657607f821691505b602082108103610119576101186100c2565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261017b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610140565b6101858683610140565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6101c96101c46101bf8461019d565b6101a6565b61019d565b9050919050565b5f819050919050565b6101e2836101af565b6101f66101ee826101d0565b84845461014c565b825550505050565b5f5f905090565b61020d6101fe565b6102188184846101d9565b505050565b5b8181101561023b576102305f82610205565b60018101905061021e565b5050565b601f821115610280576102518161011f565b61025a84610131565b81016020851015610269578190505b61027d61027585610131565b83018261021d565b50505b505050565b5f82821c905092915050565b5f6102a05f1984600802610285565b1980831691505092915050565b5f6102b88383610291565b9150826002028217905092915050565b6102d18261008b565b67ffffffffffffffff8111156102ea576102e9610095565b5b6102f482546100ef565b6102ff82828561023f565b5f60209050601f831160018114610330575f841561031e578287015190505b61032885826102ad565b86555061038f565b601f19841661033e8661011f565b5f5b8281101561036557848901518255600182019150602085019450602081019050610340565b86831015610382578489015161037e601f891682610291565b8355505b6001600288020188555050505b505050505050565b5f604051905090565b5f5ffd5b5f5ffd5b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b6103c9826103b0565b810181811067ffffffffffffffff821117156103e8576103e7610095565b5b80604052505050565b5f6103fa610397565b905061040682826103c0565b919050565b5f67ffffffffffffffff82111561042557610424610095565b5b61042e826103b0565b9050602081019050919050565b8281835e5f83830152505050565b5f61045b6104568461040b565b6103f1565b905082815260208101848484011115610477576104766103ac565b5b61048284828561043b565b509392505050565b5f82601f83011261049e5761049d6103a8565b5b81516104ae848260208601610449565b91505092915050565b5f602082840312156104cc576104cb6103a0565b5b5f82015167ffffffffffffffff8111156104e9576104e86103a4565b5b6104f58482850161048a565b91505092915050565b5f81519050919050565b610511826104fe565b67ffffffffffffffff81111561052a57610529610095565b5b61053482546100ef565b61053f82828561023f565b5f60209050601f831160018114610570575f841561055e578287015190505b61056885826102ad565b8655506105cf565b601f19841661057e8661011f565b5f5b828110156105a557848901518255600182019150602085019450602081019050610580565b868310156105c257848901516105be601f891682610291565b8355505b6001600288020188555050505b505050505050565b6106ec806105e45f395ff3fe608060405234801561000f575f5ffd5b506004361061003f575f3560e01c8063209652551461004357806330de3cee14610061578063439970aa1461007f575b5f5ffd5b61004b61009b565b604051610058919061023d565b60405180910390f35b61006961012b565b604051610076919061023d565b60405180910390f35b6100996004803603810190610094919061039a565b6101ba565b005b6060600180546100aa9061040e565b80601f01602080910402602001604051908101604052809291908181526020018280546100d69061040e565b80156101215780601f106100f857610100808354040283529160200191610121565b820191905f5260205f20905b81548152906001019060200180831161010457829003601f168201915b5050505050905090565b60605f80546101399061040e565b80601f01602080910402602001604051908101604052809291908181526020018280546101659061040e565b80156101b05780601f10610187576101008083540402835291602001916101b0565b820191905f5260205f20905b81548152906001019060200180831161019357829003601f168201915b5050505050905090565b80600190816101c991906105e7565b5050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61020f826101cd565b61021981856101d7565b93506102298185602086016101e7565b610232816101f5565b840191505092915050565b5f6020820190508181035f8301526102558184610205565b905092915050565b5f604051905090565b5f5ffd5b5f5ffd5b5f5ffd5b5f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6102ac826101f5565b810181811067ffffffffffffffff821117156102cb576102ca610276565b5b80604052505050565b5f6102dd61025d565b90506102e982826102a3565b919050565b5f67ffffffffffffffff82111561030857610307610276565b5b610311826101f5565b9050602081019050919050565b828183375f83830152505050565b5f61033e610339846102ee565b6102d4565b90508281526020810184848401111561035a57610359610272565b5b61036584828561031e565b509392505050565b5f82601f8301126103815761038061026e565b5b813561039184826020860161032c565b91505092915050565b5f602082840312156103af576103ae610266565b5b5f82013567ffffffffffffffff8111156103cc576103cb61026a565b5b6103d88482850161036d565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061042557607f821691505b602082108103610438576104376103e1565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261049a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261045f565b6104a4868361045f565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6104e86104e36104de846104bc565b6104c5565b6104bc565b9050919050565b5f819050919050565b610501836104ce565b61051561050d826104ef565b84845461046b565b825550505050565b5f5f905090565b61052c61051d565b6105378184846104f8565b505050565b5b8181101561055a5761054f5f82610524565b60018101905061053d565b5050565b601f82111561059f576105708161043e565b61057984610450565b81016020851015610588578190505b61059c61059485610450565b83018261053c565b50505b505050565b5f82821c905092915050565b5f6105bf5f19846008026105a4565b1980831691505092915050565b5f6105d783836105b0565b9150826002028217905092915050565b6105f0826101cd565b67ffffffffffffffff81111561060957610608610276565b5b610613825461040e565b61061e82828561055e565b5f60209050601f83116001811461064f575f841561063d578287015190505b61064785826105cc565b8655506106ae565b601f19841661065d8661043e565b5f5b828110156106845784890151825560018201915060208501945060208101905061065f565b868310156106a1578489015161069d601f8916826105b0565b8355505b6001600288020188555050505b50505050505056fea2646970667358221220c78761f5dd632fbb96c0913612aa124af03e2e3649e0fe6988c1e80ec11f13e564736f6c634300081b0033"  # noqa: E501
-BYTES_CONTRACT_RUNTIME = "0x608060405234801561000f575f5ffd5b506004361061003f575f3560e01c8063209652551461004357806330de3cee14610061578063439970aa1461007f575b5f5ffd5b61004b61009b565b604051610058919061023d565b60405180910390f35b61006961012b565b604051610076919061023d565b60405180910390f35b6100996004803603810190610094919061039a565b6101ba565b005b6060600180546100aa9061040e565b80601f01602080910402602001604051908101604052809291908181526020018280546100d69061040e565b80156101215780601f106100f857610100808354040283529160200191610121565b820191905f5260205f20905b81548152906001019060200180831161010457829003601f168201915b5050505050905090565b60605f80546101399061040e565b80601f01602080910402602001604051908101604052809291908181526020018280546101659061040e565b80156101b05780601f10610187576101008083540402835291602001916101b0565b820191905f5260205f20905b81548152906001019060200180831161019357829003601f168201915b5050505050905090565b80600190816101c991906105e7565b5050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61020f826101cd565b61021981856101d7565b93506102298185602086016101e7565b610232816101f5565b840191505092915050565b5f6020820190508181035f8301526102558184610205565b905092915050565b5f604051905090565b5f5ffd5b5f5ffd5b5f5ffd5b5f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6102ac826101f5565b810181811067ffffffffffffffff821117156102cb576102ca610276565b5b80604052505050565b5f6102dd61025d565b90506102e982826102a3565b919050565b5f67ffffffffffffffff82111561030857610307610276565b5b610311826101f5565b9050602081019050919050565b828183375f83830152505050565b5f61033e610339846102ee565b6102d4565b90508281526020810184848401111561035a57610359610272565b5b61036584828561031e565b509392505050565b5f82601f8301126103815761038061026e565b5b813561039184826020860161032c565b91505092915050565b5f602082840312156103af576103ae610266565b5b5f82013567ffffffffffffffff8111156103cc576103cb61026a565b5b6103d88482850161036d565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061042557607f821691505b602082108103610438576104376103e1565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261049a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261045f565b6104a4868361045f565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6104e86104e36104de846104bc565b6104c5565b6104bc565b9050919050565b5f819050919050565b610501836104ce565b61051561050d826104ef565b84845461046b565b825550505050565b5f5f905090565b61052c61051d565b6105378184846104f8565b505050565b5b8181101561055a5761054f5f82610524565b60018101905061053d565b5050565b601f82111561059f576105708161043e565b61057984610450565b81016020851015610588578190505b61059c61059485610450565b83018261053c565b50505b505050565b5f82821c905092915050565b5f6105bf5f19846008026105a4565b1980831691505092915050565b5f6105d783836105b0565b9150826002028217905092915050565b6105f0826101cd565b67ffffffffffffffff81111561060957610608610276565b5b610613825461040e565b61061e82828561055e565b5f60209050601f83116001811461064f575f841561063d578287015190505b61064785826105cc565b8655506106ae565b601f19841661065d8661043e565b5f5b828110156106845784890151825560018201915060208501945060208101905061065f565b868310156106a1578489015161069d601f8916826105b0565b8355505b6001600288020188555050505b50505050505056fea2646970667358221220c78761f5dd632fbb96c0913612aa124af03e2e3649e0fe6988c1e80ec11f13e564736f6c634300081b0033"  # noqa: E501
+BYTES_CONTRACT_BYTECODE = "0x60806040526040518060400160405280600281526020017f01230000000000000000000000000000000000000000000000000000000000008152505f908161004791906102c8565b50348015610053575f5ffd5b50604051610cd0380380610cd0833981810160405281019061007591906104b7565b80600190816100849190610508565b50506105d7565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061010657607f821691505b602082108103610119576101186100c2565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261017b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610140565b6101858683610140565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6101c96101c46101bf8461019d565b6101a6565b61019d565b9050919050565b5f819050919050565b6101e2836101af565b6101f66101ee826101d0565b84845461014c565b825550505050565b5f5f905090565b61020d6101fe565b6102188184846101d9565b505050565b5b8181101561023b576102305f82610205565b60018101905061021e565b5050565b601f821115610280576102518161011f565b61025a84610131565b81016020851015610269578190505b61027d61027585610131565b83018261021d565b50505b505050565b5f82821c905092915050565b5f6102a05f1984600802610285565b1980831691505092915050565b5f6102b88383610291565b9150826002028217905092915050565b6102d18261008b565b67ffffffffffffffff8111156102ea576102e9610095565b5b6102f482546100ef565b6102ff82828561023f565b5f60209050601f831160018114610330575f841561031e578287015190505b61032885826102ad565b86555061038f565b601f19841661033e8661011f565b5f5b8281101561036557848901518255600182019150602085019450602081019050610340565b86831015610382578489015161037e601f891682610291565b8355505b6001600288020188555050505b505050505050565b5f604051905090565b5f5ffd5b5f5ffd5b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b6103c9826103b0565b810181811067ffffffffffffffff821117156103e8576103e7610095565b5b80604052505050565b5f6103fa610397565b905061040682826103c0565b919050565b5f67ffffffffffffffff82111561042557610424610095565b5b61042e826103b0565b9050602081019050919050565b8281835e5f83830152505050565b5f61045b6104568461040b565b6103f1565b905082815260208101848484011115610477576104766103ac565b5b61048284828561043b565b509392505050565b5f82601f83011261049e5761049d6103a8565b5b81516104ae848260208601610449565b91505092915050565b5f602082840312156104cc576104cb6103a0565b5b5f82015167ffffffffffffffff8111156104e9576104e86103a4565b5b6104f58482850161048a565b91505092915050565b5f81519050919050565b610511826104fe565b67ffffffffffffffff81111561052a57610529610095565b5b61053482546100ef565b61053f82828561023f565b5f60209050601f831160018114610570575f841561055e578287015190505b61056885826102ad565b8655506105cf565b601f19841661057e8661011f565b5f5b828110156105a557848901518255600182019150602085019450602081019050610580565b868310156105c257848901516105be601f891682610291565b8355505b6001600288020188555050505b505050505050565b6106ec806105e45f395ff3fe608060405234801561000f575f5ffd5b506004361061003f575f3560e01c8063209652551461004357806330de3cee14610061578063439970aa1461007f575b5f5ffd5b61004b61009b565b604051610058919061023d565b60405180910390f35b61006961012b565b604051610076919061023d565b60405180910390f35b6100996004803603810190610094919061039a565b6101ba565b005b6060600180546100aa9061040e565b80601f01602080910402602001604051908101604052809291908181526020018280546100d69061040e565b80156101215780601f106100f857610100808354040283529160200191610121565b820191905f5260205f20905b81548152906001019060200180831161010457829003601f168201915b5050505050905090565b60605f80546101399061040e565b80601f01602080910402602001604051908101604052809291908181526020018280546101659061040e565b80156101b05780601f10610187576101008083540402835291602001916101b0565b820191905f5260205f20905b81548152906001019060200180831161019357829003601f168201915b5050505050905090565b80600190816101c991906105e7565b5050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61020f826101cd565b61021981856101d7565b93506102298185602086016101e7565b610232816101f5565b840191505092915050565b5f6020820190508181035f8301526102558184610205565b905092915050565b5f604051905090565b5f5ffd5b5f5ffd5b5f5ffd5b5f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6102ac826101f5565b810181811067ffffffffffffffff821117156102cb576102ca610276565b5b80604052505050565b5f6102dd61025d565b90506102e982826102a3565b919050565b5f67ffffffffffffffff82111561030857610307610276565b5b610311826101f5565b9050602081019050919050565b828183375f83830152505050565b5f61033e610339846102ee565b6102d4565b90508281526020810184848401111561035a57610359610272565b5b61036584828561031e565b509392505050565b5f82601f8301126103815761038061026e565b5b813561039184826020860161032c565b91505092915050565b5f602082840312156103af576103ae610266565b5b5f82013567ffffffffffffffff8111156103cc576103cb61026a565b5b6103d88482850161036d565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061042557607f821691505b602082108103610438576104376103e1565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261049a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261045f565b6104a4868361045f565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6104e86104e36104de846104bc565b6104c5565b6104bc565b9050919050565b5f819050919050565b610501836104ce565b61051561050d826104ef565b84845461046b565b825550505050565b5f5f905090565b61052c61051d565b6105378184846104f8565b505050565b5b8181101561055a5761054f5f82610524565b60018101905061053d565b5050565b601f82111561059f576105708161043e565b61057984610450565b81016020851015610588578190505b61059c61059485610450565b83018261053c565b50505b505050565b5f82821c905092915050565b5f6105bf5f19846008026105a4565b1980831691505092915050565b5f6105d783836105b0565b9150826002028217905092915050565b6105f0826101cd565b67ffffffffffffffff81111561060957610608610276565b5b610613825461040e565b61061e82828561055e565b5f60209050601f83116001811461064f575f841561063d578287015190505b61064785826105cc565b8655506106ae565b601f19841661065d8661043e565b5f5b828110156106845784890151825560018201915060208501945060208101905061065f565b868310156106a1578489015161069d601f8916826105b0565b8355505b6001600288020188555050505b50505050505056fea2646970667358221220d7fc84ca75eba4ce54021b404daca027fbd3005316e3bcf2828111114d037e4464736f6c634300081c0033"  # noqa: E501
+BYTES_CONTRACT_RUNTIME = "0x608060405234801561000f575f5ffd5b506004361061003f575f3560e01c8063209652551461004357806330de3cee14610061578063439970aa1461007f575b5f5ffd5b61004b61009b565b604051610058919061023d565b60405180910390f35b61006961012b565b604051610076919061023d565b60405180910390f35b6100996004803603810190610094919061039a565b6101ba565b005b6060600180546100aa9061040e565b80601f01602080910402602001604051908101604052809291908181526020018280546100d69061040e565b80156101215780601f106100f857610100808354040283529160200191610121565b820191905f5260205f20905b81548152906001019060200180831161010457829003601f168201915b5050505050905090565b60605f80546101399061040e565b80601f01602080910402602001604051908101604052809291908181526020018280546101659061040e565b80156101b05780601f10610187576101008083540402835291602001916101b0565b820191905f5260205f20905b81548152906001019060200180831161019357829003601f168201915b5050505050905090565b80600190816101c991906105e7565b5050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61020f826101cd565b61021981856101d7565b93506102298185602086016101e7565b610232816101f5565b840191505092915050565b5f6020820190508181035f8301526102558184610205565b905092915050565b5f604051905090565b5f5ffd5b5f5ffd5b5f5ffd5b5f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6102ac826101f5565b810181811067ffffffffffffffff821117156102cb576102ca610276565b5b80604052505050565b5f6102dd61025d565b90506102e982826102a3565b919050565b5f67ffffffffffffffff82111561030857610307610276565b5b610311826101f5565b9050602081019050919050565b828183375f83830152505050565b5f61033e610339846102ee565b6102d4565b90508281526020810184848401111561035a57610359610272565b5b61036584828561031e565b509392505050565b5f82601f8301126103815761038061026e565b5b813561039184826020860161032c565b91505092915050565b5f602082840312156103af576103ae610266565b5b5f82013567ffffffffffffffff8111156103cc576103cb61026a565b5b6103d88482850161036d565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061042557607f821691505b602082108103610438576104376103e1565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261049a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261045f565b6104a4868361045f565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6104e86104e36104de846104bc565b6104c5565b6104bc565b9050919050565b5f819050919050565b610501836104ce565b61051561050d826104ef565b84845461046b565b825550505050565b5f5f905090565b61052c61051d565b6105378184846104f8565b505050565b5b8181101561055a5761054f5f82610524565b60018101905061053d565b5050565b601f82111561059f576105708161043e565b61057984610450565b81016020851015610588578190505b61059c61059485610450565b83018261053c565b50505b505050565b5f82821c905092915050565b5f6105bf5f19846008026105a4565b1980831691505092915050565b5f6105d783836105b0565b9150826002028217905092915050565b6105f0826101cd565b67ffffffffffffffff81111561060957610608610276565b5b610613825461040e565b61061e82828561055e565b5f60209050601f83116001811461064f575f841561063d578287015190505b61064785826105cc565b8655506106ae565b601f19841661065d8661043e565b5f5b828110156106845784890151825560018201915060208501945060208101905061065f565b868310156106a1578489015161069d601f8916826105b0565b8355505b6001600288020188555050505b50505050505056fea2646970667358221220d7fc84ca75eba4ce54021b404daca027fbd3005316e3bcf2828111114d037e4464736f6c634300081c0033"  # noqa: E501
 BYTES_CONTRACT_ABI = [
     {
         "inputs": [{"internalType": "bytes", "name": "_value", "type": "bytes"}],
@@ -42,8 +42,8 @@
 
 
 # source: web3/_utils/contract_sources/BytesContracts.sol:Bytes32Contract
-BYTES32_CONTRACT_BYTECODE = "0x60806040527f01230123012301230123012301230123012301230123012301230123012301235f553480156031575f5ffd5b50604051610238380380610238833981810160405281019060519190608f565b806001819055505060b5565b5f5ffd5b5f819050919050565b6071816061565b8114607a575f5ffd5b50565b5f81519050608981606a565b92915050565b5f6020828403121560a15760a0605d565b5b5f60ac84828501607d565b91505092915050565b610176806100c25f395ff3fe608060405234801561000f575f5ffd5b506004361061003f575f3560e01c8063209652551461004357806330de3cee1461006157806358825b101461007f575b5f5ffd5b61004b61009b565b60405161005891906100ce565b60405180910390f35b6100696100a4565b60405161007691906100ce565b60405180910390f35b61009960048036038101906100949190610115565b6100ac565b005b5f600154905090565b5f5f54905090565b8060018190555050565b5f819050919050565b6100c8816100b6565b82525050565b5f6020820190506100e15f8301846100bf565b92915050565b5f5ffd5b6100f4816100b6565b81146100fe575f5ffd5b50565b5f8135905061010f816100eb565b92915050565b5f6020828403121561012a576101296100e7565b5b5f61013784828501610101565b9150509291505056fea2646970667358221220e6edc49e9e9aee19bfd740dba0a81ba19a09999338eaa5607f07ca475d11ec3e64736f6c634300081b0033"  # noqa: E501
-BYTES32_CONTRACT_RUNTIME = "0x608060405234801561000f575f5ffd5b506004361061003f575f3560e01c8063209652551461004357806330de3cee1461006157806358825b101461007f575b5f5ffd5b61004b61009b565b60405161005891906100ce565b60405180910390f35b6100696100a4565b60405161007691906100ce565b60405180910390f35b61009960048036038101906100949190610115565b6100ac565b005b5f600154905090565b5f5f54905090565b8060018190555050565b5f819050919050565b6100c8816100b6565b82525050565b5f6020820190506100e15f8301846100bf565b92915050565b5f5ffd5b6100f4816100b6565b81146100fe575f5ffd5b50565b5f8135905061010f816100eb565b92915050565b5f6020828403121561012a576101296100e7565b5b5f61013784828501610101565b9150509291505056fea2646970667358221220e6edc49e9e9aee19bfd740dba0a81ba19a09999338eaa5607f07ca475d11ec3e64736f6c634300081b0033"  # noqa: E501
+BYTES32_CONTRACT_BYTECODE = "0x60806040527f01230123012301230123012301230123012301230123012301230123012301235f553480156031575f5ffd5b50604051610238380380610238833981810160405281019060519190608f565b806001819055505060b5565b5f5ffd5b5f819050919050565b6071816061565b8114607a575f5ffd5b50565b5f81519050608981606a565b92915050565b5f6020828403121560a15760a0605d565b5b5f60ac84828501607d565b91505092915050565b610176806100c25f395ff3fe608060405234801561000f575f5ffd5b506004361061003f575f3560e01c8063209652551461004357806330de3cee1461006157806358825b101461007f575b5f5ffd5b61004b61009b565b60405161005891906100ce565b60405180910390f35b6100696100a4565b60405161007691906100ce565b60405180910390f35b61009960048036038101906100949190610115565b6100ac565b005b5f600154905090565b5f5f54905090565b8060018190555050565b5f819050919050565b6100c8816100b6565b82525050565b5f6020820190506100e15f8301846100bf565b92915050565b5f5ffd5b6100f4816100b6565b81146100fe575f5ffd5b50565b5f8135905061010f816100eb565b92915050565b5f6020828403121561012a576101296100e7565b5b5f61013784828501610101565b9150509291505056fea2646970667358221220a2aa7e81098ae49b2165786f55c8c20ac2a05cfe97bae9716c7231d35b8ba0aa64736f6c634300081c0033"  # noqa: E501
+BYTES32_CONTRACT_RUNTIME = "0x608060405234801561000f575f5ffd5b506004361061003f575f3560e01c8063209652551461004357806330de3cee1461006157806358825b101461007f575b5f5ffd5b61004b61009b565b60405161005891906100ce565b60405180910390f35b6100696100a4565b60405161007691906100ce565b60405180910390f35b61009960048036038101906100949190610115565b6100ac565b005b5f600154905090565b5f5f54905090565b8060018190555050565b5f819050919050565b6100c8816100b6565b82525050565b5f6020820190506100e15f8301846100bf565b92915050565b5f5ffd5b6100f4816100b6565b81146100fe575f5ffd5b50565b5f8135905061010f816100eb565b92915050565b5f6020828403121561012a576101296100e7565b5b5f61013784828501610101565b9150509291505056fea2646970667358221220a2aa7e81098ae49b2165786f55c8c20ac2a05cfe97bae9716c7231d35b8ba0aa64736f6c634300081c0033"  # noqa: E501
 BYTES32_CONTRACT_ABI = [
     {
         "inputs": [{"internalType": "bytes32", "name": "_value", "type": "bytes32"}],
diff --git a/web3/_utils/contract_sources/contract_data/constructor_contracts.py b/web3/_utils/contract_sources/contract_data/constructor_contracts.py
index fd0dcef503..2a7ee93900 100644
--- a/web3/_utils/contract_sources/contract_data/constructor_contracts.py
+++ b/web3/_utils/contract_sources/contract_data/constructor_contracts.py
@@ -1,11 +1,11 @@
 """
 Generated by `compile_contracts.py` script.
-Compiled with Solidity v0.8.27.
+Compiled with Solidity v0.8.28.
 """
 
 # source: web3/_utils/contract_sources/ConstructorContracts.sol:SimpleConstructorContract  # noqa: E501
-SIMPLE_CONSTRUCTOR_CONTRACT_BYTECODE = "0x6080604052348015600e575f5ffd5b50603e80601a5f395ff3fe60806040525f5ffdfea2646970667358221220e31b6005899a2ff5e90521e03928d032bf31062e970df6e4ab66656622c0396564736f6c634300081b0033"  # noqa: E501
-SIMPLE_CONSTRUCTOR_CONTRACT_RUNTIME = "0x60806040525f5ffdfea2646970667358221220e31b6005899a2ff5e90521e03928d032bf31062e970df6e4ab66656622c0396564736f6c634300081b0033"  # noqa: E501
+SIMPLE_CONSTRUCTOR_CONTRACT_BYTECODE = "0x6080604052348015600e575f5ffd5b50603e80601a5f395ff3fe60806040525f5ffdfea2646970667358221220df01c9a31fc18a19ea719e1d18fc4d66344d5c756e88f9299bd5149c4796b32164736f6c634300081c0033"  # noqa: E501
+SIMPLE_CONSTRUCTOR_CONTRACT_RUNTIME = "0x60806040525f5ffdfea2646970667358221220df01c9a31fc18a19ea719e1d18fc4d66344d5c756e88f9299bd5149c4796b32164736f6c634300081c0033"  # noqa: E501
 SIMPLE_CONSTRUCTOR_CONTRACT_ABI = [
     {"inputs": [], "stateMutability": "nonpayable", "type": "constructor"}
 ]
@@ -17,8 +17,8 @@
 
 
 # source: web3/_utils/contract_sources/ConstructorContracts.sol:ConstructorWithArgumentsContract  # noqa: E501
-CONSTRUCTOR_WITH_ARGUMENTS_CONTRACT_BYTECODE = "0x6080604052348015600e575f5ffd5b506040516101e83803806101e88339818101604052810190602e919060a1565b815f8190555080600181905550505060d8565b5f5ffd5b5f819050919050565b6055816045565b8114605e575f5ffd5b50565b5f81519050606d81604e565b92915050565b5f819050919050565b6083816073565b8114608c575f5ffd5b50565b5f81519050609b81607c565b92915050565b5f5f6040838503121560b45760b36041565b5b5f60bf858286016061565b925050602060ce85828601608f565b9150509250929050565b610103806100e55f395ff3fe6080604052348015600e575f5ffd5b50600436106030575f3560e01c806388ec1346146034578063d4c46c7614604e575b5f5ffd5b603a6068565b604051604591906089565b60405180910390f35b6054606d565b604051605f919060b6565b60405180910390f35b5f5481565b60015481565b5f819050919050565b6083816073565b82525050565b5f602082019050609a5f830184607c565b92915050565b5f819050919050565b60b08160a0565b82525050565b5f60208201905060c75f83018460a9565b9291505056fea2646970667358221220772926ed0ddca9d655feb2231f8411d45518fd18d188fa22b56600b186de129864736f6c634300081b0033"  # noqa: E501
-CONSTRUCTOR_WITH_ARGUMENTS_CONTRACT_RUNTIME = "0x6080604052348015600e575f5ffd5b50600436106030575f3560e01c806388ec1346146034578063d4c46c7614604e575b5f5ffd5b603a6068565b604051604591906089565b60405180910390f35b6054606d565b604051605f919060b6565b60405180910390f35b5f5481565b60015481565b5f819050919050565b6083816073565b82525050565b5f602082019050609a5f830184607c565b92915050565b5f819050919050565b60b08160a0565b82525050565b5f60208201905060c75f83018460a9565b9291505056fea2646970667358221220772926ed0ddca9d655feb2231f8411d45518fd18d188fa22b56600b186de129864736f6c634300081b0033"  # noqa: E501
+CONSTRUCTOR_WITH_ARGUMENTS_CONTRACT_BYTECODE = "0x6080604052348015600e575f5ffd5b506040516101e83803806101e88339818101604052810190602e919060a1565b815f8190555080600181905550505060d8565b5f5ffd5b5f819050919050565b6055816045565b8114605e575f5ffd5b50565b5f81519050606d81604e565b92915050565b5f819050919050565b6083816073565b8114608c575f5ffd5b50565b5f81519050609b81607c565b92915050565b5f5f6040838503121560b45760b36041565b5b5f60bf858286016061565b925050602060ce85828601608f565b9150509250929050565b610103806100e55f395ff3fe6080604052348015600e575f5ffd5b50600436106030575f3560e01c806388ec1346146034578063d4c46c7614604e575b5f5ffd5b603a6068565b604051604591906089565b60405180910390f35b6054606d565b604051605f919060b6565b60405180910390f35b5f5481565b60015481565b5f819050919050565b6083816073565b82525050565b5f602082019050609a5f830184607c565b92915050565b5f819050919050565b60b08160a0565b82525050565b5f60208201905060c75f83018460a9565b9291505056fea26469706673582212201f46d54b04393fed54ec949ca12e1cb40ae64c516fd6a2389eaddfd9f5b44a7764736f6c634300081c0033"  # noqa: E501
+CONSTRUCTOR_WITH_ARGUMENTS_CONTRACT_RUNTIME = "0x6080604052348015600e575f5ffd5b50600436106030575f3560e01c806388ec1346146034578063d4c46c7614604e575b5f5ffd5b603a6068565b604051604591906089565b60405180910390f35b6054606d565b604051605f919060b6565b60405180910390f35b5f5481565b60015481565b5f819050919050565b6083816073565b82525050565b5f602082019050609a5f830184607c565b92915050565b5f819050919050565b60b08160a0565b82525050565b5f60208201905060c75f83018460a9565b9291505056fea26469706673582212201f46d54b04393fed54ec949ca12e1cb40ae64c516fd6a2389eaddfd9f5b44a7764736f6c634300081c0033"  # noqa: E501
 CONSTRUCTOR_WITH_ARGUMENTS_CONTRACT_ABI = [
     {
         "inputs": [
@@ -51,8 +51,8 @@
 
 
 # source: web3/_utils/contract_sources/ConstructorContracts.sol:ConstructorWithAddressArgumentContract  # noqa: E501
-CONSTRUCTOR_WITH_ADDRESS_ARGUMENT_CONTRACT_BYTECODE = "0x608060405234801561000f575f5ffd5b506040516101fb3803806101fb833981810160405281019061003191906100d4565b805f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506100ff565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100a38261007a565b9050919050565b6100b381610099565b81146100bd575f5ffd5b50565b5f815190506100ce816100aa565b92915050565b5f602082840312156100e9576100e8610076565b5b5f6100f6848285016100c0565b91505092915050565b60f08061010b5f395ff3fe6080604052348015600e575f5ffd5b50600436106026575f3560e01c806334664e3a14602a575b5f5ffd5b60306044565b604051603b919060a3565b60405180910390f35b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f608f826068565b9050919050565b609d816087565b82525050565b5f60208201905060b45f8301846096565b9291505056fea26469706673582212208a4b676b8c3bc5e873958853ea582d5a9d05ef6d111546744a99e4c6bd5798ca64736f6c634300081b0033"  # noqa: E501
-CONSTRUCTOR_WITH_ADDRESS_ARGUMENT_CONTRACT_RUNTIME = "0x6080604052348015600e575f5ffd5b50600436106026575f3560e01c806334664e3a14602a575b5f5ffd5b60306044565b604051603b919060a3565b60405180910390f35b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f608f826068565b9050919050565b609d816087565b82525050565b5f60208201905060b45f8301846096565b9291505056fea26469706673582212208a4b676b8c3bc5e873958853ea582d5a9d05ef6d111546744a99e4c6bd5798ca64736f6c634300081b0033"  # noqa: E501
+CONSTRUCTOR_WITH_ADDRESS_ARGUMENT_CONTRACT_BYTECODE = "0x608060405234801561000f575f5ffd5b506040516101fb3803806101fb833981810160405281019061003191906100d4565b805f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506100ff565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100a38261007a565b9050919050565b6100b381610099565b81146100bd575f5ffd5b50565b5f815190506100ce816100aa565b92915050565b5f602082840312156100e9576100e8610076565b5b5f6100f6848285016100c0565b91505092915050565b60f08061010b5f395ff3fe6080604052348015600e575f5ffd5b50600436106026575f3560e01c806334664e3a14602a575b5f5ffd5b60306044565b604051603b919060a3565b60405180910390f35b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f608f826068565b9050919050565b609d816087565b82525050565b5f60208201905060b45f8301846096565b9291505056fea26469706673582212200a9aedb6784310dc7b4f8c2c0097e16d4a1e84b6de3acacc7384858a4e705e3f64736f6c634300081c0033"  # noqa: E501
+CONSTRUCTOR_WITH_ADDRESS_ARGUMENT_CONTRACT_RUNTIME = "0x6080604052348015600e575f5ffd5b50600436106026575f3560e01c806334664e3a14602a575b5f5ffd5b60306044565b604051603b919060a3565b60405180910390f35b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f608f826068565b9050919050565b609d816087565b82525050565b5f60208201905060b45f8301846096565b9291505056fea26469706673582212200a9aedb6784310dc7b4f8c2c0097e16d4a1e84b6de3acacc7384858a4e705e3f64736f6c634300081c0033"  # noqa: E501
 CONSTRUCTOR_WITH_ADDRESS_ARGUMENT_CONTRACT_ABI = [
     {
         "inputs": [{"internalType": "address", "name": "_testAddr", "type": "address"}],
diff --git a/web3/_utils/contract_sources/contract_data/emitter_contract.py b/web3/_utils/contract_sources/contract_data/emitter_contract.py
index 6d02ff24d7..2571c29946 100644
--- a/web3/_utils/contract_sources/contract_data/emitter_contract.py
+++ b/web3/_utils/contract_sources/contract_data/emitter_contract.py
@@ -1,11 +1,11 @@
 """
 Generated by `compile_contracts.py` script.
-Compiled with Solidity v0.8.27.
+Compiled with Solidity v0.8.28.
 """
 
 # source: web3/_utils/contract_sources/EmitterContract.sol:EmitterContract
-EMITTER_CONTRACT_BYTECODE = "0x6080604052348015600e575f5ffd5b506118238061001c5f395ff3fe608060405234801561000f575f5ffd5b50600436106100cd575f3560e01c8063966b50e01161008a578063acabb9ed11610064578063acabb9ed146101cd578063b2ddc449146101e9578063e17bf95614610205578063f82ef69e14610221576100cd565b8063966b50e0146101795780639c37705314610195578063aa6fd822146101b1576100cd565b80630bb563d6146100d157806317c0c180146100ed57806320f0256e146101095780632c0e6fde146101255780635da86c171461014157806390b41d8b1461015d575b5f5ffd5b6100eb60048036038101906100e69190610b73565b61023d565b005b61010760048036038101906101029190610bdd565b610277565b005b610123600480360381019061011e9190610c3b565b61034e565b005b61013f600480360381019061013a9190610d0c565b61046b565b005b61015b60048036038101906101569190610e3d565b6104c5565b005b61017760048036038101906101729190610e7b565b610502565b005b610193600480360381019061018e9190610fe4565b61065f565b005b6101af60048036038101906101aa919061105a565b6106b0565b005b6101cb60048036038101906101c691906110be565b6107c8565b005b6101e760048036038101906101e291906110fc565b61090c565b005b61020360048036038101906101fe9190611172565b61095d565b005b61021f600480360381019061021a919061124e565b6109af565b005b61023b60048036038101906102369190611172565b6109e9565b005b7fa95e6e2a182411e7a6f9ed114a85c3761d87f9b8f453d842c71235aa64fff99f8160405161026c91906112f5565b60405180910390a150565b6001601381111561028b5761028a611315565b5b81601381111561029e5761029d611315565b5b036102d4577f1e86022f78f8d04f8e3dfd13a2bdb280403e6632877c0dbee5e4eeb259908a5c60405160405180910390a161034b565b5f60138111156102e7576102e6611315565b5b8160138111156102fa576102f9611315565b5b0361030f5760405160405180910390a061034a565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610341906113b2565b60405180910390fd5b5b50565b6005601381111561036257610361611315565b5b85601381111561037557610374611315565b5b036103bc577ff039d147f23fe975a4254bdf6b1502b8c79132ae1833986b7ccef2638e73fdf9848484846040516103af94939291906113df565b60405180910390a1610464565b600b60138111156103d0576103cf611315565b5b8560138111156103e3576103e2611315565b5b036104285780827fa30ece802b64cd2b7e57dabf4010aabf5df26d1556977affb07b98a77ad955b5868660405161041b929190611422565b60405180910390a3610463565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045a906113b2565b60405180910390fd5b5b5050505050565b838573ffffffffffffffffffffffffffffffffffffffff167fd5adc9babd0133de6cececc75e340da3fc18ae5ccab91bc1c03ff3b194f9a3c18585856040516104b693929190611458565b60405180910390a35050505050565b7f8ccce2523cca5f3851d20df50b5a59509bc4ac7d9ddba344f5e331969d09b8e782826040516104f69291906114fd565b60405180910390a15050565b6003601381111561051657610515611315565b5b83601381111561052957610528611315565b5b0361056c577fdf0cb1dea99afceb3ea698d62e705b736f1345a7eee9eb07e63d1f8f556c1bc5828260405161055f929190611422565b60405180910390a161065a565b600960138111156105805761057f611315565b5b83601381111561059357610592611315565b5b036105d557807f057bc32826fbe161da1c110afcdcae7c109a8b69149f727fc37a603c60ef94ca836040516105c89190611524565b60405180910390a2610659565b600860138111156105e9576105e8611315565b5b8360138111156105fc576105fb611315565b5b0361061d5780826040516106109190611524565b60405180910390a1610658565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064f906113b2565b60405180910390fd5b5b5b505050565b8160405161066d91906115ee565b60405180910390207fdbc4c1d1d2f0d84e58d36ca767ec9ba2ec2f933c055e50e5ccdd57697f7b58b0826040516106a49190611696565b60405180910390a25050565b600460138111156106c4576106c3611315565b5b8460138111156106d7576106d6611315565b5b0361071c577f4a25b279c7c585f25eda9788ac9420ebadae78ca6b206a0e6ab488fd81f5506283838360405161070f939291906116b6565b60405180910390a16107c2565b600a60138111156107305761072f611315565b5b84601381111561074357610742611315565b5b036107865780827ff16c999b533366ca5138d78e85da51611089cd05749f098d6c225d4cd42ee6ec856040516107799190611524565b60405180910390a36107c1565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b8906113b2565b60405180910390fd5b5b50505050565b600260138111156107dc576107db611315565b5b8260138111156107ef576107ee611315565b5b03610830577f56d2ef3c5228bf5d88573621e325a4672ab50e033749a601e4f4a5e1dce905d4816040516108239190611524565b60405180910390a1610908565b6007601381111561084457610843611315565b5b82601381111561085757610856611315565b5b0361088e57807ff70fe689e290d8ce2b2a388ac28db36fbb0e16a6d89c6804c461f65a1b40bb1560405160405180910390a2610907565b600660138111156108a2576108a1611315565b5b8260138111156108b5576108b4611315565b5b036108cb578060405160405180910390a1610906565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108fd906113b2565b60405180910390fd5b5b5b5050565b8160405161091a9190611725565b60405180910390207fe77cf33df73da7bc2e253a2dae617e6f15e4e337eaa462a108903af4643d1b758260405161095191906112f5565b60405180910390a25050565b8173ffffffffffffffffffffffffffffffffffffffff167ff922c215689548d72c3d2fe4ea8dafb2a30c43312c9b43fe5d10f713181f991c826040516109a3919061173b565b60405180910390a25050565b7f532fd6ea96cfb78bb46e09279a26828b8b493de1a2b8b1ee1face527978a15a5816040516109de91906117a6565b60405180910390a150565b7f06029e18f16caae06a69281f35b00ed3fcf47950e6c99dafa1bdd8c4b93479a08282604051610a1a9291906117c6565b60405180910390a15050565b5f604051905090565b5f5ffd5b5f5ffd5b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610a8582610a3f565b810181811067ffffffffffffffff82111715610aa457610aa3610a4f565b5b80604052505050565b5f610ab6610a26565b9050610ac28282610a7c565b919050565b5f67ffffffffffffffff821115610ae157610ae0610a4f565b5b610aea82610a3f565b9050602081019050919050565b828183375f83830152505050565b5f610b17610b1284610ac7565b610aad565b905082815260208101848484011115610b3357610b32610a3b565b5b610b3e848285610af7565b509392505050565b5f82601f830112610b5a57610b59610a37565b5b8135610b6a848260208601610b05565b91505092915050565b5f60208284031215610b8857610b87610a2f565b5b5f82013567ffffffffffffffff811115610ba557610ba4610a33565b5b610bb184828501610b46565b91505092915050565b60148110610bc6575f5ffd5b50565b5f81359050610bd781610bba565b92915050565b5f60208284031215610bf257610bf1610a2f565b5b5f610bff84828501610bc9565b91505092915050565b5f819050919050565b610c1a81610c08565b8114610c24575f5ffd5b50565b5f81359050610c3581610c11565b92915050565b5f5f5f5f5f60a08688031215610c5457610c53610a2f565b5b5f610c6188828901610bc9565b9550506020610c7288828901610c27565b9450506040610c8388828901610c27565b9350506060610c9488828901610c27565b9250506080610ca588828901610c27565b9150509295509295909350565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610cdb82610cb2565b9050919050565b610ceb81610cd1565b8114610cf5575f5ffd5b50565b5f81359050610d0681610ce2565b92915050565b5f5f5f5f5f60a08688031215610d2557610d24610a2f565b5b5f610d3288828901610cf8565b9550506020610d4388828901610c27565b9450506040610d5488828901610cf8565b9350506060610d6588828901610c27565b925050608086013567ffffffffffffffff811115610d8657610d85610a33565b5b610d9288828901610b46565b9150509295509295909350565b5f5ffd5b5f60208284031215610db857610db7610d9f565b5b610dc26020610aad565b90505f610dd184828501610c27565b5f8301525092915050565b5f60608284031215610df157610df0610d9f565b5b610dfb6060610aad565b90505f610e0a84828501610c27565b5f830152506020610e1d84828501610c27565b6020830152506040610e3184828501610da3565b60408301525092915050565b5f5f60808385031215610e5357610e52610a2f565b5b5f610e6085828601610c27565b9250506020610e7185828601610ddc565b9150509250929050565b5f5f5f60608486031215610e9257610e91610a2f565b5b5f610e9f86828701610bc9565b9350506020610eb086828701610c27565b9250506040610ec186828701610c27565b9150509250925092565b5f67ffffffffffffffff821115610ee557610ee4610a4f565b5b602082029050602081019050919050565b5f5ffd5b5f7fffff00000000000000000000000000000000000000000000000000000000000082169050919050565b610f2e81610efa565b8114610f38575f5ffd5b50565b5f81359050610f4981610f25565b92915050565b5f610f61610f5c84610ecb565b610aad565b90508083825260208201905060208402830185811115610f8457610f83610ef6565b5b835b81811015610fad5780610f998882610f3b565b845260208401935050602081019050610f86565b5050509392505050565b5f82601f830112610fcb57610fca610a37565b5b8135610fdb848260208601610f4f565b91505092915050565b5f5f60408385031215610ffa57610ff9610a2f565b5b5f83013567ffffffffffffffff81111561101757611016610a33565b5b61102385828601610fb7565b925050602083013567ffffffffffffffff81111561104457611043610a33565b5b61105085828601610fb7565b9150509250929050565b5f5f5f5f6080858703121561107257611071610a2f565b5b5f61107f87828801610bc9565b945050602061109087828801610c27565b93505060406110a187828801610c27565b92505060606110b287828801610c27565b91505092959194509250565b5f5f604083850312156110d4576110d3610a2f565b5b5f6110e185828601610bc9565b92505060206110f285828601610c27565b9150509250929050565b5f5f6040838503121561111257611111610a2f565b5b5f83013567ffffffffffffffff81111561112f5761112e610a33565b5b61113b85828601610b46565b925050602083013567ffffffffffffffff81111561115c5761115b610a33565b5b61116885828601610b46565b9150509250929050565b5f5f6040838503121561118857611187610a2f565b5b5f61119585828601610cf8565b92505060206111a685828601610cf8565b9150509250929050565b5f67ffffffffffffffff8211156111ca576111c9610a4f565b5b6111d382610a3f565b9050602081019050919050565b5f6111f26111ed846111b0565b610aad565b90508281526020810184848401111561120e5761120d610a3b565b5b611219848285610af7565b509392505050565b5f82601f83011261123557611234610a37565b5b81356112458482602086016111e0565b91505092915050565b5f6020828403121561126357611262610a2f565b5b5f82013567ffffffffffffffff8111156112805761127f610a33565b5b61128c84828501611221565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f6112c782611295565b6112d1818561129f565b93506112e18185602086016112af565b6112ea81610a3f565b840191505092915050565b5f6020820190508181035f83015261130d81846112bd565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b7f4469646e2774206d6174636820616e7920616c6c6f7761626c65206576656e745f8201527f20696e6465780000000000000000000000000000000000000000000000000000602082015250565b5f61139c60268361129f565b91506113a782611342565b604082019050919050565b5f6020820190508181035f8301526113c981611390565b9050919050565b6113d981610c08565b82525050565b5f6080820190506113f25f8301876113d0565b6113ff60208301866113d0565b61140c60408301856113d0565b61141960608301846113d0565b95945050505050565b5f6040820190506114355f8301856113d0565b61144260208301846113d0565b9392505050565b61145281610cd1565b82525050565b5f60608201905061146b5f830186611449565b61147860208301856113d0565b818103604083015261148a81846112bd565b9050949350505050565b61149d81610c08565b82525050565b602082015f8201516114b75f850182611494565b50505050565b606082015f8201516114d15f850182611494565b5060208201516114e46020850182611494565b5060408201516114f760408501826114a3565b50505050565b5f6080820190506115105f8301856113d0565b61151d60208301846114bd565b9392505050565b5f6020820190506115375f8301846113d0565b92915050565b5f81519050919050565b5f81905092915050565b5f819050602082019050919050565b61156981610efa565b82525050565b5f61157a8383611560565b60208301905092915050565b5f602082019050919050565b5f61159c8261153d565b6115a68185611547565b93506115b183611551565b805f5b838110156115e15781516115c8888261156f565b97506115d383611586565b9250506001810190506115b4565b5085935050505092915050565b5f6115f98284611592565b915081905092915050565b5f82825260208201905092915050565b61161d81610efa565b82525050565b5f61162e8383611614565b60208301905092915050565b5f6116448261153d565b61164e8185611604565b935061165983611551565b805f5b838110156116895781516116708882611623565b975061167b83611586565b92505060018101905061165c565b5085935050505092915050565b5f6020820190508181035f8301526116ae818461163a565b905092915050565b5f6060820190506116c95f8301866113d0565b6116d660208301856113d0565b6116e360408301846113d0565b949350505050565b5f81905092915050565b5f6116ff82611295565b61170981856116eb565b93506117198185602086016112af565b80840191505092915050565b5f61173082846116f5565b915081905092915050565b5f60208201905061174e5f830184611449565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f61177882611754565b611782818561175e565b93506117928185602086016112af565b61179b81610a3f565b840191505092915050565b5f6020820190508181035f8301526117be818461176e565b905092915050565b5f6040820190506117d95f830185611449565b6117e66020830184611449565b939250505056fea264697066735822122059fed2ea19c9974f7215c22f310ad148661e10f23192a6a4c42c2498b45ff5db64736f6c634300081b0033"  # noqa: E501
-EMITTER_CONTRACT_RUNTIME = "0x608060405234801561000f575f5ffd5b50600436106100cd575f3560e01c8063966b50e01161008a578063acabb9ed11610064578063acabb9ed146101cd578063b2ddc449146101e9578063e17bf95614610205578063f82ef69e14610221576100cd565b8063966b50e0146101795780639c37705314610195578063aa6fd822146101b1576100cd565b80630bb563d6146100d157806317c0c180146100ed57806320f0256e146101095780632c0e6fde146101255780635da86c171461014157806390b41d8b1461015d575b5f5ffd5b6100eb60048036038101906100e69190610b73565b61023d565b005b61010760048036038101906101029190610bdd565b610277565b005b610123600480360381019061011e9190610c3b565b61034e565b005b61013f600480360381019061013a9190610d0c565b61046b565b005b61015b60048036038101906101569190610e3d565b6104c5565b005b61017760048036038101906101729190610e7b565b610502565b005b610193600480360381019061018e9190610fe4565b61065f565b005b6101af60048036038101906101aa919061105a565b6106b0565b005b6101cb60048036038101906101c691906110be565b6107c8565b005b6101e760048036038101906101e291906110fc565b61090c565b005b61020360048036038101906101fe9190611172565b61095d565b005b61021f600480360381019061021a919061124e565b6109af565b005b61023b60048036038101906102369190611172565b6109e9565b005b7fa95e6e2a182411e7a6f9ed114a85c3761d87f9b8f453d842c71235aa64fff99f8160405161026c91906112f5565b60405180910390a150565b6001601381111561028b5761028a611315565b5b81601381111561029e5761029d611315565b5b036102d4577f1e86022f78f8d04f8e3dfd13a2bdb280403e6632877c0dbee5e4eeb259908a5c60405160405180910390a161034b565b5f60138111156102e7576102e6611315565b5b8160138111156102fa576102f9611315565b5b0361030f5760405160405180910390a061034a565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610341906113b2565b60405180910390fd5b5b50565b6005601381111561036257610361611315565b5b85601381111561037557610374611315565b5b036103bc577ff039d147f23fe975a4254bdf6b1502b8c79132ae1833986b7ccef2638e73fdf9848484846040516103af94939291906113df565b60405180910390a1610464565b600b60138111156103d0576103cf611315565b5b8560138111156103e3576103e2611315565b5b036104285780827fa30ece802b64cd2b7e57dabf4010aabf5df26d1556977affb07b98a77ad955b5868660405161041b929190611422565b60405180910390a3610463565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045a906113b2565b60405180910390fd5b5b5050505050565b838573ffffffffffffffffffffffffffffffffffffffff167fd5adc9babd0133de6cececc75e340da3fc18ae5ccab91bc1c03ff3b194f9a3c18585856040516104b693929190611458565b60405180910390a35050505050565b7f8ccce2523cca5f3851d20df50b5a59509bc4ac7d9ddba344f5e331969d09b8e782826040516104f69291906114fd565b60405180910390a15050565b6003601381111561051657610515611315565b5b83601381111561052957610528611315565b5b0361056c577fdf0cb1dea99afceb3ea698d62e705b736f1345a7eee9eb07e63d1f8f556c1bc5828260405161055f929190611422565b60405180910390a161065a565b600960138111156105805761057f611315565b5b83601381111561059357610592611315565b5b036105d557807f057bc32826fbe161da1c110afcdcae7c109a8b69149f727fc37a603c60ef94ca836040516105c89190611524565b60405180910390a2610659565b600860138111156105e9576105e8611315565b5b8360138111156105fc576105fb611315565b5b0361061d5780826040516106109190611524565b60405180910390a1610658565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064f906113b2565b60405180910390fd5b5b5b505050565b8160405161066d91906115ee565b60405180910390207fdbc4c1d1d2f0d84e58d36ca767ec9ba2ec2f933c055e50e5ccdd57697f7b58b0826040516106a49190611696565b60405180910390a25050565b600460138111156106c4576106c3611315565b5b8460138111156106d7576106d6611315565b5b0361071c577f4a25b279c7c585f25eda9788ac9420ebadae78ca6b206a0e6ab488fd81f5506283838360405161070f939291906116b6565b60405180910390a16107c2565b600a60138111156107305761072f611315565b5b84601381111561074357610742611315565b5b036107865780827ff16c999b533366ca5138d78e85da51611089cd05749f098d6c225d4cd42ee6ec856040516107799190611524565b60405180910390a36107c1565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b8906113b2565b60405180910390fd5b5b50505050565b600260138111156107dc576107db611315565b5b8260138111156107ef576107ee611315565b5b03610830577f56d2ef3c5228bf5d88573621e325a4672ab50e033749a601e4f4a5e1dce905d4816040516108239190611524565b60405180910390a1610908565b6007601381111561084457610843611315565b5b82601381111561085757610856611315565b5b0361088e57807ff70fe689e290d8ce2b2a388ac28db36fbb0e16a6d89c6804c461f65a1b40bb1560405160405180910390a2610907565b600660138111156108a2576108a1611315565b5b8260138111156108b5576108b4611315565b5b036108cb578060405160405180910390a1610906565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108fd906113b2565b60405180910390fd5b5b5b5050565b8160405161091a9190611725565b60405180910390207fe77cf33df73da7bc2e253a2dae617e6f15e4e337eaa462a108903af4643d1b758260405161095191906112f5565b60405180910390a25050565b8173ffffffffffffffffffffffffffffffffffffffff167ff922c215689548d72c3d2fe4ea8dafb2a30c43312c9b43fe5d10f713181f991c826040516109a3919061173b565b60405180910390a25050565b7f532fd6ea96cfb78bb46e09279a26828b8b493de1a2b8b1ee1face527978a15a5816040516109de91906117a6565b60405180910390a150565b7f06029e18f16caae06a69281f35b00ed3fcf47950e6c99dafa1bdd8c4b93479a08282604051610a1a9291906117c6565b60405180910390a15050565b5f604051905090565b5f5ffd5b5f5ffd5b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610a8582610a3f565b810181811067ffffffffffffffff82111715610aa457610aa3610a4f565b5b80604052505050565b5f610ab6610a26565b9050610ac28282610a7c565b919050565b5f67ffffffffffffffff821115610ae157610ae0610a4f565b5b610aea82610a3f565b9050602081019050919050565b828183375f83830152505050565b5f610b17610b1284610ac7565b610aad565b905082815260208101848484011115610b3357610b32610a3b565b5b610b3e848285610af7565b509392505050565b5f82601f830112610b5a57610b59610a37565b5b8135610b6a848260208601610b05565b91505092915050565b5f60208284031215610b8857610b87610a2f565b5b5f82013567ffffffffffffffff811115610ba557610ba4610a33565b5b610bb184828501610b46565b91505092915050565b60148110610bc6575f5ffd5b50565b5f81359050610bd781610bba565b92915050565b5f60208284031215610bf257610bf1610a2f565b5b5f610bff84828501610bc9565b91505092915050565b5f819050919050565b610c1a81610c08565b8114610c24575f5ffd5b50565b5f81359050610c3581610c11565b92915050565b5f5f5f5f5f60a08688031215610c5457610c53610a2f565b5b5f610c6188828901610bc9565b9550506020610c7288828901610c27565b9450506040610c8388828901610c27565b9350506060610c9488828901610c27565b9250506080610ca588828901610c27565b9150509295509295909350565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610cdb82610cb2565b9050919050565b610ceb81610cd1565b8114610cf5575f5ffd5b50565b5f81359050610d0681610ce2565b92915050565b5f5f5f5f5f60a08688031215610d2557610d24610a2f565b5b5f610d3288828901610cf8565b9550506020610d4388828901610c27565b9450506040610d5488828901610cf8565b9350506060610d6588828901610c27565b925050608086013567ffffffffffffffff811115610d8657610d85610a33565b5b610d9288828901610b46565b9150509295509295909350565b5f5ffd5b5f60208284031215610db857610db7610d9f565b5b610dc26020610aad565b90505f610dd184828501610c27565b5f8301525092915050565b5f60608284031215610df157610df0610d9f565b5b610dfb6060610aad565b90505f610e0a84828501610c27565b5f830152506020610e1d84828501610c27565b6020830152506040610e3184828501610da3565b60408301525092915050565b5f5f60808385031215610e5357610e52610a2f565b5b5f610e6085828601610c27565b9250506020610e7185828601610ddc565b9150509250929050565b5f5f5f60608486031215610e9257610e91610a2f565b5b5f610e9f86828701610bc9565b9350506020610eb086828701610c27565b9250506040610ec186828701610c27565b9150509250925092565b5f67ffffffffffffffff821115610ee557610ee4610a4f565b5b602082029050602081019050919050565b5f5ffd5b5f7fffff00000000000000000000000000000000000000000000000000000000000082169050919050565b610f2e81610efa565b8114610f38575f5ffd5b50565b5f81359050610f4981610f25565b92915050565b5f610f61610f5c84610ecb565b610aad565b90508083825260208201905060208402830185811115610f8457610f83610ef6565b5b835b81811015610fad5780610f998882610f3b565b845260208401935050602081019050610f86565b5050509392505050565b5f82601f830112610fcb57610fca610a37565b5b8135610fdb848260208601610f4f565b91505092915050565b5f5f60408385031215610ffa57610ff9610a2f565b5b5f83013567ffffffffffffffff81111561101757611016610a33565b5b61102385828601610fb7565b925050602083013567ffffffffffffffff81111561104457611043610a33565b5b61105085828601610fb7565b9150509250929050565b5f5f5f5f6080858703121561107257611071610a2f565b5b5f61107f87828801610bc9565b945050602061109087828801610c27565b93505060406110a187828801610c27565b92505060606110b287828801610c27565b91505092959194509250565b5f5f604083850312156110d4576110d3610a2f565b5b5f6110e185828601610bc9565b92505060206110f285828601610c27565b9150509250929050565b5f5f6040838503121561111257611111610a2f565b5b5f83013567ffffffffffffffff81111561112f5761112e610a33565b5b61113b85828601610b46565b925050602083013567ffffffffffffffff81111561115c5761115b610a33565b5b61116885828601610b46565b9150509250929050565b5f5f6040838503121561118857611187610a2f565b5b5f61119585828601610cf8565b92505060206111a685828601610cf8565b9150509250929050565b5f67ffffffffffffffff8211156111ca576111c9610a4f565b5b6111d382610a3f565b9050602081019050919050565b5f6111f26111ed846111b0565b610aad565b90508281526020810184848401111561120e5761120d610a3b565b5b611219848285610af7565b509392505050565b5f82601f83011261123557611234610a37565b5b81356112458482602086016111e0565b91505092915050565b5f6020828403121561126357611262610a2f565b5b5f82013567ffffffffffffffff8111156112805761127f610a33565b5b61128c84828501611221565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f6112c782611295565b6112d1818561129f565b93506112e18185602086016112af565b6112ea81610a3f565b840191505092915050565b5f6020820190508181035f83015261130d81846112bd565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b7f4469646e2774206d6174636820616e7920616c6c6f7761626c65206576656e745f8201527f20696e6465780000000000000000000000000000000000000000000000000000602082015250565b5f61139c60268361129f565b91506113a782611342565b604082019050919050565b5f6020820190508181035f8301526113c981611390565b9050919050565b6113d981610c08565b82525050565b5f6080820190506113f25f8301876113d0565b6113ff60208301866113d0565b61140c60408301856113d0565b61141960608301846113d0565b95945050505050565b5f6040820190506114355f8301856113d0565b61144260208301846113d0565b9392505050565b61145281610cd1565b82525050565b5f60608201905061146b5f830186611449565b61147860208301856113d0565b818103604083015261148a81846112bd565b9050949350505050565b61149d81610c08565b82525050565b602082015f8201516114b75f850182611494565b50505050565b606082015f8201516114d15f850182611494565b5060208201516114e46020850182611494565b5060408201516114f760408501826114a3565b50505050565b5f6080820190506115105f8301856113d0565b61151d60208301846114bd565b9392505050565b5f6020820190506115375f8301846113d0565b92915050565b5f81519050919050565b5f81905092915050565b5f819050602082019050919050565b61156981610efa565b82525050565b5f61157a8383611560565b60208301905092915050565b5f602082019050919050565b5f61159c8261153d565b6115a68185611547565b93506115b183611551565b805f5b838110156115e15781516115c8888261156f565b97506115d383611586565b9250506001810190506115b4565b5085935050505092915050565b5f6115f98284611592565b915081905092915050565b5f82825260208201905092915050565b61161d81610efa565b82525050565b5f61162e8383611614565b60208301905092915050565b5f6116448261153d565b61164e8185611604565b935061165983611551565b805f5b838110156116895781516116708882611623565b975061167b83611586565b92505060018101905061165c565b5085935050505092915050565b5f6020820190508181035f8301526116ae818461163a565b905092915050565b5f6060820190506116c95f8301866113d0565b6116d660208301856113d0565b6116e360408301846113d0565b949350505050565b5f81905092915050565b5f6116ff82611295565b61170981856116eb565b93506117198185602086016112af565b80840191505092915050565b5f61173082846116f5565b915081905092915050565b5f60208201905061174e5f830184611449565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f61177882611754565b611782818561175e565b93506117928185602086016112af565b61179b81610a3f565b840191505092915050565b5f6020820190508181035f8301526117be818461176e565b905092915050565b5f6040820190506117d95f830185611449565b6117e66020830184611449565b939250505056fea264697066735822122059fed2ea19c9974f7215c22f310ad148661e10f23192a6a4c42c2498b45ff5db64736f6c634300081b0033"  # noqa: E501
+EMITTER_CONTRACT_BYTECODE = "0x6080604052348015600e575f5ffd5b506118238061001c5f395ff3fe608060405234801561000f575f5ffd5b50600436106100cd575f3560e01c8063966b50e01161008a578063acabb9ed11610064578063acabb9ed146101cd578063b2ddc449146101e9578063e17bf95614610205578063f82ef69e14610221576100cd565b8063966b50e0146101795780639c37705314610195578063aa6fd822146101b1576100cd565b80630bb563d6146100d157806317c0c180146100ed57806320f0256e146101095780632c0e6fde146101255780635da86c171461014157806390b41d8b1461015d575b5f5ffd5b6100eb60048036038101906100e69190610b73565b61023d565b005b61010760048036038101906101029190610bdd565b610277565b005b610123600480360381019061011e9190610c3b565b61034e565b005b61013f600480360381019061013a9190610d0c565b61046b565b005b61015b60048036038101906101569190610e3d565b6104c5565b005b61017760048036038101906101729190610e7b565b610502565b005b610193600480360381019061018e9190610fe4565b61065f565b005b6101af60048036038101906101aa919061105a565b6106b0565b005b6101cb60048036038101906101c691906110be565b6107c8565b005b6101e760048036038101906101e291906110fc565b61090c565b005b61020360048036038101906101fe9190611172565b61095d565b005b61021f600480360381019061021a919061124e565b6109af565b005b61023b60048036038101906102369190611172565b6109e9565b005b7fa95e6e2a182411e7a6f9ed114a85c3761d87f9b8f453d842c71235aa64fff99f8160405161026c91906112f5565b60405180910390a150565b6001601381111561028b5761028a611315565b5b81601381111561029e5761029d611315565b5b036102d4577f1e86022f78f8d04f8e3dfd13a2bdb280403e6632877c0dbee5e4eeb259908a5c60405160405180910390a161034b565b5f60138111156102e7576102e6611315565b5b8160138111156102fa576102f9611315565b5b0361030f5760405160405180910390a061034a565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610341906113b2565b60405180910390fd5b5b50565b6005601381111561036257610361611315565b5b85601381111561037557610374611315565b5b036103bc577ff039d147f23fe975a4254bdf6b1502b8c79132ae1833986b7ccef2638e73fdf9848484846040516103af94939291906113df565b60405180910390a1610464565b600b60138111156103d0576103cf611315565b5b8560138111156103e3576103e2611315565b5b036104285780827fa30ece802b64cd2b7e57dabf4010aabf5df26d1556977affb07b98a77ad955b5868660405161041b929190611422565b60405180910390a3610463565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045a906113b2565b60405180910390fd5b5b5050505050565b838573ffffffffffffffffffffffffffffffffffffffff167fd5adc9babd0133de6cececc75e340da3fc18ae5ccab91bc1c03ff3b194f9a3c18585856040516104b693929190611458565b60405180910390a35050505050565b7f8ccce2523cca5f3851d20df50b5a59509bc4ac7d9ddba344f5e331969d09b8e782826040516104f69291906114fd565b60405180910390a15050565b6003601381111561051657610515611315565b5b83601381111561052957610528611315565b5b0361056c577fdf0cb1dea99afceb3ea698d62e705b736f1345a7eee9eb07e63d1f8f556c1bc5828260405161055f929190611422565b60405180910390a161065a565b600960138111156105805761057f611315565b5b83601381111561059357610592611315565b5b036105d557807f057bc32826fbe161da1c110afcdcae7c109a8b69149f727fc37a603c60ef94ca836040516105c89190611524565b60405180910390a2610659565b600860138111156105e9576105e8611315565b5b8360138111156105fc576105fb611315565b5b0361061d5780826040516106109190611524565b60405180910390a1610658565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064f906113b2565b60405180910390fd5b5b5b505050565b8160405161066d91906115ee565b60405180910390207fdbc4c1d1d2f0d84e58d36ca767ec9ba2ec2f933c055e50e5ccdd57697f7b58b0826040516106a49190611696565b60405180910390a25050565b600460138111156106c4576106c3611315565b5b8460138111156106d7576106d6611315565b5b0361071c577f4a25b279c7c585f25eda9788ac9420ebadae78ca6b206a0e6ab488fd81f5506283838360405161070f939291906116b6565b60405180910390a16107c2565b600a60138111156107305761072f611315565b5b84601381111561074357610742611315565b5b036107865780827ff16c999b533366ca5138d78e85da51611089cd05749f098d6c225d4cd42ee6ec856040516107799190611524565b60405180910390a36107c1565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b8906113b2565b60405180910390fd5b5b50505050565b600260138111156107dc576107db611315565b5b8260138111156107ef576107ee611315565b5b03610830577f56d2ef3c5228bf5d88573621e325a4672ab50e033749a601e4f4a5e1dce905d4816040516108239190611524565b60405180910390a1610908565b6007601381111561084457610843611315565b5b82601381111561085757610856611315565b5b0361088e57807ff70fe689e290d8ce2b2a388ac28db36fbb0e16a6d89c6804c461f65a1b40bb1560405160405180910390a2610907565b600660138111156108a2576108a1611315565b5b8260138111156108b5576108b4611315565b5b036108cb578060405160405180910390a1610906565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108fd906113b2565b60405180910390fd5b5b5b5050565b8160405161091a9190611725565b60405180910390207fe77cf33df73da7bc2e253a2dae617e6f15e4e337eaa462a108903af4643d1b758260405161095191906112f5565b60405180910390a25050565b8173ffffffffffffffffffffffffffffffffffffffff167ff922c215689548d72c3d2fe4ea8dafb2a30c43312c9b43fe5d10f713181f991c826040516109a3919061173b565b60405180910390a25050565b7f532fd6ea96cfb78bb46e09279a26828b8b493de1a2b8b1ee1face527978a15a5816040516109de91906117a6565b60405180910390a150565b7f06029e18f16caae06a69281f35b00ed3fcf47950e6c99dafa1bdd8c4b93479a08282604051610a1a9291906117c6565b60405180910390a15050565b5f604051905090565b5f5ffd5b5f5ffd5b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610a8582610a3f565b810181811067ffffffffffffffff82111715610aa457610aa3610a4f565b5b80604052505050565b5f610ab6610a26565b9050610ac28282610a7c565b919050565b5f67ffffffffffffffff821115610ae157610ae0610a4f565b5b610aea82610a3f565b9050602081019050919050565b828183375f83830152505050565b5f610b17610b1284610ac7565b610aad565b905082815260208101848484011115610b3357610b32610a3b565b5b610b3e848285610af7565b509392505050565b5f82601f830112610b5a57610b59610a37565b5b8135610b6a848260208601610b05565b91505092915050565b5f60208284031215610b8857610b87610a2f565b5b5f82013567ffffffffffffffff811115610ba557610ba4610a33565b5b610bb184828501610b46565b91505092915050565b60148110610bc6575f5ffd5b50565b5f81359050610bd781610bba565b92915050565b5f60208284031215610bf257610bf1610a2f565b5b5f610bff84828501610bc9565b91505092915050565b5f819050919050565b610c1a81610c08565b8114610c24575f5ffd5b50565b5f81359050610c3581610c11565b92915050565b5f5f5f5f5f60a08688031215610c5457610c53610a2f565b5b5f610c6188828901610bc9565b9550506020610c7288828901610c27565b9450506040610c8388828901610c27565b9350506060610c9488828901610c27565b9250506080610ca588828901610c27565b9150509295509295909350565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610cdb82610cb2565b9050919050565b610ceb81610cd1565b8114610cf5575f5ffd5b50565b5f81359050610d0681610ce2565b92915050565b5f5f5f5f5f60a08688031215610d2557610d24610a2f565b5b5f610d3288828901610cf8565b9550506020610d4388828901610c27565b9450506040610d5488828901610cf8565b9350506060610d6588828901610c27565b925050608086013567ffffffffffffffff811115610d8657610d85610a33565b5b610d9288828901610b46565b9150509295509295909350565b5f5ffd5b5f60208284031215610db857610db7610d9f565b5b610dc26020610aad565b90505f610dd184828501610c27565b5f8301525092915050565b5f60608284031215610df157610df0610d9f565b5b610dfb6060610aad565b90505f610e0a84828501610c27565b5f830152506020610e1d84828501610c27565b6020830152506040610e3184828501610da3565b60408301525092915050565b5f5f60808385031215610e5357610e52610a2f565b5b5f610e6085828601610c27565b9250506020610e7185828601610ddc565b9150509250929050565b5f5f5f60608486031215610e9257610e91610a2f565b5b5f610e9f86828701610bc9565b9350506020610eb086828701610c27565b9250506040610ec186828701610c27565b9150509250925092565b5f67ffffffffffffffff821115610ee557610ee4610a4f565b5b602082029050602081019050919050565b5f5ffd5b5f7fffff00000000000000000000000000000000000000000000000000000000000082169050919050565b610f2e81610efa565b8114610f38575f5ffd5b50565b5f81359050610f4981610f25565b92915050565b5f610f61610f5c84610ecb565b610aad565b90508083825260208201905060208402830185811115610f8457610f83610ef6565b5b835b81811015610fad5780610f998882610f3b565b845260208401935050602081019050610f86565b5050509392505050565b5f82601f830112610fcb57610fca610a37565b5b8135610fdb848260208601610f4f565b91505092915050565b5f5f60408385031215610ffa57610ff9610a2f565b5b5f83013567ffffffffffffffff81111561101757611016610a33565b5b61102385828601610fb7565b925050602083013567ffffffffffffffff81111561104457611043610a33565b5b61105085828601610fb7565b9150509250929050565b5f5f5f5f6080858703121561107257611071610a2f565b5b5f61107f87828801610bc9565b945050602061109087828801610c27565b93505060406110a187828801610c27565b92505060606110b287828801610c27565b91505092959194509250565b5f5f604083850312156110d4576110d3610a2f565b5b5f6110e185828601610bc9565b92505060206110f285828601610c27565b9150509250929050565b5f5f6040838503121561111257611111610a2f565b5b5f83013567ffffffffffffffff81111561112f5761112e610a33565b5b61113b85828601610b46565b925050602083013567ffffffffffffffff81111561115c5761115b610a33565b5b61116885828601610b46565b9150509250929050565b5f5f6040838503121561118857611187610a2f565b5b5f61119585828601610cf8565b92505060206111a685828601610cf8565b9150509250929050565b5f67ffffffffffffffff8211156111ca576111c9610a4f565b5b6111d382610a3f565b9050602081019050919050565b5f6111f26111ed846111b0565b610aad565b90508281526020810184848401111561120e5761120d610a3b565b5b611219848285610af7565b509392505050565b5f82601f83011261123557611234610a37565b5b81356112458482602086016111e0565b91505092915050565b5f6020828403121561126357611262610a2f565b5b5f82013567ffffffffffffffff8111156112805761127f610a33565b5b61128c84828501611221565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f6112c782611295565b6112d1818561129f565b93506112e18185602086016112af565b6112ea81610a3f565b840191505092915050565b5f6020820190508181035f83015261130d81846112bd565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b7f4469646e2774206d6174636820616e7920616c6c6f7761626c65206576656e745f8201527f20696e6465780000000000000000000000000000000000000000000000000000602082015250565b5f61139c60268361129f565b91506113a782611342565b604082019050919050565b5f6020820190508181035f8301526113c981611390565b9050919050565b6113d981610c08565b82525050565b5f6080820190506113f25f8301876113d0565b6113ff60208301866113d0565b61140c60408301856113d0565b61141960608301846113d0565b95945050505050565b5f6040820190506114355f8301856113d0565b61144260208301846113d0565b9392505050565b61145281610cd1565b82525050565b5f60608201905061146b5f830186611449565b61147860208301856113d0565b818103604083015261148a81846112bd565b9050949350505050565b61149d81610c08565b82525050565b602082015f8201516114b75f850182611494565b50505050565b606082015f8201516114d15f850182611494565b5060208201516114e46020850182611494565b5060408201516114f760408501826114a3565b50505050565b5f6080820190506115105f8301856113d0565b61151d60208301846114bd565b9392505050565b5f6020820190506115375f8301846113d0565b92915050565b5f81519050919050565b5f81905092915050565b5f819050602082019050919050565b61156981610efa565b82525050565b5f61157a8383611560565b60208301905092915050565b5f602082019050919050565b5f61159c8261153d565b6115a68185611547565b93506115b183611551565b805f5b838110156115e15781516115c8888261156f565b97506115d383611586565b9250506001810190506115b4565b5085935050505092915050565b5f6115f98284611592565b915081905092915050565b5f82825260208201905092915050565b61161d81610efa565b82525050565b5f61162e8383611614565b60208301905092915050565b5f6116448261153d565b61164e8185611604565b935061165983611551565b805f5b838110156116895781516116708882611623565b975061167b83611586565b92505060018101905061165c565b5085935050505092915050565b5f6020820190508181035f8301526116ae818461163a565b905092915050565b5f6060820190506116c95f8301866113d0565b6116d660208301856113d0565b6116e360408301846113d0565b949350505050565b5f81905092915050565b5f6116ff82611295565b61170981856116eb565b93506117198185602086016112af565b80840191505092915050565b5f61173082846116f5565b915081905092915050565b5f60208201905061174e5f830184611449565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f61177882611754565b611782818561175e565b93506117928185602086016112af565b61179b81610a3f565b840191505092915050565b5f6020820190508181035f8301526117be818461176e565b905092915050565b5f6040820190506117d95f830185611449565b6117e66020830184611449565b939250505056fea264697066735822122061218de26e2cff4dfce871e8c71e8234ef3a76d9d491300000f9eb2a171ab9af64736f6c634300081c0033"  # noqa: E501
+EMITTER_CONTRACT_RUNTIME = "0x608060405234801561000f575f5ffd5b50600436106100cd575f3560e01c8063966b50e01161008a578063acabb9ed11610064578063acabb9ed146101cd578063b2ddc449146101e9578063e17bf95614610205578063f82ef69e14610221576100cd565b8063966b50e0146101795780639c37705314610195578063aa6fd822146101b1576100cd565b80630bb563d6146100d157806317c0c180146100ed57806320f0256e146101095780632c0e6fde146101255780635da86c171461014157806390b41d8b1461015d575b5f5ffd5b6100eb60048036038101906100e69190610b73565b61023d565b005b61010760048036038101906101029190610bdd565b610277565b005b610123600480360381019061011e9190610c3b565b61034e565b005b61013f600480360381019061013a9190610d0c565b61046b565b005b61015b60048036038101906101569190610e3d565b6104c5565b005b61017760048036038101906101729190610e7b565b610502565b005b610193600480360381019061018e9190610fe4565b61065f565b005b6101af60048036038101906101aa919061105a565b6106b0565b005b6101cb60048036038101906101c691906110be565b6107c8565b005b6101e760048036038101906101e291906110fc565b61090c565b005b61020360048036038101906101fe9190611172565b61095d565b005b61021f600480360381019061021a919061124e565b6109af565b005b61023b60048036038101906102369190611172565b6109e9565b005b7fa95e6e2a182411e7a6f9ed114a85c3761d87f9b8f453d842c71235aa64fff99f8160405161026c91906112f5565b60405180910390a150565b6001601381111561028b5761028a611315565b5b81601381111561029e5761029d611315565b5b036102d4577f1e86022f78f8d04f8e3dfd13a2bdb280403e6632877c0dbee5e4eeb259908a5c60405160405180910390a161034b565b5f60138111156102e7576102e6611315565b5b8160138111156102fa576102f9611315565b5b0361030f5760405160405180910390a061034a565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610341906113b2565b60405180910390fd5b5b50565b6005601381111561036257610361611315565b5b85601381111561037557610374611315565b5b036103bc577ff039d147f23fe975a4254bdf6b1502b8c79132ae1833986b7ccef2638e73fdf9848484846040516103af94939291906113df565b60405180910390a1610464565b600b60138111156103d0576103cf611315565b5b8560138111156103e3576103e2611315565b5b036104285780827fa30ece802b64cd2b7e57dabf4010aabf5df26d1556977affb07b98a77ad955b5868660405161041b929190611422565b60405180910390a3610463565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045a906113b2565b60405180910390fd5b5b5050505050565b838573ffffffffffffffffffffffffffffffffffffffff167fd5adc9babd0133de6cececc75e340da3fc18ae5ccab91bc1c03ff3b194f9a3c18585856040516104b693929190611458565b60405180910390a35050505050565b7f8ccce2523cca5f3851d20df50b5a59509bc4ac7d9ddba344f5e331969d09b8e782826040516104f69291906114fd565b60405180910390a15050565b6003601381111561051657610515611315565b5b83601381111561052957610528611315565b5b0361056c577fdf0cb1dea99afceb3ea698d62e705b736f1345a7eee9eb07e63d1f8f556c1bc5828260405161055f929190611422565b60405180910390a161065a565b600960138111156105805761057f611315565b5b83601381111561059357610592611315565b5b036105d557807f057bc32826fbe161da1c110afcdcae7c109a8b69149f727fc37a603c60ef94ca836040516105c89190611524565b60405180910390a2610659565b600860138111156105e9576105e8611315565b5b8360138111156105fc576105fb611315565b5b0361061d5780826040516106109190611524565b60405180910390a1610658565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161064f906113b2565b60405180910390fd5b5b5b505050565b8160405161066d91906115ee565b60405180910390207fdbc4c1d1d2f0d84e58d36ca767ec9ba2ec2f933c055e50e5ccdd57697f7b58b0826040516106a49190611696565b60405180910390a25050565b600460138111156106c4576106c3611315565b5b8460138111156106d7576106d6611315565b5b0361071c577f4a25b279c7c585f25eda9788ac9420ebadae78ca6b206a0e6ab488fd81f5506283838360405161070f939291906116b6565b60405180910390a16107c2565b600a60138111156107305761072f611315565b5b84601381111561074357610742611315565b5b036107865780827ff16c999b533366ca5138d78e85da51611089cd05749f098d6c225d4cd42ee6ec856040516107799190611524565b60405180910390a36107c1565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b8906113b2565b60405180910390fd5b5b50505050565b600260138111156107dc576107db611315565b5b8260138111156107ef576107ee611315565b5b03610830577f56d2ef3c5228bf5d88573621e325a4672ab50e033749a601e4f4a5e1dce905d4816040516108239190611524565b60405180910390a1610908565b6007601381111561084457610843611315565b5b82601381111561085757610856611315565b5b0361088e57807ff70fe689e290d8ce2b2a388ac28db36fbb0e16a6d89c6804c461f65a1b40bb1560405160405180910390a2610907565b600660138111156108a2576108a1611315565b5b8260138111156108b5576108b4611315565b5b036108cb578060405160405180910390a1610906565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108fd906113b2565b60405180910390fd5b5b5b5050565b8160405161091a9190611725565b60405180910390207fe77cf33df73da7bc2e253a2dae617e6f15e4e337eaa462a108903af4643d1b758260405161095191906112f5565b60405180910390a25050565b8173ffffffffffffffffffffffffffffffffffffffff167ff922c215689548d72c3d2fe4ea8dafb2a30c43312c9b43fe5d10f713181f991c826040516109a3919061173b565b60405180910390a25050565b7f532fd6ea96cfb78bb46e09279a26828b8b493de1a2b8b1ee1face527978a15a5816040516109de91906117a6565b60405180910390a150565b7f06029e18f16caae06a69281f35b00ed3fcf47950e6c99dafa1bdd8c4b93479a08282604051610a1a9291906117c6565b60405180910390a15050565b5f604051905090565b5f5ffd5b5f5ffd5b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610a8582610a3f565b810181811067ffffffffffffffff82111715610aa457610aa3610a4f565b5b80604052505050565b5f610ab6610a26565b9050610ac28282610a7c565b919050565b5f67ffffffffffffffff821115610ae157610ae0610a4f565b5b610aea82610a3f565b9050602081019050919050565b828183375f83830152505050565b5f610b17610b1284610ac7565b610aad565b905082815260208101848484011115610b3357610b32610a3b565b5b610b3e848285610af7565b509392505050565b5f82601f830112610b5a57610b59610a37565b5b8135610b6a848260208601610b05565b91505092915050565b5f60208284031215610b8857610b87610a2f565b5b5f82013567ffffffffffffffff811115610ba557610ba4610a33565b5b610bb184828501610b46565b91505092915050565b60148110610bc6575f5ffd5b50565b5f81359050610bd781610bba565b92915050565b5f60208284031215610bf257610bf1610a2f565b5b5f610bff84828501610bc9565b91505092915050565b5f819050919050565b610c1a81610c08565b8114610c24575f5ffd5b50565b5f81359050610c3581610c11565b92915050565b5f5f5f5f5f60a08688031215610c5457610c53610a2f565b5b5f610c6188828901610bc9565b9550506020610c7288828901610c27565b9450506040610c8388828901610c27565b9350506060610c9488828901610c27565b9250506080610ca588828901610c27565b9150509295509295909350565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610cdb82610cb2565b9050919050565b610ceb81610cd1565b8114610cf5575f5ffd5b50565b5f81359050610d0681610ce2565b92915050565b5f5f5f5f5f60a08688031215610d2557610d24610a2f565b5b5f610d3288828901610cf8565b9550506020610d4388828901610c27565b9450506040610d5488828901610cf8565b9350506060610d6588828901610c27565b925050608086013567ffffffffffffffff811115610d8657610d85610a33565b5b610d9288828901610b46565b9150509295509295909350565b5f5ffd5b5f60208284031215610db857610db7610d9f565b5b610dc26020610aad565b90505f610dd184828501610c27565b5f8301525092915050565b5f60608284031215610df157610df0610d9f565b5b610dfb6060610aad565b90505f610e0a84828501610c27565b5f830152506020610e1d84828501610c27565b6020830152506040610e3184828501610da3565b60408301525092915050565b5f5f60808385031215610e5357610e52610a2f565b5b5f610e6085828601610c27565b9250506020610e7185828601610ddc565b9150509250929050565b5f5f5f60608486031215610e9257610e91610a2f565b5b5f610e9f86828701610bc9565b9350506020610eb086828701610c27565b9250506040610ec186828701610c27565b9150509250925092565b5f67ffffffffffffffff821115610ee557610ee4610a4f565b5b602082029050602081019050919050565b5f5ffd5b5f7fffff00000000000000000000000000000000000000000000000000000000000082169050919050565b610f2e81610efa565b8114610f38575f5ffd5b50565b5f81359050610f4981610f25565b92915050565b5f610f61610f5c84610ecb565b610aad565b90508083825260208201905060208402830185811115610f8457610f83610ef6565b5b835b81811015610fad5780610f998882610f3b565b845260208401935050602081019050610f86565b5050509392505050565b5f82601f830112610fcb57610fca610a37565b5b8135610fdb848260208601610f4f565b91505092915050565b5f5f60408385031215610ffa57610ff9610a2f565b5b5f83013567ffffffffffffffff81111561101757611016610a33565b5b61102385828601610fb7565b925050602083013567ffffffffffffffff81111561104457611043610a33565b5b61105085828601610fb7565b9150509250929050565b5f5f5f5f6080858703121561107257611071610a2f565b5b5f61107f87828801610bc9565b945050602061109087828801610c27565b93505060406110a187828801610c27565b92505060606110b287828801610c27565b91505092959194509250565b5f5f604083850312156110d4576110d3610a2f565b5b5f6110e185828601610bc9565b92505060206110f285828601610c27565b9150509250929050565b5f5f6040838503121561111257611111610a2f565b5b5f83013567ffffffffffffffff81111561112f5761112e610a33565b5b61113b85828601610b46565b925050602083013567ffffffffffffffff81111561115c5761115b610a33565b5b61116885828601610b46565b9150509250929050565b5f5f6040838503121561118857611187610a2f565b5b5f61119585828601610cf8565b92505060206111a685828601610cf8565b9150509250929050565b5f67ffffffffffffffff8211156111ca576111c9610a4f565b5b6111d382610a3f565b9050602081019050919050565b5f6111f26111ed846111b0565b610aad565b90508281526020810184848401111561120e5761120d610a3b565b5b611219848285610af7565b509392505050565b5f82601f83011261123557611234610a37565b5b81356112458482602086016111e0565b91505092915050565b5f6020828403121561126357611262610a2f565b5b5f82013567ffffffffffffffff8111156112805761127f610a33565b5b61128c84828501611221565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f6112c782611295565b6112d1818561129f565b93506112e18185602086016112af565b6112ea81610a3f565b840191505092915050565b5f6020820190508181035f83015261130d81846112bd565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b7f4469646e2774206d6174636820616e7920616c6c6f7761626c65206576656e745f8201527f20696e6465780000000000000000000000000000000000000000000000000000602082015250565b5f61139c60268361129f565b91506113a782611342565b604082019050919050565b5f6020820190508181035f8301526113c981611390565b9050919050565b6113d981610c08565b82525050565b5f6080820190506113f25f8301876113d0565b6113ff60208301866113d0565b61140c60408301856113d0565b61141960608301846113d0565b95945050505050565b5f6040820190506114355f8301856113d0565b61144260208301846113d0565b9392505050565b61145281610cd1565b82525050565b5f60608201905061146b5f830186611449565b61147860208301856113d0565b818103604083015261148a81846112bd565b9050949350505050565b61149d81610c08565b82525050565b602082015f8201516114b75f850182611494565b50505050565b606082015f8201516114d15f850182611494565b5060208201516114e46020850182611494565b5060408201516114f760408501826114a3565b50505050565b5f6080820190506115105f8301856113d0565b61151d60208301846114bd565b9392505050565b5f6020820190506115375f8301846113d0565b92915050565b5f81519050919050565b5f81905092915050565b5f819050602082019050919050565b61156981610efa565b82525050565b5f61157a8383611560565b60208301905092915050565b5f602082019050919050565b5f61159c8261153d565b6115a68185611547565b93506115b183611551565b805f5b838110156115e15781516115c8888261156f565b97506115d383611586565b9250506001810190506115b4565b5085935050505092915050565b5f6115f98284611592565b915081905092915050565b5f82825260208201905092915050565b61161d81610efa565b82525050565b5f61162e8383611614565b60208301905092915050565b5f6116448261153d565b61164e8185611604565b935061165983611551565b805f5b838110156116895781516116708882611623565b975061167b83611586565b92505060018101905061165c565b5085935050505092915050565b5f6020820190508181035f8301526116ae818461163a565b905092915050565b5f6060820190506116c95f8301866113d0565b6116d660208301856113d0565b6116e360408301846113d0565b949350505050565b5f81905092915050565b5f6116ff82611295565b61170981856116eb565b93506117198185602086016112af565b80840191505092915050565b5f61173082846116f5565b915081905092915050565b5f60208201905061174e5f830184611449565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f61177882611754565b611782818561175e565b93506117928185602086016112af565b61179b81610a3f565b840191505092915050565b5f6020820190508181035f8301526117be818461176e565b905092915050565b5f6040820190506117d95f830185611449565b6117e66020830184611449565b939250505056fea264697066735822122061218de26e2cff4dfce871e8c71e8234ef3a76d9d491300000f9eb2a171ab9af64736f6c634300081c0033"  # noqa: E501
 EMITTER_CONTRACT_ABI = [
     {
         "anonymous": False,
diff --git a/web3/_utils/contract_sources/contract_data/event_contracts.py b/web3/_utils/contract_sources/contract_data/event_contracts.py
index 9901d680fe..98a534f722 100644
--- a/web3/_utils/contract_sources/contract_data/event_contracts.py
+++ b/web3/_utils/contract_sources/contract_data/event_contracts.py
@@ -1,11 +1,11 @@
 """
 Generated by `compile_contracts.py` script.
-Compiled with Solidity v0.8.27.
+Compiled with Solidity v0.8.28.
 """
 
 # source: web3/_utils/contract_sources/EventContracts.sol:EventContract
-EVENT_CONTRACT_BYTECODE = "0x6080604052348015600e575f5ffd5b5061017a8061001c5f395ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c80635818fad71461002d575b5f5ffd5b610047600480360381019061004291906100f1565b610049565b005b7ff70fe689e290d8ce2b2a388ac28db36fbb0e16a6d89c6804c461f65a1b40bb1581604051610078919061012b565b60405180910390a17f56d2ef3c5228bf5d88573621e325a4672ab50e033749a601e4f4a5e1dce905d4816040516100af919061012b565b60405180910390a150565b5f5ffd5b5f819050919050565b6100d0816100be565b81146100da575f5ffd5b50565b5f813590506100eb816100c7565b92915050565b5f60208284031215610106576101056100ba565b5b5f610113848285016100dd565b91505092915050565b610125816100be565b82525050565b5f60208201905061013e5f83018461011c565b9291505056fea2646970667358221220a37b6d910bb96d3e84669fbcdc38d80c395c8906f12e43f3e447eaaf770bfe2a64736f6c634300081b0033"  # noqa: E501
-EVENT_CONTRACT_RUNTIME = "0x608060405234801561000f575f5ffd5b5060043610610029575f3560e01c80635818fad71461002d575b5f5ffd5b610047600480360381019061004291906100f1565b610049565b005b7ff70fe689e290d8ce2b2a388ac28db36fbb0e16a6d89c6804c461f65a1b40bb1581604051610078919061012b565b60405180910390a17f56d2ef3c5228bf5d88573621e325a4672ab50e033749a601e4f4a5e1dce905d4816040516100af919061012b565b60405180910390a150565b5f5ffd5b5f819050919050565b6100d0816100be565b81146100da575f5ffd5b50565b5f813590506100eb816100c7565b92915050565b5f60208284031215610106576101056100ba565b5b5f610113848285016100dd565b91505092915050565b610125816100be565b82525050565b5f60208201905061013e5f83018461011c565b9291505056fea2646970667358221220a37b6d910bb96d3e84669fbcdc38d80c395c8906f12e43f3e447eaaf770bfe2a64736f6c634300081b0033"  # noqa: E501
+EVENT_CONTRACT_BYTECODE = "0x6080604052348015600e575f5ffd5b5061017a8061001c5f395ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c80635818fad71461002d575b5f5ffd5b610047600480360381019061004291906100f1565b610049565b005b7ff70fe689e290d8ce2b2a388ac28db36fbb0e16a6d89c6804c461f65a1b40bb1581604051610078919061012b565b60405180910390a17f56d2ef3c5228bf5d88573621e325a4672ab50e033749a601e4f4a5e1dce905d4816040516100af919061012b565b60405180910390a150565b5f5ffd5b5f819050919050565b6100d0816100be565b81146100da575f5ffd5b50565b5f813590506100eb816100c7565b92915050565b5f60208284031215610106576101056100ba565b5b5f610113848285016100dd565b91505092915050565b610125816100be565b82525050565b5f60208201905061013e5f83018461011c565b9291505056fea2646970667358221220ffb25fdd3a92ed8f87f68da4885d8c0f5e6fd2edeafb3d1cab0da0f2683b846b64736f6c634300081c0033"  # noqa: E501
+EVENT_CONTRACT_RUNTIME = "0x608060405234801561000f575f5ffd5b5060043610610029575f3560e01c80635818fad71461002d575b5f5ffd5b610047600480360381019061004291906100f1565b610049565b005b7ff70fe689e290d8ce2b2a388ac28db36fbb0e16a6d89c6804c461f65a1b40bb1581604051610078919061012b565b60405180910390a17f56d2ef3c5228bf5d88573621e325a4672ab50e033749a601e4f4a5e1dce905d4816040516100af919061012b565b60405180910390a150565b5f5ffd5b5f819050919050565b6100d0816100be565b81146100da575f5ffd5b50565b5f813590506100eb816100c7565b92915050565b5f60208284031215610106576101056100ba565b5b5f610113848285016100dd565b91505092915050565b610125816100be565b82525050565b5f60208201905061013e5f83018461011c565b9291505056fea2646970667358221220ffb25fdd3a92ed8f87f68da4885d8c0f5e6fd2edeafb3d1cab0da0f2683b846b64736f6c634300081c0033"  # noqa: E501
 EVENT_CONTRACT_ABI = [
     {
         "anonymous": False,
@@ -49,8 +49,8 @@
 
 
 # source: web3/_utils/contract_sources/EventContracts.sol:IndexedEventContract
-INDEXED_EVENT_CONTRACT_BYTECODE = "0x6080604052348015600e575f5ffd5b506101708061001c5f395ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c80635818fad71461002d575b5f5ffd5b610047600480360381019061004291906100e7565b610049565b005b807ff70fe689e290d8ce2b2a388ac28db36fbb0e16a6d89c6804c461f65a1b40bb1560405160405180910390a27f56d2ef3c5228bf5d88573621e325a4672ab50e033749a601e4f4a5e1dce905d4816040516100a59190610121565b60405180910390a150565b5f5ffd5b5f819050919050565b6100c6816100b4565b81146100d0575f5ffd5b50565b5f813590506100e1816100bd565b92915050565b5f602082840312156100fc576100fb6100b0565b5b5f610109848285016100d3565b91505092915050565b61011b816100b4565b82525050565b5f6020820190506101345f830184610112565b9291505056fea26469706673582212206e0186f80b98f5370497dffb38cdfb9d3dbb89d3ebac18e50327629ef0c48b5664736f6c634300081b0033"  # noqa: E501
-INDEXED_EVENT_CONTRACT_RUNTIME = "0x608060405234801561000f575f5ffd5b5060043610610029575f3560e01c80635818fad71461002d575b5f5ffd5b610047600480360381019061004291906100e7565b610049565b005b807ff70fe689e290d8ce2b2a388ac28db36fbb0e16a6d89c6804c461f65a1b40bb1560405160405180910390a27f56d2ef3c5228bf5d88573621e325a4672ab50e033749a601e4f4a5e1dce905d4816040516100a59190610121565b60405180910390a150565b5f5ffd5b5f819050919050565b6100c6816100b4565b81146100d0575f5ffd5b50565b5f813590506100e1816100bd565b92915050565b5f602082840312156100fc576100fb6100b0565b5b5f610109848285016100d3565b91505092915050565b61011b816100b4565b82525050565b5f6020820190506101345f830184610112565b9291505056fea26469706673582212206e0186f80b98f5370497dffb38cdfb9d3dbb89d3ebac18e50327629ef0c48b5664736f6c634300081b0033"  # noqa: E501
+INDEXED_EVENT_CONTRACT_BYTECODE = "0x6080604052348015600e575f5ffd5b506101708061001c5f395ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c80635818fad71461002d575b5f5ffd5b610047600480360381019061004291906100e7565b610049565b005b807ff70fe689e290d8ce2b2a388ac28db36fbb0e16a6d89c6804c461f65a1b40bb1560405160405180910390a27f56d2ef3c5228bf5d88573621e325a4672ab50e033749a601e4f4a5e1dce905d4816040516100a59190610121565b60405180910390a150565b5f5ffd5b5f819050919050565b6100c6816100b4565b81146100d0575f5ffd5b50565b5f813590506100e1816100bd565b92915050565b5f602082840312156100fc576100fb6100b0565b5b5f610109848285016100d3565b91505092915050565b61011b816100b4565b82525050565b5f6020820190506101345f830184610112565b9291505056fea2646970667358221220c54729ba3e926e84d8497888e2dc66bd33efa5e4ebcd95e323dc53eb183500cc64736f6c634300081c0033"  # noqa: E501
+INDEXED_EVENT_CONTRACT_RUNTIME = "0x608060405234801561000f575f5ffd5b5060043610610029575f3560e01c80635818fad71461002d575b5f5ffd5b610047600480360381019061004291906100e7565b610049565b005b807ff70fe689e290d8ce2b2a388ac28db36fbb0e16a6d89c6804c461f65a1b40bb1560405160405180910390a27f56d2ef3c5228bf5d88573621e325a4672ab50e033749a601e4f4a5e1dce905d4816040516100a59190610121565b60405180910390a150565b5f5ffd5b5f819050919050565b6100c6816100b4565b81146100d0575f5ffd5b50565b5f813590506100e1816100bd565b92915050565b5f602082840312156100fc576100fb6100b0565b5b5f610109848285016100d3565b91505092915050565b61011b816100b4565b82525050565b5f6020820190506101345f830184610112565b9291505056fea2646970667358221220c54729ba3e926e84d8497888e2dc66bd33efa5e4ebcd95e323dc53eb183500cc64736f6c634300081c0033"  # noqa: E501
 INDEXED_EVENT_CONTRACT_ABI = [
     {
         "anonymous": False,
diff --git a/web3/_utils/contract_sources/contract_data/extended_resolver.py b/web3/_utils/contract_sources/contract_data/extended_resolver.py
index 23bd0de3e0..5fa0dfe4a5 100644
--- a/web3/_utils/contract_sources/contract_data/extended_resolver.py
+++ b/web3/_utils/contract_sources/contract_data/extended_resolver.py
@@ -1,11 +1,11 @@
 """
 Generated by `compile_contracts.py` script.
-Compiled with Solidity v0.8.27.
+Compiled with Solidity v0.8.28.
 """
 
 # source: web3/_utils/contract_sources/ExtendedResolver.sol:ExtendedResolver
-EXTENDED_RESOLVER_BYTECODE = "0x608060405234801561000f575f5ffd5b50604051610d0e380380610d0e833981810160405281019061003191906100e5565b805f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050610110565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100a38261007a565b9050919050565b5f6100b482610099565b9050919050565b6100c4816100aa565b81146100ce575f5ffd5b50565b5f815190506100df816100bb565b92915050565b5f602082840312156100fa576100f9610076565b5b5f610107848285016100d1565b91505092915050565b610bf18061011d5f395ff3fe608060405234801561000f575f5ffd5b506004361061004a575f3560e01c806301ffc9a71461004e5780633e9ce7941461007e5780639061b9231461009a578063f86bc879146100ca575b5f5ffd5b61006860048036038101906100639190610539565b6100fa565b604051610075919061057e565b60405180910390f35b6100986004803603810190610093919061064e565b61015a565b005b6100b460048036038101906100af91906106ff565b61023a565b6040516100c191906107ed565b60405180910390f35b6100e460048036038101906100df919061080d565b610457565b6040516100f1919061057e565b60405180910390f35b5f639061b92360e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061015357506101528261048c565b5b9050919050565b8060015f8581526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055507fe1c5610a6e0cbe10764ecd182adcef1ec338dc4e199c99c32ce98f38e12791df8333848460405161022d949392919061087b565b60405180910390a1505050565b60606040518060400160405280601781526020017f11657874656e6465642d7265736f6c76657203657468000000000000000000008152508051906020012085856040516102899291906108fa565b60405180910390201480156102a2575060248383905010155b15610352577ff0a378cc2afe91730d0105e67d6bb037cc5b8b6bfec5b5962d9b637ff6497e555f1b83836004906024926102de9392919061091a565b906102e9919061096a565b14610329576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161032090610a48565b60405180910390fd5b61beef60405160200161033c9190610a66565b604051602081830303815290604052905061044f565b5f85855f81811061036657610365610a7f565b5b9050013560f81c60f81b60f81c60ff1690506040518060400160405280601781526020017f11657874656e6465642d7265736f6c76657203657468000000000000000000008152508051906020012086868360016103c49190610ae2565b9080926103d39392919061091a565b6040516103e1929190610b15565b604051809103902014610429576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161042090610b9d565b60405180910390fd5b61dead60405160200161043c9190610a66565b6040516020818303038152906040529150505b949350505050565b6001602052825f5260405f20602052815f5260405f20602052805f5260405f205f92509250509054906101000a900460ff1681565b5f6301ffc9a760e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f5ffd5b5f5ffd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b610518816104e4565b8114610522575f5ffd5b50565b5f813590506105338161050f565b92915050565b5f6020828403121561054e5761054d6104dc565b5b5f61055b84828501610525565b91505092915050565b5f8115159050919050565b61057881610564565b82525050565b5f6020820190506105915f83018461056f565b92915050565b5f819050919050565b6105a981610597565b81146105b3575f5ffd5b50565b5f813590506105c4816105a0565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6105f3826105ca565b9050919050565b610603816105e9565b811461060d575f5ffd5b50565b5f8135905061061e816105fa565b92915050565b61062d81610564565b8114610637575f5ffd5b50565b5f8135905061064881610624565b92915050565b5f5f5f60608486031215610665576106646104dc565b5b5f610672868287016105b6565b935050602061068386828701610610565b92505060406106948682870161063a565b9150509250925092565b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83601f8401126106bf576106be61069e565b5b8235905067ffffffffffffffff8111156106dc576106db6106a2565b5b6020830191508360018202830111156106f8576106f76106a6565b5b9250929050565b5f5f5f5f60408587031215610717576107166104dc565b5b5f85013567ffffffffffffffff811115610734576107336104e0565b5b610740878288016106aa565b9450945050602085013567ffffffffffffffff811115610763576107626104e0565b5b61076f878288016106aa565b925092505092959194509250565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6107bf8261077d565b6107c98185610787565b93506107d9818560208601610797565b6107e2816107a5565b840191505092915050565b5f6020820190508181035f83015261080581846107b5565b905092915050565b5f5f5f60608486031215610824576108236104dc565b5b5f610831868287016105b6565b935050602061084286828701610610565b925050604061085386828701610610565b9150509250925092565b61086681610597565b82525050565b610875816105e9565b82525050565b5f60808201905061088e5f83018761085d565b61089b602083018661086c565b6108a8604083018561086c565b6108b5606083018461056f565b95945050505050565b5f81905092915050565b828183375f83830152505050565b5f6108e183856108be565b93506108ee8385846108c8565b82840190509392505050565b5f6109068284866108d6565b91508190509392505050565b5f5ffd5b5f5ffd5b5f5f8585111561092d5761092c610912565b5b8386111561093e5761093d610916565b5b6001850283019150848603905094509492505050565b5f82905092915050565b5f82821b905092915050565b5f6109758383610954565b826109808135610597565b925060208210156109c0576109bb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8360200360080261095e565b831692505b505092915050565b5f82825260208201905092915050565b7f706172656e7420646f6d61696e206e6f742076616c69646174656420617070725f8201527f6f7072696174656c790000000000000000000000000000000000000000000000602082015250565b5f610a326029836109c8565b9150610a3d826109d8565b604082019050919050565b5f6020820190508181035f830152610a5f81610a26565b9050919050565b5f602082019050610a795f83018461086c565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610aec82610aac565b9150610af783610aac565b9250828201905080821115610b0f57610b0e610ab5565b5b92915050565b5f610b218284866108d6565b91508190509392505050565b7f737562646f6d61696e206e6f742076616c69646174656420617070726f7072695f8201527f6174656c79000000000000000000000000000000000000000000000000000000602082015250565b5f610b876025836109c8565b9150610b9282610b2d565b604082019050919050565b5f6020820190508181035f830152610bb481610b7b565b905091905056fea264697066735822122071b89ba53d95336d0822f4be36fbf7bcaf88d0470a9a5ec12b7e52ffbc65fa1164736f6c634300081b0033"  # noqa: E501
-EXTENDED_RESOLVER_RUNTIME = "0x608060405234801561000f575f5ffd5b506004361061004a575f3560e01c806301ffc9a71461004e5780633e9ce7941461007e5780639061b9231461009a578063f86bc879146100ca575b5f5ffd5b61006860048036038101906100639190610539565b6100fa565b604051610075919061057e565b60405180910390f35b6100986004803603810190610093919061064e565b61015a565b005b6100b460048036038101906100af91906106ff565b61023a565b6040516100c191906107ed565b60405180910390f35b6100e460048036038101906100df919061080d565b610457565b6040516100f1919061057e565b60405180910390f35b5f639061b92360e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061015357506101528261048c565b5b9050919050565b8060015f8581526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055507fe1c5610a6e0cbe10764ecd182adcef1ec338dc4e199c99c32ce98f38e12791df8333848460405161022d949392919061087b565b60405180910390a1505050565b60606040518060400160405280601781526020017f11657874656e6465642d7265736f6c76657203657468000000000000000000008152508051906020012085856040516102899291906108fa565b60405180910390201480156102a2575060248383905010155b15610352577ff0a378cc2afe91730d0105e67d6bb037cc5b8b6bfec5b5962d9b637ff6497e555f1b83836004906024926102de9392919061091a565b906102e9919061096a565b14610329576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161032090610a48565b60405180910390fd5b61beef60405160200161033c9190610a66565b604051602081830303815290604052905061044f565b5f85855f81811061036657610365610a7f565b5b9050013560f81c60f81b60f81c60ff1690506040518060400160405280601781526020017f11657874656e6465642d7265736f6c76657203657468000000000000000000008152508051906020012086868360016103c49190610ae2565b9080926103d39392919061091a565b6040516103e1929190610b15565b604051809103902014610429576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161042090610b9d565b60405180910390fd5b61dead60405160200161043c9190610a66565b6040516020818303038152906040529150505b949350505050565b6001602052825f5260405f20602052815f5260405f20602052805f5260405f205f92509250509054906101000a900460ff1681565b5f6301ffc9a760e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f5ffd5b5f5ffd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b610518816104e4565b8114610522575f5ffd5b50565b5f813590506105338161050f565b92915050565b5f6020828403121561054e5761054d6104dc565b5b5f61055b84828501610525565b91505092915050565b5f8115159050919050565b61057881610564565b82525050565b5f6020820190506105915f83018461056f565b92915050565b5f819050919050565b6105a981610597565b81146105b3575f5ffd5b50565b5f813590506105c4816105a0565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6105f3826105ca565b9050919050565b610603816105e9565b811461060d575f5ffd5b50565b5f8135905061061e816105fa565b92915050565b61062d81610564565b8114610637575f5ffd5b50565b5f8135905061064881610624565b92915050565b5f5f5f60608486031215610665576106646104dc565b5b5f610672868287016105b6565b935050602061068386828701610610565b92505060406106948682870161063a565b9150509250925092565b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83601f8401126106bf576106be61069e565b5b8235905067ffffffffffffffff8111156106dc576106db6106a2565b5b6020830191508360018202830111156106f8576106f76106a6565b5b9250929050565b5f5f5f5f60408587031215610717576107166104dc565b5b5f85013567ffffffffffffffff811115610734576107336104e0565b5b610740878288016106aa565b9450945050602085013567ffffffffffffffff811115610763576107626104e0565b5b61076f878288016106aa565b925092505092959194509250565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6107bf8261077d565b6107c98185610787565b93506107d9818560208601610797565b6107e2816107a5565b840191505092915050565b5f6020820190508181035f83015261080581846107b5565b905092915050565b5f5f5f60608486031215610824576108236104dc565b5b5f610831868287016105b6565b935050602061084286828701610610565b925050604061085386828701610610565b9150509250925092565b61086681610597565b82525050565b610875816105e9565b82525050565b5f60808201905061088e5f83018761085d565b61089b602083018661086c565b6108a8604083018561086c565b6108b5606083018461056f565b95945050505050565b5f81905092915050565b828183375f83830152505050565b5f6108e183856108be565b93506108ee8385846108c8565b82840190509392505050565b5f6109068284866108d6565b91508190509392505050565b5f5ffd5b5f5ffd5b5f5f8585111561092d5761092c610912565b5b8386111561093e5761093d610916565b5b6001850283019150848603905094509492505050565b5f82905092915050565b5f82821b905092915050565b5f6109758383610954565b826109808135610597565b925060208210156109c0576109bb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8360200360080261095e565b831692505b505092915050565b5f82825260208201905092915050565b7f706172656e7420646f6d61696e206e6f742076616c69646174656420617070725f8201527f6f7072696174656c790000000000000000000000000000000000000000000000602082015250565b5f610a326029836109c8565b9150610a3d826109d8565b604082019050919050565b5f6020820190508181035f830152610a5f81610a26565b9050919050565b5f602082019050610a795f83018461086c565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610aec82610aac565b9150610af783610aac565b9250828201905080821115610b0f57610b0e610ab5565b5b92915050565b5f610b218284866108d6565b91508190509392505050565b7f737562646f6d61696e206e6f742076616c69646174656420617070726f7072695f8201527f6174656c79000000000000000000000000000000000000000000000000000000602082015250565b5f610b876025836109c8565b9150610b9282610b2d565b604082019050919050565b5f6020820190508181035f830152610bb481610b7b565b905091905056fea264697066735822122071b89ba53d95336d0822f4be36fbf7bcaf88d0470a9a5ec12b7e52ffbc65fa1164736f6c634300081b0033"  # noqa: E501
+EXTENDED_RESOLVER_BYTECODE = "0x608060405234801561000f575f5ffd5b50604051610d0e380380610d0e833981810160405281019061003191906100e5565b805f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050610110565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100a38261007a565b9050919050565b5f6100b482610099565b9050919050565b6100c4816100aa565b81146100ce575f5ffd5b50565b5f815190506100df816100bb565b92915050565b5f602082840312156100fa576100f9610076565b5b5f610107848285016100d1565b91505092915050565b610bf18061011d5f395ff3fe608060405234801561000f575f5ffd5b506004361061004a575f3560e01c806301ffc9a71461004e5780633e9ce7941461007e5780639061b9231461009a578063f86bc879146100ca575b5f5ffd5b61006860048036038101906100639190610539565b6100fa565b604051610075919061057e565b60405180910390f35b6100986004803603810190610093919061064e565b61015a565b005b6100b460048036038101906100af91906106ff565b61023a565b6040516100c191906107ed565b60405180910390f35b6100e460048036038101906100df919061080d565b610457565b6040516100f1919061057e565b60405180910390f35b5f639061b92360e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061015357506101528261048c565b5b9050919050565b8060015f8581526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055507fe1c5610a6e0cbe10764ecd182adcef1ec338dc4e199c99c32ce98f38e12791df8333848460405161022d949392919061087b565b60405180910390a1505050565b60606040518060400160405280601781526020017f11657874656e6465642d7265736f6c76657203657468000000000000000000008152508051906020012085856040516102899291906108fa565b60405180910390201480156102a2575060248383905010155b15610352577ff0a378cc2afe91730d0105e67d6bb037cc5b8b6bfec5b5962d9b637ff6497e555f1b83836004906024926102de9392919061091a565b906102e9919061096a565b14610329576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161032090610a48565b60405180910390fd5b61beef60405160200161033c9190610a66565b604051602081830303815290604052905061044f565b5f85855f81811061036657610365610a7f565b5b9050013560f81c60f81b60f81c60ff1690506040518060400160405280601781526020017f11657874656e6465642d7265736f6c76657203657468000000000000000000008152508051906020012086868360016103c49190610ae2565b9080926103d39392919061091a565b6040516103e1929190610b15565b604051809103902014610429576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161042090610b9d565b60405180910390fd5b61dead60405160200161043c9190610a66565b6040516020818303038152906040529150505b949350505050565b6001602052825f5260405f20602052815f5260405f20602052805f5260405f205f92509250509054906101000a900460ff1681565b5f6301ffc9a760e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f5ffd5b5f5ffd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b610518816104e4565b8114610522575f5ffd5b50565b5f813590506105338161050f565b92915050565b5f6020828403121561054e5761054d6104dc565b5b5f61055b84828501610525565b91505092915050565b5f8115159050919050565b61057881610564565b82525050565b5f6020820190506105915f83018461056f565b92915050565b5f819050919050565b6105a981610597565b81146105b3575f5ffd5b50565b5f813590506105c4816105a0565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6105f3826105ca565b9050919050565b610603816105e9565b811461060d575f5ffd5b50565b5f8135905061061e816105fa565b92915050565b61062d81610564565b8114610637575f5ffd5b50565b5f8135905061064881610624565b92915050565b5f5f5f60608486031215610665576106646104dc565b5b5f610672868287016105b6565b935050602061068386828701610610565b92505060406106948682870161063a565b9150509250925092565b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83601f8401126106bf576106be61069e565b5b8235905067ffffffffffffffff8111156106dc576106db6106a2565b5b6020830191508360018202830111156106f8576106f76106a6565b5b9250929050565b5f5f5f5f60408587031215610717576107166104dc565b5b5f85013567ffffffffffffffff811115610734576107336104e0565b5b610740878288016106aa565b9450945050602085013567ffffffffffffffff811115610763576107626104e0565b5b61076f878288016106aa565b925092505092959194509250565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6107bf8261077d565b6107c98185610787565b93506107d9818560208601610797565b6107e2816107a5565b840191505092915050565b5f6020820190508181035f83015261080581846107b5565b905092915050565b5f5f5f60608486031215610824576108236104dc565b5b5f610831868287016105b6565b935050602061084286828701610610565b925050604061085386828701610610565b9150509250925092565b61086681610597565b82525050565b610875816105e9565b82525050565b5f60808201905061088e5f83018761085d565b61089b602083018661086c565b6108a8604083018561086c565b6108b5606083018461056f565b95945050505050565b5f81905092915050565b828183375f83830152505050565b5f6108e183856108be565b93506108ee8385846108c8565b82840190509392505050565b5f6109068284866108d6565b91508190509392505050565b5f5ffd5b5f5ffd5b5f5f8585111561092d5761092c610912565b5b8386111561093e5761093d610916565b5b6001850283019150848603905094509492505050565b5f82905092915050565b5f82821b905092915050565b5f6109758383610954565b826109808135610597565b925060208210156109c0576109bb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8360200360080261095e565b831692505b505092915050565b5f82825260208201905092915050565b7f706172656e7420646f6d61696e206e6f742076616c69646174656420617070725f8201527f6f7072696174656c790000000000000000000000000000000000000000000000602082015250565b5f610a326029836109c8565b9150610a3d826109d8565b604082019050919050565b5f6020820190508181035f830152610a5f81610a26565b9050919050565b5f602082019050610a795f83018461086c565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610aec82610aac565b9150610af783610aac565b9250828201905080821115610b0f57610b0e610ab5565b5b92915050565b5f610b218284866108d6565b91508190509392505050565b7f737562646f6d61696e206e6f742076616c69646174656420617070726f7072695f8201527f6174656c79000000000000000000000000000000000000000000000000000000602082015250565b5f610b876025836109c8565b9150610b9282610b2d565b604082019050919050565b5f6020820190508181035f830152610bb481610b7b565b905091905056fea26469706673582212205ab10cf239b8527007bcb989e46ee22dfda29cd927a312382b9f97e22aea941764736f6c634300081c0033"  # noqa: E501
+EXTENDED_RESOLVER_RUNTIME = "0x608060405234801561000f575f5ffd5b506004361061004a575f3560e01c806301ffc9a71461004e5780633e9ce7941461007e5780639061b9231461009a578063f86bc879146100ca575b5f5ffd5b61006860048036038101906100639190610539565b6100fa565b604051610075919061057e565b60405180910390f35b6100986004803603810190610093919061064e565b61015a565b005b6100b460048036038101906100af91906106ff565b61023a565b6040516100c191906107ed565b60405180910390f35b6100e460048036038101906100df919061080d565b610457565b6040516100f1919061057e565b60405180910390f35b5f639061b92360e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061015357506101528261048c565b5b9050919050565b8060015f8581526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055507fe1c5610a6e0cbe10764ecd182adcef1ec338dc4e199c99c32ce98f38e12791df8333848460405161022d949392919061087b565b60405180910390a1505050565b60606040518060400160405280601781526020017f11657874656e6465642d7265736f6c76657203657468000000000000000000008152508051906020012085856040516102899291906108fa565b60405180910390201480156102a2575060248383905010155b15610352577ff0a378cc2afe91730d0105e67d6bb037cc5b8b6bfec5b5962d9b637ff6497e555f1b83836004906024926102de9392919061091a565b906102e9919061096a565b14610329576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161032090610a48565b60405180910390fd5b61beef60405160200161033c9190610a66565b604051602081830303815290604052905061044f565b5f85855f81811061036657610365610a7f565b5b9050013560f81c60f81b60f81c60ff1690506040518060400160405280601781526020017f11657874656e6465642d7265736f6c76657203657468000000000000000000008152508051906020012086868360016103c49190610ae2565b9080926103d39392919061091a565b6040516103e1929190610b15565b604051809103902014610429576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161042090610b9d565b60405180910390fd5b61dead60405160200161043c9190610a66565b6040516020818303038152906040529150505b949350505050565b6001602052825f5260405f20602052815f5260405f20602052805f5260405f205f92509250509054906101000a900460ff1681565b5f6301ffc9a760e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f5ffd5b5f5ffd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b610518816104e4565b8114610522575f5ffd5b50565b5f813590506105338161050f565b92915050565b5f6020828403121561054e5761054d6104dc565b5b5f61055b84828501610525565b91505092915050565b5f8115159050919050565b61057881610564565b82525050565b5f6020820190506105915f83018461056f565b92915050565b5f819050919050565b6105a981610597565b81146105b3575f5ffd5b50565b5f813590506105c4816105a0565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6105f3826105ca565b9050919050565b610603816105e9565b811461060d575f5ffd5b50565b5f8135905061061e816105fa565b92915050565b61062d81610564565b8114610637575f5ffd5b50565b5f8135905061064881610624565b92915050565b5f5f5f60608486031215610665576106646104dc565b5b5f610672868287016105b6565b935050602061068386828701610610565b92505060406106948682870161063a565b9150509250925092565b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83601f8401126106bf576106be61069e565b5b8235905067ffffffffffffffff8111156106dc576106db6106a2565b5b6020830191508360018202830111156106f8576106f76106a6565b5b9250929050565b5f5f5f5f60408587031215610717576107166104dc565b5b5f85013567ffffffffffffffff811115610734576107336104e0565b5b610740878288016106aa565b9450945050602085013567ffffffffffffffff811115610763576107626104e0565b5b61076f878288016106aa565b925092505092959194509250565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6107bf8261077d565b6107c98185610787565b93506107d9818560208601610797565b6107e2816107a5565b840191505092915050565b5f6020820190508181035f83015261080581846107b5565b905092915050565b5f5f5f60608486031215610824576108236104dc565b5b5f610831868287016105b6565b935050602061084286828701610610565b925050604061085386828701610610565b9150509250925092565b61086681610597565b82525050565b610875816105e9565b82525050565b5f60808201905061088e5f83018761085d565b61089b602083018661086c565b6108a8604083018561086c565b6108b5606083018461056f565b95945050505050565b5f81905092915050565b828183375f83830152505050565b5f6108e183856108be565b93506108ee8385846108c8565b82840190509392505050565b5f6109068284866108d6565b91508190509392505050565b5f5ffd5b5f5ffd5b5f5f8585111561092d5761092c610912565b5b8386111561093e5761093d610916565b5b6001850283019150848603905094509492505050565b5f82905092915050565b5f82821b905092915050565b5f6109758383610954565b826109808135610597565b925060208210156109c0576109bb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8360200360080261095e565b831692505b505092915050565b5f82825260208201905092915050565b7f706172656e7420646f6d61696e206e6f742076616c69646174656420617070725f8201527f6f7072696174656c790000000000000000000000000000000000000000000000602082015250565b5f610a326029836109c8565b9150610a3d826109d8565b604082019050919050565b5f6020820190508181035f830152610a5f81610a26565b9050919050565b5f602082019050610a795f83018461086c565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610aec82610aac565b9150610af783610aac565b9250828201905080821115610b0f57610b0e610ab5565b5b92915050565b5f610b218284866108d6565b91508190509392505050565b7f737562646f6d61696e206e6f742076616c69646174656420617070726f7072695f8201527f6174656c79000000000000000000000000000000000000000000000000000000602082015250565b5f610b876025836109c8565b9150610b9282610b2d565b604082019050919050565b5f6020820190508181035f830152610bb481610b7b565b905091905056fea26469706673582212205ab10cf239b8527007bcb989e46ee22dfda29cd927a312382b9f97e22aea941764736f6c634300081c0033"  # noqa: E501
 EXTENDED_RESOLVER_ABI = [
     {
         "inputs": [{"internalType": "contract ENS", "name": "_ens", "type": "address"}],
diff --git a/web3/_utils/contract_sources/contract_data/fallback_function_contract.py b/web3/_utils/contract_sources/contract_data/fallback_function_contract.py
index c0856bca7b..0672e804a0 100644
--- a/web3/_utils/contract_sources/contract_data/fallback_function_contract.py
+++ b/web3/_utils/contract_sources/contract_data/fallback_function_contract.py
@@ -1,11 +1,11 @@
 """
 Generated by `compile_contracts.py` script.
-Compiled with Solidity v0.8.27.
+Compiled with Solidity v0.8.28.
 """
 
 # source: web3/_utils/contract_sources/FallbackFunctionContract.sol:FallbackFunctionContract  # noqa: E501
-FALLBACK_FUNCTION_CONTRACT_BYTECODE = "0x60806040525f5f8190555060b78060155f395ff3fe6080604052348015600e575f5ffd5b50600436106029575f3560e01c80633bc5de3014603257602a565b5b60015f819055005b6038604c565b60405160439190606a565b60405180910390f35b5f5f54905090565b5f819050919050565b6064816054565b82525050565b5f602082019050607b5f830184605d565b9291505056fea2646970667358221220fcc054b72b384681861ebc7aad10e303d5554eb1236d20ecb8116c771638d89d64736f6c634300081b0033"  # noqa: E501
-FALLBACK_FUNCTION_CONTRACT_RUNTIME = "0x6080604052348015600e575f5ffd5b50600436106029575f3560e01c80633bc5de3014603257602a565b5b60015f819055005b6038604c565b60405160439190606a565b60405180910390f35b5f5f54905090565b5f819050919050565b6064816054565b82525050565b5f602082019050607b5f830184605d565b9291505056fea2646970667358221220fcc054b72b384681861ebc7aad10e303d5554eb1236d20ecb8116c771638d89d64736f6c634300081b0033"  # noqa: E501
+FALLBACK_FUNCTION_CONTRACT_BYTECODE = "0x60806040525f5f8190555060b78060155f395ff3fe6080604052348015600e575f5ffd5b50600436106029575f3560e01c80633bc5de3014603257602a565b5b60015f819055005b6038604c565b60405160439190606a565b60405180910390f35b5f5f54905090565b5f819050919050565b6064816054565b82525050565b5f602082019050607b5f830184605d565b9291505056fea2646970667358221220800814dc5d3a378595dec38622a404ae5513582f4192658348ee6364496e02f164736f6c634300081c0033"  # noqa: E501
+FALLBACK_FUNCTION_CONTRACT_RUNTIME = "0x6080604052348015600e575f5ffd5b50600436106029575f3560e01c80633bc5de3014603257602a565b5b60015f819055005b6038604c565b60405160439190606a565b60405180910390f35b5f5f54905090565b5f819050919050565b6064816054565b82525050565b5f602082019050607b5f830184605d565b9291505056fea2646970667358221220800814dc5d3a378595dec38622a404ae5513582f4192658348ee6364496e02f164736f6c634300081c0033"  # noqa: E501
 FALLBACK_FUNCTION_CONTRACT_ABI = [
     {"inputs": [], "stateMutability": "payable", "type": "constructor"},
     {"stateMutability": "nonpayable", "type": "fallback"},
diff --git a/web3/_utils/contract_sources/contract_data/math_contract.py b/web3/_utils/contract_sources/contract_data/math_contract.py
index 47cc1438ed..4b926176a8 100644
--- a/web3/_utils/contract_sources/contract_data/math_contract.py
+++ b/web3/_utils/contract_sources/contract_data/math_contract.py
@@ -1,11 +1,11 @@
 """
 Generated by `compile_contracts.py` script.
-Compiled with Solidity v0.8.27.
+Compiled with Solidity v0.8.28.
 """
 
 # source: web3/_utils/contract_sources/MathContract.sol:MathContract
-MATH_CONTRACT_BYTECODE = "0x60806040525f5f553480156011575f5ffd5b5061052d8061001f5f395ff3fe608060405260043610610054575f3560e01c806316216f39146100585780635b34b9661461008257806361bc221a146100a05780636abbb3b4146100ca578063a5f3c23b146100fa578063dcf537b11461012a575b5f5ffd5b348015610063575f5ffd5b5061006c61015a565b604051610079919061024f565b60405180910390f35b61008a610162565b6040516100979190610280565b60405180910390f35b3480156100ab575f5ffd5b506100b46101b5565b6040516100c19190610280565b60405180910390f35b6100e460048036038101906100df91906102c7565b6101ba565b6040516100f19190610280565b60405180910390f35b610114600480360381019061010f919061031c565b61020d565b604051610121919061024f565b60405180910390f35b610144600480360381019061013f919061035a565b610222565b604051610151919061024f565b60405180910390f35b5f600d905090565b5f60015f5461017191906103b2565b5f819055507f3496c3ede4ec3ab3686712aa1c238593ea6a42df83f98a5ec7df9834cfa577c560016040516101a69190610427565b60405180910390a15f54905090565b5f5481565b5f815f546101c891906103b2565b5f819055507f3496c3ede4ec3ab3686712aa1c238593ea6a42df83f98a5ec7df9834cfa577c5826040516101fc9190610280565b60405180910390a15f549050919050565b5f818361021a9190610440565b905092915050565b5f6007826102309190610481565b9050919050565b5f819050919050565b61024981610237565b82525050565b5f6020820190506102625f830184610240565b92915050565b5f819050919050565b61027a81610268565b82525050565b5f6020820190506102935f830184610271565b92915050565b5f5ffd5b6102a681610268565b81146102b0575f5ffd5b50565b5f813590506102c18161029d565b92915050565b5f602082840312156102dc576102db610299565b5b5f6102e9848285016102b3565b91505092915050565b6102fb81610237565b8114610305575f5ffd5b50565b5f81359050610316816102f2565b92915050565b5f5f6040838503121561033257610331610299565b5b5f61033f85828601610308565b925050602061035085828601610308565b9150509250929050565b5f6020828403121561036f5761036e610299565b5b5f61037c84828501610308565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6103bc82610268565b91506103c783610268565b92508282019050808211156103df576103de610385565b5b92915050565b5f819050919050565b5f819050919050565b5f61041161040c610407846103e5565b6103ee565b610268565b9050919050565b610421816103f7565b82525050565b5f60208201905061043a5f830184610418565b92915050565b5f61044a82610237565b915061045583610237565b92508282019050828112155f8312168382125f84121516171561047b5761047a610385565b5b92915050565b5f61048b82610237565b915061049683610237565b92508282026104a481610237565b91507f800000000000000000000000000000000000000000000000000000000000000084145f841216156104db576104da610385565b5b82820584148315176104f0576104ef610385565b5b509291505056fea26469706673582212203eaa7cfc4d163a88508ae55cb76b1c0d41214b9f9a6031419fdf7221449d5d8a64736f6c634300081b0033"  # noqa: E501
-MATH_CONTRACT_RUNTIME = "0x608060405260043610610054575f3560e01c806316216f39146100585780635b34b9661461008257806361bc221a146100a05780636abbb3b4146100ca578063a5f3c23b146100fa578063dcf537b11461012a575b5f5ffd5b348015610063575f5ffd5b5061006c61015a565b604051610079919061024f565b60405180910390f35b61008a610162565b6040516100979190610280565b60405180910390f35b3480156100ab575f5ffd5b506100b46101b5565b6040516100c19190610280565b60405180910390f35b6100e460048036038101906100df91906102c7565b6101ba565b6040516100f19190610280565b60405180910390f35b610114600480360381019061010f919061031c565b61020d565b604051610121919061024f565b60405180910390f35b610144600480360381019061013f919061035a565b610222565b604051610151919061024f565b60405180910390f35b5f600d905090565b5f60015f5461017191906103b2565b5f819055507f3496c3ede4ec3ab3686712aa1c238593ea6a42df83f98a5ec7df9834cfa577c560016040516101a69190610427565b60405180910390a15f54905090565b5f5481565b5f815f546101c891906103b2565b5f819055507f3496c3ede4ec3ab3686712aa1c238593ea6a42df83f98a5ec7df9834cfa577c5826040516101fc9190610280565b60405180910390a15f549050919050565b5f818361021a9190610440565b905092915050565b5f6007826102309190610481565b9050919050565b5f819050919050565b61024981610237565b82525050565b5f6020820190506102625f830184610240565b92915050565b5f819050919050565b61027a81610268565b82525050565b5f6020820190506102935f830184610271565b92915050565b5f5ffd5b6102a681610268565b81146102b0575f5ffd5b50565b5f813590506102c18161029d565b92915050565b5f602082840312156102dc576102db610299565b5b5f6102e9848285016102b3565b91505092915050565b6102fb81610237565b8114610305575f5ffd5b50565b5f81359050610316816102f2565b92915050565b5f5f6040838503121561033257610331610299565b5b5f61033f85828601610308565b925050602061035085828601610308565b9150509250929050565b5f6020828403121561036f5761036e610299565b5b5f61037c84828501610308565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6103bc82610268565b91506103c783610268565b92508282019050808211156103df576103de610385565b5b92915050565b5f819050919050565b5f819050919050565b5f61041161040c610407846103e5565b6103ee565b610268565b9050919050565b610421816103f7565b82525050565b5f60208201905061043a5f830184610418565b92915050565b5f61044a82610237565b915061045583610237565b92508282019050828112155f8312168382125f84121516171561047b5761047a610385565b5b92915050565b5f61048b82610237565b915061049683610237565b92508282026104a481610237565b91507f800000000000000000000000000000000000000000000000000000000000000084145f841216156104db576104da610385565b5b82820584148315176104f0576104ef610385565b5b509291505056fea26469706673582212203eaa7cfc4d163a88508ae55cb76b1c0d41214b9f9a6031419fdf7221449d5d8a64736f6c634300081b0033"  # noqa: E501
+MATH_CONTRACT_BYTECODE = "0x60806040525f5f553480156011575f5ffd5b5061052d8061001f5f395ff3fe608060405260043610610054575f3560e01c806316216f39146100585780635b34b9661461008257806361bc221a146100a05780636abbb3b4146100ca578063a5f3c23b146100fa578063dcf537b11461012a575b5f5ffd5b348015610063575f5ffd5b5061006c61015a565b604051610079919061024f565b60405180910390f35b61008a610162565b6040516100979190610280565b60405180910390f35b3480156100ab575f5ffd5b506100b46101b5565b6040516100c19190610280565b60405180910390f35b6100e460048036038101906100df91906102c7565b6101ba565b6040516100f19190610280565b60405180910390f35b610114600480360381019061010f919061031c565b61020d565b604051610121919061024f565b60405180910390f35b610144600480360381019061013f919061035a565b610222565b604051610151919061024f565b60405180910390f35b5f600d905090565b5f60015f5461017191906103b2565b5f819055507f3496c3ede4ec3ab3686712aa1c238593ea6a42df83f98a5ec7df9834cfa577c560016040516101a69190610427565b60405180910390a15f54905090565b5f5481565b5f815f546101c891906103b2565b5f819055507f3496c3ede4ec3ab3686712aa1c238593ea6a42df83f98a5ec7df9834cfa577c5826040516101fc9190610280565b60405180910390a15f549050919050565b5f818361021a9190610440565b905092915050565b5f6007826102309190610481565b9050919050565b5f819050919050565b61024981610237565b82525050565b5f6020820190506102625f830184610240565b92915050565b5f819050919050565b61027a81610268565b82525050565b5f6020820190506102935f830184610271565b92915050565b5f5ffd5b6102a681610268565b81146102b0575f5ffd5b50565b5f813590506102c18161029d565b92915050565b5f602082840312156102dc576102db610299565b5b5f6102e9848285016102b3565b91505092915050565b6102fb81610237565b8114610305575f5ffd5b50565b5f81359050610316816102f2565b92915050565b5f5f6040838503121561033257610331610299565b5b5f61033f85828601610308565b925050602061035085828601610308565b9150509250929050565b5f6020828403121561036f5761036e610299565b5b5f61037c84828501610308565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6103bc82610268565b91506103c783610268565b92508282019050808211156103df576103de610385565b5b92915050565b5f819050919050565b5f819050919050565b5f61041161040c610407846103e5565b6103ee565b610268565b9050919050565b610421816103f7565b82525050565b5f60208201905061043a5f830184610418565b92915050565b5f61044a82610237565b915061045583610237565b92508282019050828112155f8312168382125f84121516171561047b5761047a610385565b5b92915050565b5f61048b82610237565b915061049683610237565b92508282026104a481610237565b91507f800000000000000000000000000000000000000000000000000000000000000084145f841216156104db576104da610385565b5b82820584148315176104f0576104ef610385565b5b509291505056fea2646970667358221220c5078cd95040e616934f2f6b647ffa7ab4c98a7e5cc133c6b445d87e388f10e264736f6c634300081c0033"  # noqa: E501
+MATH_CONTRACT_RUNTIME = "0x608060405260043610610054575f3560e01c806316216f39146100585780635b34b9661461008257806361bc221a146100a05780636abbb3b4146100ca578063a5f3c23b146100fa578063dcf537b11461012a575b5f5ffd5b348015610063575f5ffd5b5061006c61015a565b604051610079919061024f565b60405180910390f35b61008a610162565b6040516100979190610280565b60405180910390f35b3480156100ab575f5ffd5b506100b46101b5565b6040516100c19190610280565b60405180910390f35b6100e460048036038101906100df91906102c7565b6101ba565b6040516100f19190610280565b60405180910390f35b610114600480360381019061010f919061031c565b61020d565b604051610121919061024f565b60405180910390f35b610144600480360381019061013f919061035a565b610222565b604051610151919061024f565b60405180910390f35b5f600d905090565b5f60015f5461017191906103b2565b5f819055507f3496c3ede4ec3ab3686712aa1c238593ea6a42df83f98a5ec7df9834cfa577c560016040516101a69190610427565b60405180910390a15f54905090565b5f5481565b5f815f546101c891906103b2565b5f819055507f3496c3ede4ec3ab3686712aa1c238593ea6a42df83f98a5ec7df9834cfa577c5826040516101fc9190610280565b60405180910390a15f549050919050565b5f818361021a9190610440565b905092915050565b5f6007826102309190610481565b9050919050565b5f819050919050565b61024981610237565b82525050565b5f6020820190506102625f830184610240565b92915050565b5f819050919050565b61027a81610268565b82525050565b5f6020820190506102935f830184610271565b92915050565b5f5ffd5b6102a681610268565b81146102b0575f5ffd5b50565b5f813590506102c18161029d565b92915050565b5f602082840312156102dc576102db610299565b5b5f6102e9848285016102b3565b91505092915050565b6102fb81610237565b8114610305575f5ffd5b50565b5f81359050610316816102f2565b92915050565b5f5f6040838503121561033257610331610299565b5b5f61033f85828601610308565b925050602061035085828601610308565b9150509250929050565b5f6020828403121561036f5761036e610299565b5b5f61037c84828501610308565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6103bc82610268565b91506103c783610268565b92508282019050808211156103df576103de610385565b5b92915050565b5f819050919050565b5f819050919050565b5f61041161040c610407846103e5565b6103ee565b610268565b9050919050565b610421816103f7565b82525050565b5f60208201905061043a5f830184610418565b92915050565b5f61044a82610237565b915061045583610237565b92508282019050828112155f8312168382125f84121516171561047b5761047a610385565b5b92915050565b5f61048b82610237565b915061049683610237565b92508282026104a481610237565b91507f800000000000000000000000000000000000000000000000000000000000000084145f841216156104db576104da610385565b5b82820584148315176104f0576104ef610385565b5b509291505056fea2646970667358221220c5078cd95040e616934f2f6b647ffa7ab4c98a7e5cc133c6b445d87e388f10e264736f6c634300081c0033"  # noqa: E501
 MATH_CONTRACT_ABI = [
     {
         "anonymous": False,
diff --git a/web3/_utils/contract_sources/contract_data/offchain_lookup.py b/web3/_utils/contract_sources/contract_data/offchain_lookup.py
index 7576921d12..7852209f1c 100644
--- a/web3/_utils/contract_sources/contract_data/offchain_lookup.py
+++ b/web3/_utils/contract_sources/contract_data/offchain_lookup.py
@@ -1,11 +1,11 @@
 """
 Generated by `compile_contracts.py` script.
-Compiled with Solidity v0.8.27.
+Compiled with Solidity v0.8.28.
 """
 
 # source: web3/_utils/contract_sources/OffchainLookup.sol:OffchainLookup
-OFFCHAIN_LOOKUP_BYTECODE = "0x608060405260405180604001604052806040518060600160405280602c815260200161105e602c913981526020016040518060400160405280601781526020017f68747470733a2f2f776562332e70792f676174657761790000000000000000008152508152505f906002610075929190610087565b50348015610081575f5ffd5b50610465565b828054828255905f5260205f209081019282156100cd579160200282015b828111156100cc5782518290816100bc9190610396565b50916020019190600101906100a5565b5b5090506100da91906100de565b5090565b5b808211156100fd575f81816100f49190610101565b506001016100df565b5090565b50805461010d906101bd565b5f825580601f1061011e575061013b565b601f0160209004905f5260205f209081019061013a919061013e565b5b50565b5b80821115610155575f815f90555060010161013f565b5090565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806101d457607f821691505b6020821081036101e7576101e6610190565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026102497fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261020e565b610253868361020e565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61029761029261028d8461026b565b610274565b61026b565b9050919050565b5f819050919050565b6102b08361027d565b6102c46102bc8261029e565b84845461021a565b825550505050565b5f5f905090565b6102db6102cc565b6102e68184846102a7565b505050565b5b81811015610309576102fe5f826102d3565b6001810190506102ec565b5050565b601f82111561034e5761031f816101ed565b610328846101ff565b81016020851015610337578190505b61034b610343856101ff565b8301826102eb565b50505b505050565b5f82821c905092915050565b5f61036e5f1984600802610353565b1980831691505092915050565b5f610386838361035f565b9150826002028217905092915050565b61039f82610159565b67ffffffffffffffff8111156103b8576103b7610163565b5b6103c282546101bd565b6103cd82828561030d565b5f60209050601f8311600181146103fe575f84156103ec578287015190505b6103f6858261037b565b86555061045d565b601f19841661040c866101ed565b5f5b828110156104335784890151825560018201915060208501945060208101905061040e565b86831015610450578489015161044c601f89168261035f565b8355505b6001600288020188555050505b505050505050565b610bec806104725f395ff3fe608060405234801561000f575f5ffd5b506004361061003f575f3560e01c806309a3c01b146100435780636337ed5814610061578063da96d05a14610091575b5f5ffd5b61004b6100c1565b60405161005891906103f2565b60405180910390f35b61007b60048036038101906100769190610484565b610110565b60405161008891906103f2565b60405180910390f35b6100ab60048036038101906100a691906104cf565b6101fc565b6040516100b891906103f2565b60405180910390f35b606080305f826309a3c01b60e01b846040517f556f1830000000000000000000000000000000000000000000000000000000008152600401610107959493929190610783565b60405180910390fd5b60605f83838101906101229190610911565b90507fd9bdd1345ca2a00d0c1413137c1b2b1d0a35e5b0e11508f3b3eff856286af07581604051602001610156919061099c565b60405160208183030381529060405280519060200120146101ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101a390610a0c565b60405180910390fd5b305f858563da96d05a60e01b88886040517f556f18300000000000000000000000000000000000000000000000000000000081526004016101f39796959493929190610a56565b60405180910390fd5b60605f858581019061020e9190610911565b90507faed76f463930323372899e36460e078e5292aac45f645bbe567be6fca83ede1081604051602001610242919061099c565b6040516020818303038152906040528051906020012014610298576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161028f90610b30565b60405180910390fd5b5f84848101906102a89190610911565b90507fd9bdd1345ca2a00d0c1413137c1b2b1d0a35e5b0e11508f3b3eff856286af075816040516020016102dc919061099c565b6040516020818303038152906040528051906020012014610332576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161032990610b98565b60405180910390fd5b86868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f8201169050808301925050505050505092505050949350505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6103c482610382565b6103ce818561038c565b93506103de81856020860161039c565b6103e7816103aa565b840191505092915050565b5f6020820190508181035f83015261040a81846103ba565b905092915050565b5f604051905090565b5f5ffd5b5f5ffd5b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83601f84011261044457610443610423565b5b8235905067ffffffffffffffff81111561046157610460610427565b5b60208301915083600182028301111561047d5761047c61042b565b5b9250929050565b5f5f6020838503121561049a5761049961041b565b5b5f83013567ffffffffffffffff8111156104b7576104b661041f565b5b6104c38582860161042f565b92509250509250929050565b5f5f5f5f604085870312156104e7576104e661041b565b5b5f85013567ffffffffffffffff8111156105045761050361041f565b5b6105108782880161042f565b9450945050602085013567ffffffffffffffff8111156105335761053261041f565b5b61053f8782880161042f565b925092505092959194509250565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6105768261054d565b9050919050565b6105868161056c565b82525050565b5f81549050919050565b5f82825260208201905092915050565b5f819050815f5260205f209050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806105fc57607f821691505b60208210810361060f5761060e6105b8565b5b50919050565b5f82825260208201905092915050565b5f819050815f5260205f209050919050565b5f8154610643816105e5565b61064d8186610615565b9450600182165f8114610667576001811461067d576106af565b60ff1983168652811515602002860193506106af565b61068685610625565b5f5b838110156106a757815481890152600182019150602081019050610688565b808801955050505b50505092915050565b5f6106c38383610637565b905092915050565b5f600182019050919050565b5f6106e18261058c565b6106eb8185610596565b9350836020820285016106fd856105a6565b805f5b858110156107375784840389528161071885826106b8565b9450610723836106cb565b925060208a01995050600181019050610700565b50829750879550505050505092915050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61077d81610749565b82525050565b5f60a0820190506107965f83018861057d565b81810360208301526107a881876106d7565b905081810360408301526107bc81866103ba565b90506107cb6060830185610774565b81810360808301526107dd81846103ba565b90509695505050505050565b5f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610823826103aa565b810181811067ffffffffffffffff82111715610842576108416107ed565b5b80604052505050565b5f610854610412565b9050610860828261081a565b919050565b5f67ffffffffffffffff82111561087f5761087e6107ed565b5b610888826103aa565b9050602081019050919050565b828183375f83830152505050565b5f6108b56108b084610865565b61084b565b9050828152602081018484840111156108d1576108d06107e9565b5b6108dc848285610895565b509392505050565b5f82601f8301126108f8576108f7610423565b5b81356109088482602086016108a3565b91505092915050565b5f602082840312156109265761092561041b565b5b5f82013567ffffffffffffffff8111156109435761094261041f565b5b61094f848285016108e4565b91505092915050565b5f81519050919050565b5f81905092915050565b5f61097682610958565b6109808185610962565b935061099081856020860161039c565b80840191505092915050565b5f6109a7828461096c565b915081905092915050565b5f82825260208201905092915050565b7f7465737420646174612076616c69646174696f6e206661696c65642e000000005f82015250565b5f6109f6601c836109b2565b9150610a01826109c2565b602082019050919050565b5f6020820190508181035f830152610a23816109ea565b9050919050565b5f610a35838561038c565b9350610a42838584610895565b610a4b836103aa565b840190509392505050565b5f60a082019050610a695f83018a61057d565b8181036020830152610a7b81896106d7565b90508181036040830152610a90818789610a2a565b9050610a9f6060830186610774565b8181036080830152610ab2818486610a2a565b905098975050505050505050565b7f68747470207265717565737420726573756c742076616c69646174696f6e20665f8201527f61696c65642e0000000000000000000000000000000000000000000000000000602082015250565b5f610b1a6026836109b2565b9150610b2582610ac0565b604082019050919050565b5f6020820190508181035f830152610b4781610b0e565b9050919050565b7f6578747261446174612076616c69646174696f6e206661696c65642e000000005f82015250565b5f610b82601c836109b2565b9150610b8d82610b4e565b602082019050919050565b5f6020820190508181035f830152610baf81610b76565b905091905056fea264697066735822122057b6a2921a068efec1bdb94e9f03df697a3f59c9df2a9dad27bc3f325f5b629764736f6c634300081b003368747470733a2f2f776562332e70792f676174657761792f7b73656e6465727d2f7b646174617d2e6a736f6e"  # noqa: E501
-OFFCHAIN_LOOKUP_RUNTIME = "0x608060405234801561000f575f5ffd5b506004361061003f575f3560e01c806309a3c01b146100435780636337ed5814610061578063da96d05a14610091575b5f5ffd5b61004b6100c1565b60405161005891906103f2565b60405180910390f35b61007b60048036038101906100769190610484565b610110565b60405161008891906103f2565b60405180910390f35b6100ab60048036038101906100a691906104cf565b6101fc565b6040516100b891906103f2565b60405180910390f35b606080305f826309a3c01b60e01b846040517f556f1830000000000000000000000000000000000000000000000000000000008152600401610107959493929190610783565b60405180910390fd5b60605f83838101906101229190610911565b90507fd9bdd1345ca2a00d0c1413137c1b2b1d0a35e5b0e11508f3b3eff856286af07581604051602001610156919061099c565b60405160208183030381529060405280519060200120146101ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101a390610a0c565b60405180910390fd5b305f858563da96d05a60e01b88886040517f556f18300000000000000000000000000000000000000000000000000000000081526004016101f39796959493929190610a56565b60405180910390fd5b60605f858581019061020e9190610911565b90507faed76f463930323372899e36460e078e5292aac45f645bbe567be6fca83ede1081604051602001610242919061099c565b6040516020818303038152906040528051906020012014610298576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161028f90610b30565b60405180910390fd5b5f84848101906102a89190610911565b90507fd9bdd1345ca2a00d0c1413137c1b2b1d0a35e5b0e11508f3b3eff856286af075816040516020016102dc919061099c565b6040516020818303038152906040528051906020012014610332576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161032990610b98565b60405180910390fd5b86868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f8201169050808301925050505050505092505050949350505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6103c482610382565b6103ce818561038c565b93506103de81856020860161039c565b6103e7816103aa565b840191505092915050565b5f6020820190508181035f83015261040a81846103ba565b905092915050565b5f604051905090565b5f5ffd5b5f5ffd5b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83601f84011261044457610443610423565b5b8235905067ffffffffffffffff81111561046157610460610427565b5b60208301915083600182028301111561047d5761047c61042b565b5b9250929050565b5f5f6020838503121561049a5761049961041b565b5b5f83013567ffffffffffffffff8111156104b7576104b661041f565b5b6104c38582860161042f565b92509250509250929050565b5f5f5f5f604085870312156104e7576104e661041b565b5b5f85013567ffffffffffffffff8111156105045761050361041f565b5b6105108782880161042f565b9450945050602085013567ffffffffffffffff8111156105335761053261041f565b5b61053f8782880161042f565b925092505092959194509250565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6105768261054d565b9050919050565b6105868161056c565b82525050565b5f81549050919050565b5f82825260208201905092915050565b5f819050815f5260205f209050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806105fc57607f821691505b60208210810361060f5761060e6105b8565b5b50919050565b5f82825260208201905092915050565b5f819050815f5260205f209050919050565b5f8154610643816105e5565b61064d8186610615565b9450600182165f8114610667576001811461067d576106af565b60ff1983168652811515602002860193506106af565b61068685610625565b5f5b838110156106a757815481890152600182019150602081019050610688565b808801955050505b50505092915050565b5f6106c38383610637565b905092915050565b5f600182019050919050565b5f6106e18261058c565b6106eb8185610596565b9350836020820285016106fd856105a6565b805f5b858110156107375784840389528161071885826106b8565b9450610723836106cb565b925060208a01995050600181019050610700565b50829750879550505050505092915050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61077d81610749565b82525050565b5f60a0820190506107965f83018861057d565b81810360208301526107a881876106d7565b905081810360408301526107bc81866103ba565b90506107cb6060830185610774565b81810360808301526107dd81846103ba565b90509695505050505050565b5f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610823826103aa565b810181811067ffffffffffffffff82111715610842576108416107ed565b5b80604052505050565b5f610854610412565b9050610860828261081a565b919050565b5f67ffffffffffffffff82111561087f5761087e6107ed565b5b610888826103aa565b9050602081019050919050565b828183375f83830152505050565b5f6108b56108b084610865565b61084b565b9050828152602081018484840111156108d1576108d06107e9565b5b6108dc848285610895565b509392505050565b5f82601f8301126108f8576108f7610423565b5b81356109088482602086016108a3565b91505092915050565b5f602082840312156109265761092561041b565b5b5f82013567ffffffffffffffff8111156109435761094261041f565b5b61094f848285016108e4565b91505092915050565b5f81519050919050565b5f81905092915050565b5f61097682610958565b6109808185610962565b935061099081856020860161039c565b80840191505092915050565b5f6109a7828461096c565b915081905092915050565b5f82825260208201905092915050565b7f7465737420646174612076616c69646174696f6e206661696c65642e000000005f82015250565b5f6109f6601c836109b2565b9150610a01826109c2565b602082019050919050565b5f6020820190508181035f830152610a23816109ea565b9050919050565b5f610a35838561038c565b9350610a42838584610895565b610a4b836103aa565b840190509392505050565b5f60a082019050610a695f83018a61057d565b8181036020830152610a7b81896106d7565b90508181036040830152610a90818789610a2a565b9050610a9f6060830186610774565b8181036080830152610ab2818486610a2a565b905098975050505050505050565b7f68747470207265717565737420726573756c742076616c69646174696f6e20665f8201527f61696c65642e0000000000000000000000000000000000000000000000000000602082015250565b5f610b1a6026836109b2565b9150610b2582610ac0565b604082019050919050565b5f6020820190508181035f830152610b4781610b0e565b9050919050565b7f6578747261446174612076616c69646174696f6e206661696c65642e000000005f82015250565b5f610b82601c836109b2565b9150610b8d82610b4e565b602082019050919050565b5f6020820190508181035f830152610baf81610b76565b905091905056fea264697066735822122057b6a2921a068efec1bdb94e9f03df697a3f59c9df2a9dad27bc3f325f5b629764736f6c634300081b0033"  # noqa: E501
+OFFCHAIN_LOOKUP_BYTECODE = "0x608060405260405180604001604052806040518060600160405280602c815260200161105e602c913981526020016040518060400160405280601781526020017f68747470733a2f2f776562332e70792f676174657761790000000000000000008152508152505f906002610075929190610087565b50348015610081575f5ffd5b50610465565b828054828255905f5260205f209081019282156100cd579160200282015b828111156100cc5782518290816100bc9190610396565b50916020019190600101906100a5565b5b5090506100da91906100de565b5090565b5b808211156100fd575f81816100f49190610101565b506001016100df565b5090565b50805461010d906101bd565b5f825580601f1061011e575061013b565b601f0160209004905f5260205f209081019061013a919061013e565b5b50565b5b80821115610155575f815f90555060010161013f565b5090565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806101d457607f821691505b6020821081036101e7576101e6610190565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026102497fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261020e565b610253868361020e565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61029761029261028d8461026b565b610274565b61026b565b9050919050565b5f819050919050565b6102b08361027d565b6102c46102bc8261029e565b84845461021a565b825550505050565b5f5f905090565b6102db6102cc565b6102e68184846102a7565b505050565b5b81811015610309576102fe5f826102d3565b6001810190506102ec565b5050565b601f82111561034e5761031f816101ed565b610328846101ff565b81016020851015610337578190505b61034b610343856101ff565b8301826102eb565b50505b505050565b5f82821c905092915050565b5f61036e5f1984600802610353565b1980831691505092915050565b5f610386838361035f565b9150826002028217905092915050565b61039f82610159565b67ffffffffffffffff8111156103b8576103b7610163565b5b6103c282546101bd565b6103cd82828561030d565b5f60209050601f8311600181146103fe575f84156103ec578287015190505b6103f6858261037b565b86555061045d565b601f19841661040c866101ed565b5f5b828110156104335784890151825560018201915060208501945060208101905061040e565b86831015610450578489015161044c601f89168261035f565b8355505b6001600288020188555050505b505050505050565b610bec806104725f395ff3fe608060405234801561000f575f5ffd5b506004361061003f575f3560e01c806309a3c01b146100435780636337ed5814610061578063da96d05a14610091575b5f5ffd5b61004b6100c1565b60405161005891906103f2565b60405180910390f35b61007b60048036038101906100769190610484565b610110565b60405161008891906103f2565b60405180910390f35b6100ab60048036038101906100a691906104cf565b6101fc565b6040516100b891906103f2565b60405180910390f35b606080305f826309a3c01b60e01b846040517f556f1830000000000000000000000000000000000000000000000000000000008152600401610107959493929190610783565b60405180910390fd5b60605f83838101906101229190610911565b90507fd9bdd1345ca2a00d0c1413137c1b2b1d0a35e5b0e11508f3b3eff856286af07581604051602001610156919061099c565b60405160208183030381529060405280519060200120146101ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101a390610a0c565b60405180910390fd5b305f858563da96d05a60e01b88886040517f556f18300000000000000000000000000000000000000000000000000000000081526004016101f39796959493929190610a56565b60405180910390fd5b60605f858581019061020e9190610911565b90507faed76f463930323372899e36460e078e5292aac45f645bbe567be6fca83ede1081604051602001610242919061099c565b6040516020818303038152906040528051906020012014610298576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161028f90610b30565b60405180910390fd5b5f84848101906102a89190610911565b90507fd9bdd1345ca2a00d0c1413137c1b2b1d0a35e5b0e11508f3b3eff856286af075816040516020016102dc919061099c565b6040516020818303038152906040528051906020012014610332576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161032990610b98565b60405180910390fd5b86868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f8201169050808301925050505050505092505050949350505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6103c482610382565b6103ce818561038c565b93506103de81856020860161039c565b6103e7816103aa565b840191505092915050565b5f6020820190508181035f83015261040a81846103ba565b905092915050565b5f604051905090565b5f5ffd5b5f5ffd5b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83601f84011261044457610443610423565b5b8235905067ffffffffffffffff81111561046157610460610427565b5b60208301915083600182028301111561047d5761047c61042b565b5b9250929050565b5f5f6020838503121561049a5761049961041b565b5b5f83013567ffffffffffffffff8111156104b7576104b661041f565b5b6104c38582860161042f565b92509250509250929050565b5f5f5f5f604085870312156104e7576104e661041b565b5b5f85013567ffffffffffffffff8111156105045761050361041f565b5b6105108782880161042f565b9450945050602085013567ffffffffffffffff8111156105335761053261041f565b5b61053f8782880161042f565b925092505092959194509250565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6105768261054d565b9050919050565b6105868161056c565b82525050565b5f81549050919050565b5f82825260208201905092915050565b5f819050815f5260205f209050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806105fc57607f821691505b60208210810361060f5761060e6105b8565b5b50919050565b5f82825260208201905092915050565b5f819050815f5260205f209050919050565b5f8154610643816105e5565b61064d8186610615565b9450600182165f8114610667576001811461067d576106af565b60ff1983168652811515602002860193506106af565b61068685610625565b5f5b838110156106a757815481890152600182019150602081019050610688565b808801955050505b50505092915050565b5f6106c38383610637565b905092915050565b5f600182019050919050565b5f6106e18261058c565b6106eb8185610596565b9350836020820285016106fd856105a6565b805f5b858110156107375784840389528161071885826106b8565b9450610723836106cb565b925060208a01995050600181019050610700565b50829750879550505050505092915050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61077d81610749565b82525050565b5f60a0820190506107965f83018861057d565b81810360208301526107a881876106d7565b905081810360408301526107bc81866103ba565b90506107cb6060830185610774565b81810360808301526107dd81846103ba565b90509695505050505050565b5f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610823826103aa565b810181811067ffffffffffffffff82111715610842576108416107ed565b5b80604052505050565b5f610854610412565b9050610860828261081a565b919050565b5f67ffffffffffffffff82111561087f5761087e6107ed565b5b610888826103aa565b9050602081019050919050565b828183375f83830152505050565b5f6108b56108b084610865565b61084b565b9050828152602081018484840111156108d1576108d06107e9565b5b6108dc848285610895565b509392505050565b5f82601f8301126108f8576108f7610423565b5b81356109088482602086016108a3565b91505092915050565b5f602082840312156109265761092561041b565b5b5f82013567ffffffffffffffff8111156109435761094261041f565b5b61094f848285016108e4565b91505092915050565b5f81519050919050565b5f81905092915050565b5f61097682610958565b6109808185610962565b935061099081856020860161039c565b80840191505092915050565b5f6109a7828461096c565b915081905092915050565b5f82825260208201905092915050565b7f7465737420646174612076616c69646174696f6e206661696c65642e000000005f82015250565b5f6109f6601c836109b2565b9150610a01826109c2565b602082019050919050565b5f6020820190508181035f830152610a23816109ea565b9050919050565b5f610a35838561038c565b9350610a42838584610895565b610a4b836103aa565b840190509392505050565b5f60a082019050610a695f83018a61057d565b8181036020830152610a7b81896106d7565b90508181036040830152610a90818789610a2a565b9050610a9f6060830186610774565b8181036080830152610ab2818486610a2a565b905098975050505050505050565b7f68747470207265717565737420726573756c742076616c69646174696f6e20665f8201527f61696c65642e0000000000000000000000000000000000000000000000000000602082015250565b5f610b1a6026836109b2565b9150610b2582610ac0565b604082019050919050565b5f6020820190508181035f830152610b4781610b0e565b9050919050565b7f6578747261446174612076616c69646174696f6e206661696c65642e000000005f82015250565b5f610b82601c836109b2565b9150610b8d82610b4e565b602082019050919050565b5f6020820190508181035f830152610baf81610b76565b905091905056fea26469706673582212206bafb9fdb5b55ad3118ab86912457c77f4535134c7d4ddb0a865f6603e5472d564736f6c634300081c003368747470733a2f2f776562332e70792f676174657761792f7b73656e6465727d2f7b646174617d2e6a736f6e"  # noqa: E501
+OFFCHAIN_LOOKUP_RUNTIME = "0x608060405234801561000f575f5ffd5b506004361061003f575f3560e01c806309a3c01b146100435780636337ed5814610061578063da96d05a14610091575b5f5ffd5b61004b6100c1565b60405161005891906103f2565b60405180910390f35b61007b60048036038101906100769190610484565b610110565b60405161008891906103f2565b60405180910390f35b6100ab60048036038101906100a691906104cf565b6101fc565b6040516100b891906103f2565b60405180910390f35b606080305f826309a3c01b60e01b846040517f556f1830000000000000000000000000000000000000000000000000000000008152600401610107959493929190610783565b60405180910390fd5b60605f83838101906101229190610911565b90507fd9bdd1345ca2a00d0c1413137c1b2b1d0a35e5b0e11508f3b3eff856286af07581604051602001610156919061099c565b60405160208183030381529060405280519060200120146101ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101a390610a0c565b60405180910390fd5b305f858563da96d05a60e01b88886040517f556f18300000000000000000000000000000000000000000000000000000000081526004016101f39796959493929190610a56565b60405180910390fd5b60605f858581019061020e9190610911565b90507faed76f463930323372899e36460e078e5292aac45f645bbe567be6fca83ede1081604051602001610242919061099c565b6040516020818303038152906040528051906020012014610298576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161028f90610b30565b60405180910390fd5b5f84848101906102a89190610911565b90507fd9bdd1345ca2a00d0c1413137c1b2b1d0a35e5b0e11508f3b3eff856286af075816040516020016102dc919061099c565b6040516020818303038152906040528051906020012014610332576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161032990610b98565b60405180910390fd5b86868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f8201169050808301925050505050505092505050949350505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6103c482610382565b6103ce818561038c565b93506103de81856020860161039c565b6103e7816103aa565b840191505092915050565b5f6020820190508181035f83015261040a81846103ba565b905092915050565b5f604051905090565b5f5ffd5b5f5ffd5b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83601f84011261044457610443610423565b5b8235905067ffffffffffffffff81111561046157610460610427565b5b60208301915083600182028301111561047d5761047c61042b565b5b9250929050565b5f5f6020838503121561049a5761049961041b565b5b5f83013567ffffffffffffffff8111156104b7576104b661041f565b5b6104c38582860161042f565b92509250509250929050565b5f5f5f5f604085870312156104e7576104e661041b565b5b5f85013567ffffffffffffffff8111156105045761050361041f565b5b6105108782880161042f565b9450945050602085013567ffffffffffffffff8111156105335761053261041f565b5b61053f8782880161042f565b925092505092959194509250565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6105768261054d565b9050919050565b6105868161056c565b82525050565b5f81549050919050565b5f82825260208201905092915050565b5f819050815f5260205f209050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806105fc57607f821691505b60208210810361060f5761060e6105b8565b5b50919050565b5f82825260208201905092915050565b5f819050815f5260205f209050919050565b5f8154610643816105e5565b61064d8186610615565b9450600182165f8114610667576001811461067d576106af565b60ff1983168652811515602002860193506106af565b61068685610625565b5f5b838110156106a757815481890152600182019150602081019050610688565b808801955050505b50505092915050565b5f6106c38383610637565b905092915050565b5f600182019050919050565b5f6106e18261058c565b6106eb8185610596565b9350836020820285016106fd856105a6565b805f5b858110156107375784840389528161071885826106b8565b9450610723836106cb565b925060208a01995050600181019050610700565b50829750879550505050505092915050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61077d81610749565b82525050565b5f60a0820190506107965f83018861057d565b81810360208301526107a881876106d7565b905081810360408301526107bc81866103ba565b90506107cb6060830185610774565b81810360808301526107dd81846103ba565b90509695505050505050565b5f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610823826103aa565b810181811067ffffffffffffffff82111715610842576108416107ed565b5b80604052505050565b5f610854610412565b9050610860828261081a565b919050565b5f67ffffffffffffffff82111561087f5761087e6107ed565b5b610888826103aa565b9050602081019050919050565b828183375f83830152505050565b5f6108b56108b084610865565b61084b565b9050828152602081018484840111156108d1576108d06107e9565b5b6108dc848285610895565b509392505050565b5f82601f8301126108f8576108f7610423565b5b81356109088482602086016108a3565b91505092915050565b5f602082840312156109265761092561041b565b5b5f82013567ffffffffffffffff8111156109435761094261041f565b5b61094f848285016108e4565b91505092915050565b5f81519050919050565b5f81905092915050565b5f61097682610958565b6109808185610962565b935061099081856020860161039c565b80840191505092915050565b5f6109a7828461096c565b915081905092915050565b5f82825260208201905092915050565b7f7465737420646174612076616c69646174696f6e206661696c65642e000000005f82015250565b5f6109f6601c836109b2565b9150610a01826109c2565b602082019050919050565b5f6020820190508181035f830152610a23816109ea565b9050919050565b5f610a35838561038c565b9350610a42838584610895565b610a4b836103aa565b840190509392505050565b5f60a082019050610a695f83018a61057d565b8181036020830152610a7b81896106d7565b90508181036040830152610a90818789610a2a565b9050610a9f6060830186610774565b8181036080830152610ab2818486610a2a565b905098975050505050505050565b7f68747470207265717565737420726573756c742076616c69646174696f6e20665f8201527f61696c65642e0000000000000000000000000000000000000000000000000000602082015250565b5f610b1a6026836109b2565b9150610b2582610ac0565b604082019050919050565b5f6020820190508181035f830152610b4781610b0e565b9050919050565b7f6578747261446174612076616c69646174696f6e206661696c65642e000000005f82015250565b5f610b82601c836109b2565b9150610b8d82610b4e565b602082019050919050565b5f6020820190508181035f830152610baf81610b76565b905091905056fea26469706673582212206bafb9fdb5b55ad3118ab86912457c77f4535134c7d4ddb0a865f6603e5472d564736f6c634300081c0033"  # noqa: E501
 OFFCHAIN_LOOKUP_ABI = [
     {
         "inputs": [
diff --git a/web3/_utils/contract_sources/contract_data/offchain_resolver.py b/web3/_utils/contract_sources/contract_data/offchain_resolver.py
index ba2190e2d9..cab42d6e4c 100644
--- a/web3/_utils/contract_sources/contract_data/offchain_resolver.py
+++ b/web3/_utils/contract_sources/contract_data/offchain_resolver.py
@@ -1,11 +1,11 @@
 """
 Generated by `compile_contracts.py` script.
-Compiled with Solidity v0.8.27.
+Compiled with Solidity v0.8.28.
 """
 
 # source: web3/_utils/contract_sources/OffchainResolver.sol:OffchainResolver
-OFFCHAIN_RESOLVER_BYTECODE = "0x608060405234801561000f575f5ffd5b506040516120893803806120898339818101604052810190610031919061057e565b815f9080519060200190610046929190610163565b505f5f90505b81518110156100d0576001805f84848151811061006c5761006b6105f4565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550808060010191505061004c565b506001805f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055507fab0b9cc3a46b568cb08d985497cde8ab7e18892d01f58db7dc7f0d2af859b2d78160405161015491906106d8565b60405180910390a150506109d7565b828054828255905f5260205f209081019282156101a9579160200282015b828111156101a85782518290816101989190610908565b5091602001919060010190610181565b5b5090506101b691906101ba565b5090565b5b808211156101d9575f81816101d091906101dd565b506001016101bb565b5090565b5080546101e99061072f565b5f825580601f106101fa5750610217565b601f0160209004905f5260205f2090810190610216919061021a565b5b50565b5b80821115610231575f815f90555060010161021b565b5090565b5f604051905090565b5f5ffd5b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6102908261024a565b810181811067ffffffffffffffff821117156102af576102ae61025a565b5b80604052505050565b5f6102c1610235565b90506102cd8282610287565b919050565b5f67ffffffffffffffff8211156102ec576102eb61025a565b5b602082029050602081019050919050565b5f5ffd5b5f5ffd5b5f67ffffffffffffffff82111561031f5761031e61025a565b5b6103288261024a565b9050602081019050919050565b8281835e5f83830152505050565b5f61035561035084610305565b6102b8565b90508281526020810184848401111561037157610370610301565b5b61037c848285610335565b509392505050565b5f82601f83011261039857610397610246565b5b81516103a8848260208601610343565b91505092915050565b5f6103c36103be846102d2565b6102b8565b905080838252602082019050602084028301858111156103e6576103e56102fd565b5b835b8181101561042d57805167ffffffffffffffff81111561040b5761040a610246565b5b8086016104188982610384565b855260208501945050506020810190506103e8565b5050509392505050565b5f82601f83011261044b5761044a610246565b5b815161045b8482602086016103b1565b91505092915050565b5f67ffffffffffffffff82111561047e5761047d61025a565b5b602082029050602081019050919050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6104b88261048f565b9050919050565b6104c8816104ae565b81146104d2575f5ffd5b50565b5f815190506104e3816104bf565b92915050565b5f6104fb6104f684610464565b6102b8565b9050808382526020820190506020840283018581111561051e5761051d6102fd565b5b835b81811015610547578061053388826104d5565b845260208401935050602081019050610520565b5050509392505050565b5f82601f83011261056557610564610246565b5b81516105758482602086016104e9565b91505092915050565b5f5f604083850312156105945761059361023e565b5b5f83015167ffffffffffffffff8111156105b1576105b0610242565b5b6105bd85828601610437565b925050602083015167ffffffffffffffff8111156105de576105dd610242565b5b6105ea85828601610551565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b610653816104ae565b82525050565b5f610664838361064a565b60208301905092915050565b5f602082019050919050565b5f61068682610621565b610690818561062b565b935061069b8361063b565b805f5b838110156106cb5781516106b28882610659565b97506106bd83610670565b92505060018101905061069e565b5085935050505092915050565b5f6020820190508181035f8301526106f0818461067c565b905092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061074657607f821691505b60208210810361075957610758610702565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026107bb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610780565b6107c58683610780565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6108096108046107ff846107dd565b6107e6565b6107dd565b9050919050565b5f819050919050565b610822836107ef565b61083661082e82610810565b84845461078c565b825550505050565b5f5f905090565b61084d61083e565b610858818484610819565b505050565b5b8181101561087b576108705f82610845565b60018101905061085e565b5050565b601f8211156108c0576108918161075f565b61089a84610771565b810160208510156108a9578190505b6108bd6108b585610771565b83018261085d565b50505b505050565b5f82821c905092915050565b5f6108e05f19846008026108c5565b1980831691505092915050565b5f6108f883836108d1565b9150826002028217905092915050565b610911826106f8565b67ffffffffffffffff81111561092a5761092961025a565b5b610934825461072f565b61093f82828561087f565b5f60209050601f831160018114610970575f841561095e578287015190505b61096885826108ed565b8655506109cf565b601f19841661097e8661075f565b5f5b828110156109a557848901518255600182019150602085019450602081019050610980565b868310156109c257848901516109be601f8916826108d1565b8355505b6001600288020188555050505b505050505050565b6116a5806109e45f395ff3fe608060405234801561000f575f5ffd5b5060043610610060575f3560e01c806301ffc9a7146100645780631dcfea0914610094578063736c0d5b146100c4578063796676be146100f45780639061b92314610124578063f4d4d2f814610154575b5f5ffd5b61007e600480360381019061007991906109a3565b610184565b60405161008b91906109e8565b60405180910390f35b6100ae60048036038101906100a99190610bd4565b6101fd565b6040516100bb9190610c88565b60405180910390f35b6100de60048036038101906100d99190610ca1565b610214565b6040516100eb91906109e8565b60405180910390f35b61010e60048036038101906101099190610cff565b610231565b60405161011b9190610d8a565b60405180910390f35b61013e60048036038101906101399190610e07565b6102d6565b60405161014b9190610ed7565b60405180910390f35b61016e60048036038101906101699190610e07565b6103a3565b60405161017b9190610ed7565b60405180910390f35b5f7f9061b923000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806101f657506101f58261044d565b5b9050919050565b5f61020a858585856104b6565b9050949350505050565b6001602052805f5260405f205f915054906101000a900460ff1681565b5f818154811061023f575f80fd5b905f5260205f20015f91509050805461025790610f24565b80601f016020809104026020016040519081016040528092919081815260200182805461028390610f24565b80156102ce5780601f106102a5576101008083540402835291602001916102ce565b820191905f5260205f20905b8154815290600101906020018083116102b157829003601f168201915b505050505081565b60605f639061b92360e01b868686866040516024016102f89493929190610f80565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050305f8263f4d4d2f860e01b846040517f556f183000000000000000000000000000000000000000000000000000000000815260040161039a959493929190611137565b60405180910390fd5b60605f5f6103b3858589896104fc565b9150915060015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16610440576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104379061120d565b60405180910390fd5b8092505050949350505050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f8484848051906020012084805190602001206040516020016104dc9493929190611318565b604051602081830303815290604052805190602001209050949350505050565b5f60605f5f5f86868101906105119190611370565b9250925092505f61057061056a30858d8d8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f82011690508083019250505050505050886104b6565b83610585565b90508084955095505050505094509492505050565b5f5f5f61059285856105aa565b9150915061059f81610625565b819250505092915050565b5f5f60418351036105e7575f5f5f602086015192506040860151915060608601515f1a90506105db878285856107f0565b9450945050505061061e565b6040835103610616575f5f602085015191506040850151905061060b8683836108f1565b93509350505061061e565b5f6002915091505b9250929050565b5f6004811115610638576106376113f8565b5b81600481111561064b5761064a6113f8565b5b03156107ed5760016004811115610665576106646113f8565b5b816004811115610678576106776113f8565b5b036106b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106af9061146f565b60405180910390fd5b600260048111156106cc576106cb6113f8565b5b8160048111156106df576106de6113f8565b5b0361071f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610716906114d7565b60405180910390fd5b60036004811115610733576107326113f8565b5b816004811115610746576107456113f8565b5b03610786576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077d90611565565b60405180910390fd5b600480811115610799576107986113f8565b5b8160048111156107ac576107ab6113f8565b5b036107ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107e3906115f3565b60405180910390fd5b5b50565b5f5f7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0835f1c1115610828575f6003915091506108e8565b601b8560ff16141580156108405750601c8560ff1614155b15610851575f6004915091506108e8565b5f6001878787876040515f8152602001604052604051610874949392919061162c565b6020604051602081039080840390855afa158015610894573d5f5f3e3d5ffd5b5050506020604051035190505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036108e0575f600192509250506108e8565b805f92509250505b94509492505050565b5f5f5f5f7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85169150601b8560ff1c01905061092f878288856107f0565b935093505050935093915050565b5f604051905090565b5f5ffd5b5f5ffd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6109828161094e565b811461098c575f5ffd5b50565b5f8135905061099d81610979565b92915050565b5f602082840312156109b8576109b7610946565b5b5f6109c58482850161098f565b91505092915050565b5f8115159050919050565b6109e2816109ce565b82525050565b5f6020820190506109fb5f8301846109d9565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610a2a82610a01565b9050919050565b610a3a81610a20565b8114610a44575f5ffd5b50565b5f81359050610a5581610a31565b92915050565b5f67ffffffffffffffff82169050919050565b610a7781610a5b565b8114610a81575f5ffd5b50565b5f81359050610a9281610a6e565b92915050565b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610ae682610aa0565b810181811067ffffffffffffffff82111715610b0557610b04610ab0565b5b80604052505050565b5f610b1761093d565b9050610b238282610add565b919050565b5f67ffffffffffffffff821115610b4257610b41610ab0565b5b610b4b82610aa0565b9050602081019050919050565b828183375f83830152505050565b5f610b78610b7384610b28565b610b0e565b905082815260208101848484011115610b9457610b93610a9c565b5b610b9f848285610b58565b509392505050565b5f82601f830112610bbb57610bba610a98565b5b8135610bcb848260208601610b66565b91505092915050565b5f5f5f5f60808587031215610bec57610beb610946565b5b5f610bf987828801610a47565b9450506020610c0a87828801610a84565b935050604085013567ffffffffffffffff811115610c2b57610c2a61094a565b5b610c3787828801610ba7565b925050606085013567ffffffffffffffff811115610c5857610c5761094a565b5b610c6487828801610ba7565b91505092959194509250565b5f819050919050565b610c8281610c70565b82525050565b5f602082019050610c9b5f830184610c79565b92915050565b5f60208284031215610cb657610cb5610946565b5b5f610cc384828501610a47565b91505092915050565b5f819050919050565b610cde81610ccc565b8114610ce8575f5ffd5b50565b5f81359050610cf981610cd5565b92915050565b5f60208284031215610d1457610d13610946565b5b5f610d2184828501610ceb565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f610d5c82610d2a565b610d668185610d34565b9350610d76818560208601610d44565b610d7f81610aa0565b840191505092915050565b5f6020820190508181035f830152610da28184610d52565b905092915050565b5f5ffd5b5f5ffd5b5f5f83601f840112610dc757610dc6610a98565b5b8235905067ffffffffffffffff811115610de457610de3610daa565b5b602083019150836001820283011115610e0057610dff610dae565b5b9250929050565b5f5f5f5f60408587031215610e1f57610e1e610946565b5b5f85013567ffffffffffffffff811115610e3c57610e3b61094a565b5b610e4887828801610db2565b9450945050602085013567ffffffffffffffff811115610e6b57610e6a61094a565b5b610e7787828801610db2565b925092505092959194509250565b5f81519050919050565b5f82825260208201905092915050565b5f610ea982610e85565b610eb38185610e8f565b9350610ec3818560208601610d44565b610ecc81610aa0565b840191505092915050565b5f6020820190508181035f830152610eef8184610e9f565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680610f3b57607f821691505b602082108103610f4e57610f4d610ef7565b5b50919050565b5f610f5f8385610e8f565b9350610f6c838584610b58565b610f7583610aa0565b840190509392505050565b5f6040820190508181035f830152610f99818688610f54565b90508181036020830152610fae818486610f54565b905095945050505050565b610fc281610a20565b82525050565b5f81549050919050565b5f82825260208201905092915050565b5f819050815f5260205f209050919050565b5f82825260208201905092915050565b5f819050815f5260205f209050919050565b5f815461102281610f24565b61102c8186610ff4565b9450600182165f8114611046576001811461105c5761108e565b60ff19831686528115156020028601935061108e565b61106585611004565b5f5b8381101561108657815481890152600182019150602081019050611067565b808801955050505b50505092915050565b5f6110a28383611016565b905092915050565b5f600182019050919050565b5f6110c082610fc8565b6110ca8185610fd2565b9350836020820285016110dc85610fe2565b805f5b85811015611116578484038952816110f78582611097565b9450611102836110aa565b925060208a019950506001810190506110df565b50829750879550505050505092915050565b6111318161094e565b82525050565b5f60a08201905061114a5f830188610fb9565b818103602083015261115c81876110b6565b905081810360408301526111708186610e9f565b905061117f6060830185611128565b81810360808301526111918184610e9f565b90509695505050505050565b7f5369676e617475726556657269666965723a20496e76616c6964207369676e615f8201527f7475726500000000000000000000000000000000000000000000000000000000602082015250565b5f6111f7602483610d34565b91506112028261119d565b604082019050919050565b5f6020820190508181035f830152611224816111eb565b9050919050565b5f81905092915050565b7f19000000000000000000000000000000000000000000000000000000000000005f82015250565b5f61126960028361122b565b915061127482611235565b600282019050919050565b5f8160601b9050919050565b5f6112958261127f565b9050919050565b5f6112a68261128b565b9050919050565b6112be6112b982610a20565b61129c565b82525050565b5f8160c01b9050919050565b5f6112da826112c4565b9050919050565b6112f26112ed82610a5b565b6112d0565b82525050565b5f819050919050565b61131261130d82610c70565b6112f8565b82525050565b5f6113228261125d565b915061132e82876112ad565b60148201915061133e82866112e1565b60088201915061134e8285611301565b60208201915061135e8284611301565b60208201915081905095945050505050565b5f5f5f6060848603121561138757611386610946565b5b5f84013567ffffffffffffffff8111156113a4576113a361094a565b5b6113b086828701610ba7565b93505060206113c186828701610a84565b925050604084013567ffffffffffffffff8111156113e2576113e161094a565b5b6113ee86828701610ba7565b9150509250925092565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b7f45434453413a20696e76616c6964207369676e617475726500000000000000005f82015250565b5f611459601883610d34565b915061146482611425565b602082019050919050565b5f6020820190508181035f8301526114868161144d565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e677468005f82015250565b5f6114c1601f83610d34565b91506114cc8261148d565b602082019050919050565b5f6020820190508181035f8301526114ee816114b5565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c5f8201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b5f61154f602283610d34565b915061155a826114f5565b604082019050919050565b5f6020820190508181035f83015261157c81611543565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202776272076616c5f8201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b5f6115dd602283610d34565b91506115e882611583565b604082019050919050565b5f6020820190508181035f83015261160a816115d1565b9050919050565b5f60ff82169050919050565b61162681611611565b82525050565b5f60808201905061163f5f830187610c79565b61164c602083018661161d565b6116596040830185610c79565b6116666060830184610c79565b9594505050505056fea2646970667358221220b09935f179b3024e8b7ceac3d8393204957e2685caab2b7a5c01d4f2ed85f56564736f6c634300081b0033"  # noqa: E501
-OFFCHAIN_RESOLVER_RUNTIME = "0x608060405234801561000f575f5ffd5b5060043610610060575f3560e01c806301ffc9a7146100645780631dcfea0914610094578063736c0d5b146100c4578063796676be146100f45780639061b92314610124578063f4d4d2f814610154575b5f5ffd5b61007e600480360381019061007991906109a3565b610184565b60405161008b91906109e8565b60405180910390f35b6100ae60048036038101906100a99190610bd4565b6101fd565b6040516100bb9190610c88565b60405180910390f35b6100de60048036038101906100d99190610ca1565b610214565b6040516100eb91906109e8565b60405180910390f35b61010e60048036038101906101099190610cff565b610231565b60405161011b9190610d8a565b60405180910390f35b61013e60048036038101906101399190610e07565b6102d6565b60405161014b9190610ed7565b60405180910390f35b61016e60048036038101906101699190610e07565b6103a3565b60405161017b9190610ed7565b60405180910390f35b5f7f9061b923000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806101f657506101f58261044d565b5b9050919050565b5f61020a858585856104b6565b9050949350505050565b6001602052805f5260405f205f915054906101000a900460ff1681565b5f818154811061023f575f80fd5b905f5260205f20015f91509050805461025790610f24565b80601f016020809104026020016040519081016040528092919081815260200182805461028390610f24565b80156102ce5780601f106102a5576101008083540402835291602001916102ce565b820191905f5260205f20905b8154815290600101906020018083116102b157829003601f168201915b505050505081565b60605f639061b92360e01b868686866040516024016102f89493929190610f80565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050305f8263f4d4d2f860e01b846040517f556f183000000000000000000000000000000000000000000000000000000000815260040161039a959493929190611137565b60405180910390fd5b60605f5f6103b3858589896104fc565b9150915060015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16610440576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104379061120d565b60405180910390fd5b8092505050949350505050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f8484848051906020012084805190602001206040516020016104dc9493929190611318565b604051602081830303815290604052805190602001209050949350505050565b5f60605f5f5f86868101906105119190611370565b9250925092505f61057061056a30858d8d8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f82011690508083019250505050505050886104b6565b83610585565b90508084955095505050505094509492505050565b5f5f5f61059285856105aa565b9150915061059f81610625565b819250505092915050565b5f5f60418351036105e7575f5f5f602086015192506040860151915060608601515f1a90506105db878285856107f0565b9450945050505061061e565b6040835103610616575f5f602085015191506040850151905061060b8683836108f1565b93509350505061061e565b5f6002915091505b9250929050565b5f6004811115610638576106376113f8565b5b81600481111561064b5761064a6113f8565b5b03156107ed5760016004811115610665576106646113f8565b5b816004811115610678576106776113f8565b5b036106b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106af9061146f565b60405180910390fd5b600260048111156106cc576106cb6113f8565b5b8160048111156106df576106de6113f8565b5b0361071f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610716906114d7565b60405180910390fd5b60036004811115610733576107326113f8565b5b816004811115610746576107456113f8565b5b03610786576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077d90611565565b60405180910390fd5b600480811115610799576107986113f8565b5b8160048111156107ac576107ab6113f8565b5b036107ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107e3906115f3565b60405180910390fd5b5b50565b5f5f7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0835f1c1115610828575f6003915091506108e8565b601b8560ff16141580156108405750601c8560ff1614155b15610851575f6004915091506108e8565b5f6001878787876040515f8152602001604052604051610874949392919061162c565b6020604051602081039080840390855afa158015610894573d5f5f3e3d5ffd5b5050506020604051035190505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036108e0575f600192509250506108e8565b805f92509250505b94509492505050565b5f5f5f5f7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85169150601b8560ff1c01905061092f878288856107f0565b935093505050935093915050565b5f604051905090565b5f5ffd5b5f5ffd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6109828161094e565b811461098c575f5ffd5b50565b5f8135905061099d81610979565b92915050565b5f602082840312156109b8576109b7610946565b5b5f6109c58482850161098f565b91505092915050565b5f8115159050919050565b6109e2816109ce565b82525050565b5f6020820190506109fb5f8301846109d9565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610a2a82610a01565b9050919050565b610a3a81610a20565b8114610a44575f5ffd5b50565b5f81359050610a5581610a31565b92915050565b5f67ffffffffffffffff82169050919050565b610a7781610a5b565b8114610a81575f5ffd5b50565b5f81359050610a9281610a6e565b92915050565b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610ae682610aa0565b810181811067ffffffffffffffff82111715610b0557610b04610ab0565b5b80604052505050565b5f610b1761093d565b9050610b238282610add565b919050565b5f67ffffffffffffffff821115610b4257610b41610ab0565b5b610b4b82610aa0565b9050602081019050919050565b828183375f83830152505050565b5f610b78610b7384610b28565b610b0e565b905082815260208101848484011115610b9457610b93610a9c565b5b610b9f848285610b58565b509392505050565b5f82601f830112610bbb57610bba610a98565b5b8135610bcb848260208601610b66565b91505092915050565b5f5f5f5f60808587031215610bec57610beb610946565b5b5f610bf987828801610a47565b9450506020610c0a87828801610a84565b935050604085013567ffffffffffffffff811115610c2b57610c2a61094a565b5b610c3787828801610ba7565b925050606085013567ffffffffffffffff811115610c5857610c5761094a565b5b610c6487828801610ba7565b91505092959194509250565b5f819050919050565b610c8281610c70565b82525050565b5f602082019050610c9b5f830184610c79565b92915050565b5f60208284031215610cb657610cb5610946565b5b5f610cc384828501610a47565b91505092915050565b5f819050919050565b610cde81610ccc565b8114610ce8575f5ffd5b50565b5f81359050610cf981610cd5565b92915050565b5f60208284031215610d1457610d13610946565b5b5f610d2184828501610ceb565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f610d5c82610d2a565b610d668185610d34565b9350610d76818560208601610d44565b610d7f81610aa0565b840191505092915050565b5f6020820190508181035f830152610da28184610d52565b905092915050565b5f5ffd5b5f5ffd5b5f5f83601f840112610dc757610dc6610a98565b5b8235905067ffffffffffffffff811115610de457610de3610daa565b5b602083019150836001820283011115610e0057610dff610dae565b5b9250929050565b5f5f5f5f60408587031215610e1f57610e1e610946565b5b5f85013567ffffffffffffffff811115610e3c57610e3b61094a565b5b610e4887828801610db2565b9450945050602085013567ffffffffffffffff811115610e6b57610e6a61094a565b5b610e7787828801610db2565b925092505092959194509250565b5f81519050919050565b5f82825260208201905092915050565b5f610ea982610e85565b610eb38185610e8f565b9350610ec3818560208601610d44565b610ecc81610aa0565b840191505092915050565b5f6020820190508181035f830152610eef8184610e9f565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680610f3b57607f821691505b602082108103610f4e57610f4d610ef7565b5b50919050565b5f610f5f8385610e8f565b9350610f6c838584610b58565b610f7583610aa0565b840190509392505050565b5f6040820190508181035f830152610f99818688610f54565b90508181036020830152610fae818486610f54565b905095945050505050565b610fc281610a20565b82525050565b5f81549050919050565b5f82825260208201905092915050565b5f819050815f5260205f209050919050565b5f82825260208201905092915050565b5f819050815f5260205f209050919050565b5f815461102281610f24565b61102c8186610ff4565b9450600182165f8114611046576001811461105c5761108e565b60ff19831686528115156020028601935061108e565b61106585611004565b5f5b8381101561108657815481890152600182019150602081019050611067565b808801955050505b50505092915050565b5f6110a28383611016565b905092915050565b5f600182019050919050565b5f6110c082610fc8565b6110ca8185610fd2565b9350836020820285016110dc85610fe2565b805f5b85811015611116578484038952816110f78582611097565b9450611102836110aa565b925060208a019950506001810190506110df565b50829750879550505050505092915050565b6111318161094e565b82525050565b5f60a08201905061114a5f830188610fb9565b818103602083015261115c81876110b6565b905081810360408301526111708186610e9f565b905061117f6060830185611128565b81810360808301526111918184610e9f565b90509695505050505050565b7f5369676e617475726556657269666965723a20496e76616c6964207369676e615f8201527f7475726500000000000000000000000000000000000000000000000000000000602082015250565b5f6111f7602483610d34565b91506112028261119d565b604082019050919050565b5f6020820190508181035f830152611224816111eb565b9050919050565b5f81905092915050565b7f19000000000000000000000000000000000000000000000000000000000000005f82015250565b5f61126960028361122b565b915061127482611235565b600282019050919050565b5f8160601b9050919050565b5f6112958261127f565b9050919050565b5f6112a68261128b565b9050919050565b6112be6112b982610a20565b61129c565b82525050565b5f8160c01b9050919050565b5f6112da826112c4565b9050919050565b6112f26112ed82610a5b565b6112d0565b82525050565b5f819050919050565b61131261130d82610c70565b6112f8565b82525050565b5f6113228261125d565b915061132e82876112ad565b60148201915061133e82866112e1565b60088201915061134e8285611301565b60208201915061135e8284611301565b60208201915081905095945050505050565b5f5f5f6060848603121561138757611386610946565b5b5f84013567ffffffffffffffff8111156113a4576113a361094a565b5b6113b086828701610ba7565b93505060206113c186828701610a84565b925050604084013567ffffffffffffffff8111156113e2576113e161094a565b5b6113ee86828701610ba7565b9150509250925092565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b7f45434453413a20696e76616c6964207369676e617475726500000000000000005f82015250565b5f611459601883610d34565b915061146482611425565b602082019050919050565b5f6020820190508181035f8301526114868161144d565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e677468005f82015250565b5f6114c1601f83610d34565b91506114cc8261148d565b602082019050919050565b5f6020820190508181035f8301526114ee816114b5565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c5f8201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b5f61154f602283610d34565b915061155a826114f5565b604082019050919050565b5f6020820190508181035f83015261157c81611543565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202776272076616c5f8201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b5f6115dd602283610d34565b91506115e882611583565b604082019050919050565b5f6020820190508181035f83015261160a816115d1565b9050919050565b5f60ff82169050919050565b61162681611611565b82525050565b5f60808201905061163f5f830187610c79565b61164c602083018661161d565b6116596040830185610c79565b6116666060830184610c79565b9594505050505056fea2646970667358221220b09935f179b3024e8b7ceac3d8393204957e2685caab2b7a5c01d4f2ed85f56564736f6c634300081b0033"  # noqa: E501
+OFFCHAIN_RESOLVER_BYTECODE = "0x608060405234801561000f575f5ffd5b506040516120893803806120898339818101604052810190610031919061057e565b815f9080519060200190610046929190610163565b505f5f90505b81518110156100d0576001805f84848151811061006c5761006b6105f4565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550808060010191505061004c565b506001805f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055507fab0b9cc3a46b568cb08d985497cde8ab7e18892d01f58db7dc7f0d2af859b2d78160405161015491906106d8565b60405180910390a150506109d7565b828054828255905f5260205f209081019282156101a9579160200282015b828111156101a85782518290816101989190610908565b5091602001919060010190610181565b5b5090506101b691906101ba565b5090565b5b808211156101d9575f81816101d091906101dd565b506001016101bb565b5090565b5080546101e99061072f565b5f825580601f106101fa5750610217565b601f0160209004905f5260205f2090810190610216919061021a565b5b50565b5b80821115610231575f815f90555060010161021b565b5090565b5f604051905090565b5f5ffd5b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6102908261024a565b810181811067ffffffffffffffff821117156102af576102ae61025a565b5b80604052505050565b5f6102c1610235565b90506102cd8282610287565b919050565b5f67ffffffffffffffff8211156102ec576102eb61025a565b5b602082029050602081019050919050565b5f5ffd5b5f5ffd5b5f67ffffffffffffffff82111561031f5761031e61025a565b5b6103288261024a565b9050602081019050919050565b8281835e5f83830152505050565b5f61035561035084610305565b6102b8565b90508281526020810184848401111561037157610370610301565b5b61037c848285610335565b509392505050565b5f82601f83011261039857610397610246565b5b81516103a8848260208601610343565b91505092915050565b5f6103c36103be846102d2565b6102b8565b905080838252602082019050602084028301858111156103e6576103e56102fd565b5b835b8181101561042d57805167ffffffffffffffff81111561040b5761040a610246565b5b8086016104188982610384565b855260208501945050506020810190506103e8565b5050509392505050565b5f82601f83011261044b5761044a610246565b5b815161045b8482602086016103b1565b91505092915050565b5f67ffffffffffffffff82111561047e5761047d61025a565b5b602082029050602081019050919050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6104b88261048f565b9050919050565b6104c8816104ae565b81146104d2575f5ffd5b50565b5f815190506104e3816104bf565b92915050565b5f6104fb6104f684610464565b6102b8565b9050808382526020820190506020840283018581111561051e5761051d6102fd565b5b835b81811015610547578061053388826104d5565b845260208401935050602081019050610520565b5050509392505050565b5f82601f83011261056557610564610246565b5b81516105758482602086016104e9565b91505092915050565b5f5f604083850312156105945761059361023e565b5b5f83015167ffffffffffffffff8111156105b1576105b0610242565b5b6105bd85828601610437565b925050602083015167ffffffffffffffff8111156105de576105dd610242565b5b6105ea85828601610551565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b610653816104ae565b82525050565b5f610664838361064a565b60208301905092915050565b5f602082019050919050565b5f61068682610621565b610690818561062b565b935061069b8361063b565b805f5b838110156106cb5781516106b28882610659565b97506106bd83610670565b92505060018101905061069e565b5085935050505092915050565b5f6020820190508181035f8301526106f0818461067c565b905092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061074657607f821691505b60208210810361075957610758610702565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026107bb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610780565b6107c58683610780565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6108096108046107ff846107dd565b6107e6565b6107dd565b9050919050565b5f819050919050565b610822836107ef565b61083661082e82610810565b84845461078c565b825550505050565b5f5f905090565b61084d61083e565b610858818484610819565b505050565b5b8181101561087b576108705f82610845565b60018101905061085e565b5050565b601f8211156108c0576108918161075f565b61089a84610771565b810160208510156108a9578190505b6108bd6108b585610771565b83018261085d565b50505b505050565b5f82821c905092915050565b5f6108e05f19846008026108c5565b1980831691505092915050565b5f6108f883836108d1565b9150826002028217905092915050565b610911826106f8565b67ffffffffffffffff81111561092a5761092961025a565b5b610934825461072f565b61093f82828561087f565b5f60209050601f831160018114610970575f841561095e578287015190505b61096885826108ed565b8655506109cf565b601f19841661097e8661075f565b5f5b828110156109a557848901518255600182019150602085019450602081019050610980565b868310156109c257848901516109be601f8916826108d1565b8355505b6001600288020188555050505b505050505050565b6116a5806109e45f395ff3fe608060405234801561000f575f5ffd5b5060043610610060575f3560e01c806301ffc9a7146100645780631dcfea0914610094578063736c0d5b146100c4578063796676be146100f45780639061b92314610124578063f4d4d2f814610154575b5f5ffd5b61007e600480360381019061007991906109a3565b610184565b60405161008b91906109e8565b60405180910390f35b6100ae60048036038101906100a99190610bd4565b6101fd565b6040516100bb9190610c88565b60405180910390f35b6100de60048036038101906100d99190610ca1565b610214565b6040516100eb91906109e8565b60405180910390f35b61010e60048036038101906101099190610cff565b610231565b60405161011b9190610d8a565b60405180910390f35b61013e60048036038101906101399190610e07565b6102d6565b60405161014b9190610ed7565b60405180910390f35b61016e60048036038101906101699190610e07565b6103a3565b60405161017b9190610ed7565b60405180910390f35b5f7f9061b923000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806101f657506101f58261044d565b5b9050919050565b5f61020a858585856104b6565b9050949350505050565b6001602052805f5260405f205f915054906101000a900460ff1681565b5f818154811061023f575f80fd5b905f5260205f20015f91509050805461025790610f24565b80601f016020809104026020016040519081016040528092919081815260200182805461028390610f24565b80156102ce5780601f106102a5576101008083540402835291602001916102ce565b820191905f5260205f20905b8154815290600101906020018083116102b157829003601f168201915b505050505081565b60605f639061b92360e01b868686866040516024016102f89493929190610f80565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050305f8263f4d4d2f860e01b846040517f556f183000000000000000000000000000000000000000000000000000000000815260040161039a959493929190611137565b60405180910390fd5b60605f5f6103b3858589896104fc565b9150915060015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16610440576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104379061120d565b60405180910390fd5b8092505050949350505050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f8484848051906020012084805190602001206040516020016104dc9493929190611318565b604051602081830303815290604052805190602001209050949350505050565b5f60605f5f5f86868101906105119190611370565b9250925092505f61057061056a30858d8d8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f82011690508083019250505050505050886104b6565b83610585565b90508084955095505050505094509492505050565b5f5f5f61059285856105aa565b9150915061059f81610625565b819250505092915050565b5f5f60418351036105e7575f5f5f602086015192506040860151915060608601515f1a90506105db878285856107f0565b9450945050505061061e565b6040835103610616575f5f602085015191506040850151905061060b8683836108f1565b93509350505061061e565b5f6002915091505b9250929050565b5f6004811115610638576106376113f8565b5b81600481111561064b5761064a6113f8565b5b03156107ed5760016004811115610665576106646113f8565b5b816004811115610678576106776113f8565b5b036106b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106af9061146f565b60405180910390fd5b600260048111156106cc576106cb6113f8565b5b8160048111156106df576106de6113f8565b5b0361071f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610716906114d7565b60405180910390fd5b60036004811115610733576107326113f8565b5b816004811115610746576107456113f8565b5b03610786576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077d90611565565b60405180910390fd5b600480811115610799576107986113f8565b5b8160048111156107ac576107ab6113f8565b5b036107ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107e3906115f3565b60405180910390fd5b5b50565b5f5f7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0835f1c1115610828575f6003915091506108e8565b601b8560ff16141580156108405750601c8560ff1614155b15610851575f6004915091506108e8565b5f6001878787876040515f8152602001604052604051610874949392919061162c565b6020604051602081039080840390855afa158015610894573d5f5f3e3d5ffd5b5050506020604051035190505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036108e0575f600192509250506108e8565b805f92509250505b94509492505050565b5f5f5f5f7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85169150601b8560ff1c01905061092f878288856107f0565b935093505050935093915050565b5f604051905090565b5f5ffd5b5f5ffd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6109828161094e565b811461098c575f5ffd5b50565b5f8135905061099d81610979565b92915050565b5f602082840312156109b8576109b7610946565b5b5f6109c58482850161098f565b91505092915050565b5f8115159050919050565b6109e2816109ce565b82525050565b5f6020820190506109fb5f8301846109d9565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610a2a82610a01565b9050919050565b610a3a81610a20565b8114610a44575f5ffd5b50565b5f81359050610a5581610a31565b92915050565b5f67ffffffffffffffff82169050919050565b610a7781610a5b565b8114610a81575f5ffd5b50565b5f81359050610a9281610a6e565b92915050565b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610ae682610aa0565b810181811067ffffffffffffffff82111715610b0557610b04610ab0565b5b80604052505050565b5f610b1761093d565b9050610b238282610add565b919050565b5f67ffffffffffffffff821115610b4257610b41610ab0565b5b610b4b82610aa0565b9050602081019050919050565b828183375f83830152505050565b5f610b78610b7384610b28565b610b0e565b905082815260208101848484011115610b9457610b93610a9c565b5b610b9f848285610b58565b509392505050565b5f82601f830112610bbb57610bba610a98565b5b8135610bcb848260208601610b66565b91505092915050565b5f5f5f5f60808587031215610bec57610beb610946565b5b5f610bf987828801610a47565b9450506020610c0a87828801610a84565b935050604085013567ffffffffffffffff811115610c2b57610c2a61094a565b5b610c3787828801610ba7565b925050606085013567ffffffffffffffff811115610c5857610c5761094a565b5b610c6487828801610ba7565b91505092959194509250565b5f819050919050565b610c8281610c70565b82525050565b5f602082019050610c9b5f830184610c79565b92915050565b5f60208284031215610cb657610cb5610946565b5b5f610cc384828501610a47565b91505092915050565b5f819050919050565b610cde81610ccc565b8114610ce8575f5ffd5b50565b5f81359050610cf981610cd5565b92915050565b5f60208284031215610d1457610d13610946565b5b5f610d2184828501610ceb565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f610d5c82610d2a565b610d668185610d34565b9350610d76818560208601610d44565b610d7f81610aa0565b840191505092915050565b5f6020820190508181035f830152610da28184610d52565b905092915050565b5f5ffd5b5f5ffd5b5f5f83601f840112610dc757610dc6610a98565b5b8235905067ffffffffffffffff811115610de457610de3610daa565b5b602083019150836001820283011115610e0057610dff610dae565b5b9250929050565b5f5f5f5f60408587031215610e1f57610e1e610946565b5b5f85013567ffffffffffffffff811115610e3c57610e3b61094a565b5b610e4887828801610db2565b9450945050602085013567ffffffffffffffff811115610e6b57610e6a61094a565b5b610e7787828801610db2565b925092505092959194509250565b5f81519050919050565b5f82825260208201905092915050565b5f610ea982610e85565b610eb38185610e8f565b9350610ec3818560208601610d44565b610ecc81610aa0565b840191505092915050565b5f6020820190508181035f830152610eef8184610e9f565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680610f3b57607f821691505b602082108103610f4e57610f4d610ef7565b5b50919050565b5f610f5f8385610e8f565b9350610f6c838584610b58565b610f7583610aa0565b840190509392505050565b5f6040820190508181035f830152610f99818688610f54565b90508181036020830152610fae818486610f54565b905095945050505050565b610fc281610a20565b82525050565b5f81549050919050565b5f82825260208201905092915050565b5f819050815f5260205f209050919050565b5f82825260208201905092915050565b5f819050815f5260205f209050919050565b5f815461102281610f24565b61102c8186610ff4565b9450600182165f8114611046576001811461105c5761108e565b60ff19831686528115156020028601935061108e565b61106585611004565b5f5b8381101561108657815481890152600182019150602081019050611067565b808801955050505b50505092915050565b5f6110a28383611016565b905092915050565b5f600182019050919050565b5f6110c082610fc8565b6110ca8185610fd2565b9350836020820285016110dc85610fe2565b805f5b85811015611116578484038952816110f78582611097565b9450611102836110aa565b925060208a019950506001810190506110df565b50829750879550505050505092915050565b6111318161094e565b82525050565b5f60a08201905061114a5f830188610fb9565b818103602083015261115c81876110b6565b905081810360408301526111708186610e9f565b905061117f6060830185611128565b81810360808301526111918184610e9f565b90509695505050505050565b7f5369676e617475726556657269666965723a20496e76616c6964207369676e615f8201527f7475726500000000000000000000000000000000000000000000000000000000602082015250565b5f6111f7602483610d34565b91506112028261119d565b604082019050919050565b5f6020820190508181035f830152611224816111eb565b9050919050565b5f81905092915050565b7f19000000000000000000000000000000000000000000000000000000000000005f82015250565b5f61126960028361122b565b915061127482611235565b600282019050919050565b5f8160601b9050919050565b5f6112958261127f565b9050919050565b5f6112a68261128b565b9050919050565b6112be6112b982610a20565b61129c565b82525050565b5f8160c01b9050919050565b5f6112da826112c4565b9050919050565b6112f26112ed82610a5b565b6112d0565b82525050565b5f819050919050565b61131261130d82610c70565b6112f8565b82525050565b5f6113228261125d565b915061132e82876112ad565b60148201915061133e82866112e1565b60088201915061134e8285611301565b60208201915061135e8284611301565b60208201915081905095945050505050565b5f5f5f6060848603121561138757611386610946565b5b5f84013567ffffffffffffffff8111156113a4576113a361094a565b5b6113b086828701610ba7565b93505060206113c186828701610a84565b925050604084013567ffffffffffffffff8111156113e2576113e161094a565b5b6113ee86828701610ba7565b9150509250925092565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b7f45434453413a20696e76616c6964207369676e617475726500000000000000005f82015250565b5f611459601883610d34565b915061146482611425565b602082019050919050565b5f6020820190508181035f8301526114868161144d565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e677468005f82015250565b5f6114c1601f83610d34565b91506114cc8261148d565b602082019050919050565b5f6020820190508181035f8301526114ee816114b5565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c5f8201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b5f61154f602283610d34565b915061155a826114f5565b604082019050919050565b5f6020820190508181035f83015261157c81611543565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202776272076616c5f8201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b5f6115dd602283610d34565b91506115e882611583565b604082019050919050565b5f6020820190508181035f83015261160a816115d1565b9050919050565b5f60ff82169050919050565b61162681611611565b82525050565b5f60808201905061163f5f830187610c79565b61164c602083018661161d565b6116596040830185610c79565b6116666060830184610c79565b9594505050505056fea264697066735822122055f89fadc6c67e915a58e5e7badfbf823a1cdbd8fd7977f99a19b2e79105741c64736f6c634300081c0033"  # noqa: E501
+OFFCHAIN_RESOLVER_RUNTIME = "0x608060405234801561000f575f5ffd5b5060043610610060575f3560e01c806301ffc9a7146100645780631dcfea0914610094578063736c0d5b146100c4578063796676be146100f45780639061b92314610124578063f4d4d2f814610154575b5f5ffd5b61007e600480360381019061007991906109a3565b610184565b60405161008b91906109e8565b60405180910390f35b6100ae60048036038101906100a99190610bd4565b6101fd565b6040516100bb9190610c88565b60405180910390f35b6100de60048036038101906100d99190610ca1565b610214565b6040516100eb91906109e8565b60405180910390f35b61010e60048036038101906101099190610cff565b610231565b60405161011b9190610d8a565b60405180910390f35b61013e60048036038101906101399190610e07565b6102d6565b60405161014b9190610ed7565b60405180910390f35b61016e60048036038101906101699190610e07565b6103a3565b60405161017b9190610ed7565b60405180910390f35b5f7f9061b923000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806101f657506101f58261044d565b5b9050919050565b5f61020a858585856104b6565b9050949350505050565b6001602052805f5260405f205f915054906101000a900460ff1681565b5f818154811061023f575f80fd5b905f5260205f20015f91509050805461025790610f24565b80601f016020809104026020016040519081016040528092919081815260200182805461028390610f24565b80156102ce5780601f106102a5576101008083540402835291602001916102ce565b820191905f5260205f20905b8154815290600101906020018083116102b157829003601f168201915b505050505081565b60605f639061b92360e01b868686866040516024016102f89493929190610f80565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050509050305f8263f4d4d2f860e01b846040517f556f183000000000000000000000000000000000000000000000000000000000815260040161039a959493929190611137565b60405180910390fd5b60605f5f6103b3858589896104fc565b9150915060015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16610440576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104379061120d565b60405180910390fd5b8092505050949350505050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f8484848051906020012084805190602001206040516020016104dc9493929190611318565b604051602081830303815290604052805190602001209050949350505050565b5f60605f5f5f86868101906105119190611370565b9250925092505f61057061056a30858d8d8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f82011690508083019250505050505050886104b6565b83610585565b90508084955095505050505094509492505050565b5f5f5f61059285856105aa565b9150915061059f81610625565b819250505092915050565b5f5f60418351036105e7575f5f5f602086015192506040860151915060608601515f1a90506105db878285856107f0565b9450945050505061061e565b6040835103610616575f5f602085015191506040850151905061060b8683836108f1565b93509350505061061e565b5f6002915091505b9250929050565b5f6004811115610638576106376113f8565b5b81600481111561064b5761064a6113f8565b5b03156107ed5760016004811115610665576106646113f8565b5b816004811115610678576106776113f8565b5b036106b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106af9061146f565b60405180910390fd5b600260048111156106cc576106cb6113f8565b5b8160048111156106df576106de6113f8565b5b0361071f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610716906114d7565b60405180910390fd5b60036004811115610733576107326113f8565b5b816004811115610746576107456113f8565b5b03610786576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077d90611565565b60405180910390fd5b600480811115610799576107986113f8565b5b8160048111156107ac576107ab6113f8565b5b036107ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107e3906115f3565b60405180910390fd5b5b50565b5f5f7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0835f1c1115610828575f6003915091506108e8565b601b8560ff16141580156108405750601c8560ff1614155b15610851575f6004915091506108e8565b5f6001878787876040515f8152602001604052604051610874949392919061162c565b6020604051602081039080840390855afa158015610894573d5f5f3e3d5ffd5b5050506020604051035190505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036108e0575f600192509250506108e8565b805f92509250505b94509492505050565b5f5f5f5f7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85169150601b8560ff1c01905061092f878288856107f0565b935093505050935093915050565b5f604051905090565b5f5ffd5b5f5ffd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6109828161094e565b811461098c575f5ffd5b50565b5f8135905061099d81610979565b92915050565b5f602082840312156109b8576109b7610946565b5b5f6109c58482850161098f565b91505092915050565b5f8115159050919050565b6109e2816109ce565b82525050565b5f6020820190506109fb5f8301846109d9565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610a2a82610a01565b9050919050565b610a3a81610a20565b8114610a44575f5ffd5b50565b5f81359050610a5581610a31565b92915050565b5f67ffffffffffffffff82169050919050565b610a7781610a5b565b8114610a81575f5ffd5b50565b5f81359050610a9281610a6e565b92915050565b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610ae682610aa0565b810181811067ffffffffffffffff82111715610b0557610b04610ab0565b5b80604052505050565b5f610b1761093d565b9050610b238282610add565b919050565b5f67ffffffffffffffff821115610b4257610b41610ab0565b5b610b4b82610aa0565b9050602081019050919050565b828183375f83830152505050565b5f610b78610b7384610b28565b610b0e565b905082815260208101848484011115610b9457610b93610a9c565b5b610b9f848285610b58565b509392505050565b5f82601f830112610bbb57610bba610a98565b5b8135610bcb848260208601610b66565b91505092915050565b5f5f5f5f60808587031215610bec57610beb610946565b5b5f610bf987828801610a47565b9450506020610c0a87828801610a84565b935050604085013567ffffffffffffffff811115610c2b57610c2a61094a565b5b610c3787828801610ba7565b925050606085013567ffffffffffffffff811115610c5857610c5761094a565b5b610c6487828801610ba7565b91505092959194509250565b5f819050919050565b610c8281610c70565b82525050565b5f602082019050610c9b5f830184610c79565b92915050565b5f60208284031215610cb657610cb5610946565b5b5f610cc384828501610a47565b91505092915050565b5f819050919050565b610cde81610ccc565b8114610ce8575f5ffd5b50565b5f81359050610cf981610cd5565b92915050565b5f60208284031215610d1457610d13610946565b5b5f610d2184828501610ceb565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f610d5c82610d2a565b610d668185610d34565b9350610d76818560208601610d44565b610d7f81610aa0565b840191505092915050565b5f6020820190508181035f830152610da28184610d52565b905092915050565b5f5ffd5b5f5ffd5b5f5f83601f840112610dc757610dc6610a98565b5b8235905067ffffffffffffffff811115610de457610de3610daa565b5b602083019150836001820283011115610e0057610dff610dae565b5b9250929050565b5f5f5f5f60408587031215610e1f57610e1e610946565b5b5f85013567ffffffffffffffff811115610e3c57610e3b61094a565b5b610e4887828801610db2565b9450945050602085013567ffffffffffffffff811115610e6b57610e6a61094a565b5b610e7787828801610db2565b925092505092959194509250565b5f81519050919050565b5f82825260208201905092915050565b5f610ea982610e85565b610eb38185610e8f565b9350610ec3818560208601610d44565b610ecc81610aa0565b840191505092915050565b5f6020820190508181035f830152610eef8184610e9f565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680610f3b57607f821691505b602082108103610f4e57610f4d610ef7565b5b50919050565b5f610f5f8385610e8f565b9350610f6c838584610b58565b610f7583610aa0565b840190509392505050565b5f6040820190508181035f830152610f99818688610f54565b90508181036020830152610fae818486610f54565b905095945050505050565b610fc281610a20565b82525050565b5f81549050919050565b5f82825260208201905092915050565b5f819050815f5260205f209050919050565b5f82825260208201905092915050565b5f819050815f5260205f209050919050565b5f815461102281610f24565b61102c8186610ff4565b9450600182165f8114611046576001811461105c5761108e565b60ff19831686528115156020028601935061108e565b61106585611004565b5f5b8381101561108657815481890152600182019150602081019050611067565b808801955050505b50505092915050565b5f6110a28383611016565b905092915050565b5f600182019050919050565b5f6110c082610fc8565b6110ca8185610fd2565b9350836020820285016110dc85610fe2565b805f5b85811015611116578484038952816110f78582611097565b9450611102836110aa565b925060208a019950506001810190506110df565b50829750879550505050505092915050565b6111318161094e565b82525050565b5f60a08201905061114a5f830188610fb9565b818103602083015261115c81876110b6565b905081810360408301526111708186610e9f565b905061117f6060830185611128565b81810360808301526111918184610e9f565b90509695505050505050565b7f5369676e617475726556657269666965723a20496e76616c6964207369676e615f8201527f7475726500000000000000000000000000000000000000000000000000000000602082015250565b5f6111f7602483610d34565b91506112028261119d565b604082019050919050565b5f6020820190508181035f830152611224816111eb565b9050919050565b5f81905092915050565b7f19000000000000000000000000000000000000000000000000000000000000005f82015250565b5f61126960028361122b565b915061127482611235565b600282019050919050565b5f8160601b9050919050565b5f6112958261127f565b9050919050565b5f6112a68261128b565b9050919050565b6112be6112b982610a20565b61129c565b82525050565b5f8160c01b9050919050565b5f6112da826112c4565b9050919050565b6112f26112ed82610a5b565b6112d0565b82525050565b5f819050919050565b61131261130d82610c70565b6112f8565b82525050565b5f6113228261125d565b915061132e82876112ad565b60148201915061133e82866112e1565b60088201915061134e8285611301565b60208201915061135e8284611301565b60208201915081905095945050505050565b5f5f5f6060848603121561138757611386610946565b5b5f84013567ffffffffffffffff8111156113a4576113a361094a565b5b6113b086828701610ba7565b93505060206113c186828701610a84565b925050604084013567ffffffffffffffff8111156113e2576113e161094a565b5b6113ee86828701610ba7565b9150509250925092565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b7f45434453413a20696e76616c6964207369676e617475726500000000000000005f82015250565b5f611459601883610d34565b915061146482611425565b602082019050919050565b5f6020820190508181035f8301526114868161144d565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e677468005f82015250565b5f6114c1601f83610d34565b91506114cc8261148d565b602082019050919050565b5f6020820190508181035f8301526114ee816114b5565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c5f8201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b5f61154f602283610d34565b915061155a826114f5565b604082019050919050565b5f6020820190508181035f83015261157c81611543565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202776272076616c5f8201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b5f6115dd602283610d34565b91506115e882611583565b604082019050919050565b5f6020820190508181035f83015261160a816115d1565b9050919050565b5f60ff82169050919050565b61162681611611565b82525050565b5f60808201905061163f5f830187610c79565b61164c602083018661161d565b6116596040830185610c79565b6116666060830184610c79565b9594505050505056fea264697066735822122055f89fadc6c67e915a58e5e7badfbf823a1cdbd8fd7977f99a19b2e79105741c64736f6c634300081c0033"  # noqa: E501
 OFFCHAIN_RESOLVER_ABI = [
     {
         "inputs": [
diff --git a/web3/_utils/contract_sources/contract_data/panic_errors_contract.py b/web3/_utils/contract_sources/contract_data/panic_errors_contract.py
index d158c96527..229f99b30b 100644
--- a/web3/_utils/contract_sources/contract_data/panic_errors_contract.py
+++ b/web3/_utils/contract_sources/contract_data/panic_errors_contract.py
@@ -1,11 +1,11 @@
 """
 Generated by `compile_contracts.py` script.
-Compiled with Solidity v0.8.27.
+Compiled with Solidity v0.8.28.
 """
 
 # source: web3/_utils/contract_sources/PanicErrorsContract.sol:PanicErrorsContract
-PANIC_ERRORS_CONTRACT_BYTECODE = "0x60806040525f67ffffffffffffffff81111561001e5761001d61018f565b5b60405190808252806020026020018201604052801561005157816020015b606081526020019060019003908161003c5790505b505f90805190602001906100669291906100bd565b506040518060400160405280600381526020017f6162630000000000000000000000000000000000000000000000000000000000815250600190816100ab91906103cc565b503480156100b7575f5ffd5b50610574565b828054828255905f5260205f20908101928215610103579160200282015b828111156101025782518290816100f291906104a5565b50916020019190600101906100db565b5b5090506101109190610114565b5090565b5b80821115610133575f818161012a9190610137565b50600101610115565b5090565b508054610143906101f3565b5f825580601f106101545750610171565b601f0160209004905f5260205f20908101906101709190610174565b5b50565b5b8082111561018b575f815f905550600101610175565b5090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061020a57607f821691505b60208210810361021d5761021c6101c6565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261027f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610244565b6102898683610244565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6102cd6102c86102c3846102a1565b6102aa565b6102a1565b9050919050565b5f819050919050565b6102e6836102b3565b6102fa6102f2826102d4565b848454610250565b825550505050565b5f5f905090565b610311610302565b61031c8184846102dd565b505050565b5b8181101561033f576103345f82610309565b600181019050610322565b5050565b601f8211156103845761035581610223565b61035e84610235565b8101602085101561036d578190505b61038161037985610235565b830182610321565b50505b505050565b5f82821c905092915050565b5f6103a45f1984600802610389565b1980831691505092915050565b5f6103bc8383610395565b9150826002028217905092915050565b6103d5826101bc565b67ffffffffffffffff8111156103ee576103ed61018f565b5b6103f882546101f3565b610403828285610343565b5f60209050601f831160018114610434575f8415610422578287015190505b61042c85826103b1565b865550610493565b601f19841661044286610223565b5f5b8281101561046957848901518255600182019150602085019450602081019050610444565b868310156104865784890151610482601f891682610395565b8355505b6001600288020188555050505b505050505050565b5f81519050919050565b6104ae8261049b565b67ffffffffffffffff8111156104c7576104c661018f565b5b6104d182546101f3565b6104dc828285610343565b5f60209050601f83116001811461050d575f84156104fb578287015190505b61050585826103b1565b86555061056c565b601f19841661051b86610223565b5f5b828110156105425784890151825560018201915060208501945060208101905061051d565b8683101561055f578489015161055b601f891682610395565b8355505b6001600288020188555050505b505050505050565b610990806105815f395ff3fe608060405234801561000f575f5ffd5b50600436106100b2575f3560e01c80638e5ab2d21161006f5780638e5ab2d214610118578063946c05b214610122578063a56dfe4a1461012c578063b6a3bfb11461014a578063c2eb2ebb14610166578063fc430d5c14610170576100b2565b80630c55699c146100b65780633124bba4146100d45780633b447353146100de578063554c0809146100e85780636407fe2c146100f25780636fff525e146100fc575b5f5ffd5b6100be6101a0565b6040516100cb919061065e565b60405180910390f35b6100dc61022c565b005b6100e661024b565b005b6100f06102bf565b005b6100fa6102d4565b005b610116600480360381019061011191906106b5565b6102e4565b005b6101206102fd565b005b61012a61032b565b005b610134610355565b604051610141919061065e565b60405180910390f35b610164600480360381019061015f9190610713565b6103e1565b005b61016e6103f5565b005b61018a60048036038101906101859190610713565b6104e7565b604051610197919061065e565b60405180910390f35b600180546101ad9061076b565b80601f01602080910402602001604051908101604052809291908181526020018280546101d99061076b565b80156102245780601f106101fb57610100808354040283529160200191610224565b820191905f5260205f20905b81548152906001019060200180831161020757829003601f168201915b505050505081565b5f6001815481106102405761023f61079b565b5b905f5260205f205050565b5f7f080000000000000000000000000000000000000000000000000000000000000090505f8167ffffffffffffffff81111561028a576102896107c8565b5b6040519080825280602002602001820160405280156102b85781602001602082028036833780820191505090505b5090505050565b5f5f905080806102ce90610822565b91505050565b5f6102e2576102e1610849565b5b565b5f815f8111156102f7576102f6610876565b5b90505050565b5f80548061030e5761030d6108a3565b5b600190038181905f5260205f20015f610327919061058c565b9055565b61035360035f9054906101000a900480156105c9021767ffffffffffffffff1663ffffffff16565b565b600280546103629061076b565b80601f016020809104026020016040519081016040528092919081815260200182805461038e9061076b565b80156103d95780601f106103b0576101008083540402835291602001916103d9565b820191905f5260205f20905b8154815290600101906020018083116103bc57829003601f168201915b505050505081565b5f8160056103ef91906108fd565b90505050565b604060015560025f610407919061058c565b60018054806104159061076b565b80610447577f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b601f81115f811461045f5760018114610481576104de565b6001826021036101000a036001830392506002830284821916179350506104de565b835f5260205f2082602081146104c757601f6001850316602060018603048301925082546001826020036101000a038181191691508185556002880397505050506104db565b81545f835560ff1981169050603e81179550505b50505b50818355505050565b5f81815481106104f5575f80fd5b905f5260205f20015f91509050805461050d9061076b565b80601f01602080910402602001604051908101604052809291908181526020018280546105399061076b565b80156105845780601f1061055b57610100808354040283529160200191610584565b820191905f5260205f20905b81548152906001019060200180831161056757829003601f168201915b505050505081565b5080546105989061076b565b5f825580601f106105a957506105c6565b601f0160209004905f5260205f20908101906105c591906105d3565b5b50565b6105d161092d565b565b5b808211156105ea575f815f9055506001016105d4565b5090565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f610630826105ee565b61063a81856105f8565b935061064a818560208601610608565b61065381610616565b840191505092915050565b5f6020820190508181035f8301526106768184610626565b905092915050565b5f5ffd5b5f819050919050565b61069481610682565b811461069e575f5ffd5b50565b5f813590506106af8161068b565b92915050565b5f602082840312156106ca576106c961067e565b5b5f6106d7848285016106a1565b91505092915050565b5f819050919050565b6106f2816106e0565b81146106fc575f5ffd5b50565b5f8135905061070d816106e9565b92915050565b5f602082840312156107285761072761067e565b5b5f610735848285016106ff565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061078257607f821691505b6020821081036107955761079461073e565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61082c826106e0565b91505f820361083e5761083d6107f5565b5b600182039050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52600160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f610907826106e0565b9150610912836106e0565b925082610922576109216108d0565b5b828204905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffdfea2646970667358221220204e55cdeba90eae10e22537e5d89bc7c27fca98c64731411591c2b3bb0f4c5064736f6c634300081b0033"  # noqa: E501
-PANIC_ERRORS_CONTRACT_RUNTIME = "0x608060405234801561000f575f5ffd5b50600436106100b2575f3560e01c80638e5ab2d21161006f5780638e5ab2d214610118578063946c05b214610122578063a56dfe4a1461012c578063b6a3bfb11461014a578063c2eb2ebb14610166578063fc430d5c14610170576100b2565b80630c55699c146100b65780633124bba4146100d45780633b447353146100de578063554c0809146100e85780636407fe2c146100f25780636fff525e146100fc575b5f5ffd5b6100be6101a0565b6040516100cb919061065e565b60405180910390f35b6100dc61022c565b005b6100e661024b565b005b6100f06102bf565b005b6100fa6102d4565b005b610116600480360381019061011191906106b5565b6102e4565b005b6101206102fd565b005b61012a61032b565b005b610134610355565b604051610141919061065e565b60405180910390f35b610164600480360381019061015f9190610713565b6103e1565b005b61016e6103f5565b005b61018a60048036038101906101859190610713565b6104e7565b604051610197919061065e565b60405180910390f35b600180546101ad9061076b565b80601f01602080910402602001604051908101604052809291908181526020018280546101d99061076b565b80156102245780601f106101fb57610100808354040283529160200191610224565b820191905f5260205f20905b81548152906001019060200180831161020757829003601f168201915b505050505081565b5f6001815481106102405761023f61079b565b5b905f5260205f205050565b5f7f080000000000000000000000000000000000000000000000000000000000000090505f8167ffffffffffffffff81111561028a576102896107c8565b5b6040519080825280602002602001820160405280156102b85781602001602082028036833780820191505090505b5090505050565b5f5f905080806102ce90610822565b91505050565b5f6102e2576102e1610849565b5b565b5f815f8111156102f7576102f6610876565b5b90505050565b5f80548061030e5761030d6108a3565b5b600190038181905f5260205f20015f610327919061058c565b9055565b61035360035f9054906101000a900480156105c9021767ffffffffffffffff1663ffffffff16565b565b600280546103629061076b565b80601f016020809104026020016040519081016040528092919081815260200182805461038e9061076b565b80156103d95780601f106103b0576101008083540402835291602001916103d9565b820191905f5260205f20905b8154815290600101906020018083116103bc57829003601f168201915b505050505081565b5f8160056103ef91906108fd565b90505050565b604060015560025f610407919061058c565b60018054806104159061076b565b80610447577f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b601f81115f811461045f5760018114610481576104de565b6001826021036101000a036001830392506002830284821916179350506104de565b835f5260205f2082602081146104c757601f6001850316602060018603048301925082546001826020036101000a038181191691508185556002880397505050506104db565b81545f835560ff1981169050603e81179550505b50505b50818355505050565b5f81815481106104f5575f80fd5b905f5260205f20015f91509050805461050d9061076b565b80601f01602080910402602001604051908101604052809291908181526020018280546105399061076b565b80156105845780601f1061055b57610100808354040283529160200191610584565b820191905f5260205f20905b81548152906001019060200180831161056757829003601f168201915b505050505081565b5080546105989061076b565b5f825580601f106105a957506105c6565b601f0160209004905f5260205f20908101906105c591906105d3565b5b50565b6105d161092d565b565b5b808211156105ea575f815f9055506001016105d4565b5090565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f610630826105ee565b61063a81856105f8565b935061064a818560208601610608565b61065381610616565b840191505092915050565b5f6020820190508181035f8301526106768184610626565b905092915050565b5f5ffd5b5f819050919050565b61069481610682565b811461069e575f5ffd5b50565b5f813590506106af8161068b565b92915050565b5f602082840312156106ca576106c961067e565b5b5f6106d7848285016106a1565b91505092915050565b5f819050919050565b6106f2816106e0565b81146106fc575f5ffd5b50565b5f8135905061070d816106e9565b92915050565b5f602082840312156107285761072761067e565b5b5f610735848285016106ff565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061078257607f821691505b6020821081036107955761079461073e565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61082c826106e0565b91505f820361083e5761083d6107f5565b5b600182039050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52600160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f610907826106e0565b9150610912836106e0565b925082610922576109216108d0565b5b828204905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffdfea2646970667358221220204e55cdeba90eae10e22537e5d89bc7c27fca98c64731411591c2b3bb0f4c5064736f6c634300081b0033"  # noqa: E501
+PANIC_ERRORS_CONTRACT_BYTECODE = "0x60806040525f67ffffffffffffffff81111561001e5761001d61018f565b5b60405190808252806020026020018201604052801561005157816020015b606081526020019060019003908161003c5790505b505f90805190602001906100669291906100bd565b506040518060400160405280600381526020017f6162630000000000000000000000000000000000000000000000000000000000815250600190816100ab91906103cc565b503480156100b7575f5ffd5b50610574565b828054828255905f5260205f20908101928215610103579160200282015b828111156101025782518290816100f291906104a5565b50916020019190600101906100db565b5b5090506101109190610114565b5090565b5b80821115610133575f818161012a9190610137565b50600101610115565b5090565b508054610143906101f3565b5f825580601f106101545750610171565b601f0160209004905f5260205f20908101906101709190610174565b5b50565b5b8082111561018b575f815f905550600101610175565b5090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061020a57607f821691505b60208210810361021d5761021c6101c6565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261027f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610244565b6102898683610244565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6102cd6102c86102c3846102a1565b6102aa565b6102a1565b9050919050565b5f819050919050565b6102e6836102b3565b6102fa6102f2826102d4565b848454610250565b825550505050565b5f5f905090565b610311610302565b61031c8184846102dd565b505050565b5b8181101561033f576103345f82610309565b600181019050610322565b5050565b601f8211156103845761035581610223565b61035e84610235565b8101602085101561036d578190505b61038161037985610235565b830182610321565b50505b505050565b5f82821c905092915050565b5f6103a45f1984600802610389565b1980831691505092915050565b5f6103bc8383610395565b9150826002028217905092915050565b6103d5826101bc565b67ffffffffffffffff8111156103ee576103ed61018f565b5b6103f882546101f3565b610403828285610343565b5f60209050601f831160018114610434575f8415610422578287015190505b61042c85826103b1565b865550610493565b601f19841661044286610223565b5f5b8281101561046957848901518255600182019150602085019450602081019050610444565b868310156104865784890151610482601f891682610395565b8355505b6001600288020188555050505b505050505050565b5f81519050919050565b6104ae8261049b565b67ffffffffffffffff8111156104c7576104c661018f565b5b6104d182546101f3565b6104dc828285610343565b5f60209050601f83116001811461050d575f84156104fb578287015190505b61050585826103b1565b86555061056c565b601f19841661051b86610223565b5f5b828110156105425784890151825560018201915060208501945060208101905061051d565b8683101561055f578489015161055b601f891682610395565b8355505b6001600288020188555050505b505050505050565b610990806105815f395ff3fe608060405234801561000f575f5ffd5b50600436106100b2575f3560e01c80638e5ab2d21161006f5780638e5ab2d214610118578063946c05b214610122578063a56dfe4a1461012c578063b6a3bfb11461014a578063c2eb2ebb14610166578063fc430d5c14610170576100b2565b80630c55699c146100b65780633124bba4146100d45780633b447353146100de578063554c0809146100e85780636407fe2c146100f25780636fff525e146100fc575b5f5ffd5b6100be6101a0565b6040516100cb919061065e565b60405180910390f35b6100dc61022c565b005b6100e661024b565b005b6100f06102bf565b005b6100fa6102d4565b005b610116600480360381019061011191906106b5565b6102e4565b005b6101206102fd565b005b61012a61032b565b005b610134610355565b604051610141919061065e565b60405180910390f35b610164600480360381019061015f9190610713565b6103e1565b005b61016e6103f5565b005b61018a60048036038101906101859190610713565b6104e7565b604051610197919061065e565b60405180910390f35b600180546101ad9061076b565b80601f01602080910402602001604051908101604052809291908181526020018280546101d99061076b565b80156102245780601f106101fb57610100808354040283529160200191610224565b820191905f5260205f20905b81548152906001019060200180831161020757829003601f168201915b505050505081565b5f6001815481106102405761023f61079b565b5b905f5260205f205050565b5f7f080000000000000000000000000000000000000000000000000000000000000090505f8167ffffffffffffffff81111561028a576102896107c8565b5b6040519080825280602002602001820160405280156102b85781602001602082028036833780820191505090505b5090505050565b5f5f905080806102ce90610822565b91505050565b5f6102e2576102e1610849565b5b565b5f815f8111156102f7576102f6610876565b5b90505050565b5f80548061030e5761030d6108a3565b5b600190038181905f5260205f20015f610327919061058c565b9055565b61035360035f9054906101000a900480156105c9021767ffffffffffffffff1663ffffffff16565b565b600280546103629061076b565b80601f016020809104026020016040519081016040528092919081815260200182805461038e9061076b565b80156103d95780601f106103b0576101008083540402835291602001916103d9565b820191905f5260205f20905b8154815290600101906020018083116103bc57829003601f168201915b505050505081565b5f8160056103ef91906108fd565b90505050565b604060015560025f610407919061058c565b60018054806104159061076b565b80610447577f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b601f81115f811461045f5760018114610481576104de565b6001826021036101000a036001830392506002830284821916179350506104de565b835f5260205f2082602081146104c757601f6001850316602060018603048301925082546001826020036101000a038181191691508185556002880397505050506104db565b81545f835560ff1981169050603e81179550505b50505b50818355505050565b5f81815481106104f5575f80fd5b905f5260205f20015f91509050805461050d9061076b565b80601f01602080910402602001604051908101604052809291908181526020018280546105399061076b565b80156105845780601f1061055b57610100808354040283529160200191610584565b820191905f5260205f20905b81548152906001019060200180831161056757829003601f168201915b505050505081565b5080546105989061076b565b5f825580601f106105a957506105c6565b601f0160209004905f5260205f20908101906105c591906105d3565b5b50565b6105d161092d565b565b5b808211156105ea575f815f9055506001016105d4565b5090565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f610630826105ee565b61063a81856105f8565b935061064a818560208601610608565b61065381610616565b840191505092915050565b5f6020820190508181035f8301526106768184610626565b905092915050565b5f5ffd5b5f819050919050565b61069481610682565b811461069e575f5ffd5b50565b5f813590506106af8161068b565b92915050565b5f602082840312156106ca576106c961067e565b5b5f6106d7848285016106a1565b91505092915050565b5f819050919050565b6106f2816106e0565b81146106fc575f5ffd5b50565b5f8135905061070d816106e9565b92915050565b5f602082840312156107285761072761067e565b5b5f610735848285016106ff565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061078257607f821691505b6020821081036107955761079461073e565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61082c826106e0565b91505f820361083e5761083d6107f5565b5b600182039050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52600160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f610907826106e0565b9150610912836106e0565b925082610922576109216108d0565b5b828204905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffdfea264697066735822122038d666deccb63e9462ea27e76f2e5a5c4f79e1b4e134dc4586a4ae9f610c076264736f6c634300081c0033"  # noqa: E501
+PANIC_ERRORS_CONTRACT_RUNTIME = "0x608060405234801561000f575f5ffd5b50600436106100b2575f3560e01c80638e5ab2d21161006f5780638e5ab2d214610118578063946c05b214610122578063a56dfe4a1461012c578063b6a3bfb11461014a578063c2eb2ebb14610166578063fc430d5c14610170576100b2565b80630c55699c146100b65780633124bba4146100d45780633b447353146100de578063554c0809146100e85780636407fe2c146100f25780636fff525e146100fc575b5f5ffd5b6100be6101a0565b6040516100cb919061065e565b60405180910390f35b6100dc61022c565b005b6100e661024b565b005b6100f06102bf565b005b6100fa6102d4565b005b610116600480360381019061011191906106b5565b6102e4565b005b6101206102fd565b005b61012a61032b565b005b610134610355565b604051610141919061065e565b60405180910390f35b610164600480360381019061015f9190610713565b6103e1565b005b61016e6103f5565b005b61018a60048036038101906101859190610713565b6104e7565b604051610197919061065e565b60405180910390f35b600180546101ad9061076b565b80601f01602080910402602001604051908101604052809291908181526020018280546101d99061076b565b80156102245780601f106101fb57610100808354040283529160200191610224565b820191905f5260205f20905b81548152906001019060200180831161020757829003601f168201915b505050505081565b5f6001815481106102405761023f61079b565b5b905f5260205f205050565b5f7f080000000000000000000000000000000000000000000000000000000000000090505f8167ffffffffffffffff81111561028a576102896107c8565b5b6040519080825280602002602001820160405280156102b85781602001602082028036833780820191505090505b5090505050565b5f5f905080806102ce90610822565b91505050565b5f6102e2576102e1610849565b5b565b5f815f8111156102f7576102f6610876565b5b90505050565b5f80548061030e5761030d6108a3565b5b600190038181905f5260205f20015f610327919061058c565b9055565b61035360035f9054906101000a900480156105c9021767ffffffffffffffff1663ffffffff16565b565b600280546103629061076b565b80601f016020809104026020016040519081016040528092919081815260200182805461038e9061076b565b80156103d95780601f106103b0576101008083540402835291602001916103d9565b820191905f5260205f20905b8154815290600101906020018083116103bc57829003601f168201915b505050505081565b5f8160056103ef91906108fd565b90505050565b604060015560025f610407919061058c565b60018054806104159061076b565b80610447577f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b601f81115f811461045f5760018114610481576104de565b6001826021036101000a036001830392506002830284821916179350506104de565b835f5260205f2082602081146104c757601f6001850316602060018603048301925082546001826020036101000a038181191691508185556002880397505050506104db565b81545f835560ff1981169050603e81179550505b50505b50818355505050565b5f81815481106104f5575f80fd5b905f5260205f20015f91509050805461050d9061076b565b80601f01602080910402602001604051908101604052809291908181526020018280546105399061076b565b80156105845780601f1061055b57610100808354040283529160200191610584565b820191905f5260205f20905b81548152906001019060200180831161056757829003601f168201915b505050505081565b5080546105989061076b565b5f825580601f106105a957506105c6565b601f0160209004905f5260205f20908101906105c591906105d3565b5b50565b6105d161092d565b565b5b808211156105ea575f815f9055506001016105d4565b5090565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f610630826105ee565b61063a81856105f8565b935061064a818560208601610608565b61065381610616565b840191505092915050565b5f6020820190508181035f8301526106768184610626565b905092915050565b5f5ffd5b5f819050919050565b61069481610682565b811461069e575f5ffd5b50565b5f813590506106af8161068b565b92915050565b5f602082840312156106ca576106c961067e565b5b5f6106d7848285016106a1565b91505092915050565b5f819050919050565b6106f2816106e0565b81146106fc575f5ffd5b50565b5f8135905061070d816106e9565b92915050565b5f602082840312156107285761072761067e565b5b5f610735848285016106ff565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061078257607f821691505b6020821081036107955761079461073e565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61082c826106e0565b91505f820361083e5761083d6107f5565b5b600182039050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52600160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f610907826106e0565b9150610912836106e0565b925082610922576109216108d0565b5b828204905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52605160045260245ffdfea264697066735822122038d666deccb63e9462ea27e76f2e5a5c4f79e1b4e134dc4586a4ae9f610c076264736f6c634300081c0033"  # noqa: E501
 PANIC_ERRORS_CONTRACT_ABI = [
     {
         "inputs": [{"internalType": "uint256", "name": "", "type": "uint256"}],
diff --git a/web3/_utils/contract_sources/contract_data/receive_function_contracts.py b/web3/_utils/contract_sources/contract_data/receive_function_contracts.py
index 43d5592275..630438dcd2 100644
--- a/web3/_utils/contract_sources/contract_data/receive_function_contracts.py
+++ b/web3/_utils/contract_sources/contract_data/receive_function_contracts.py
@@ -1,11 +1,11 @@
 """
 Generated by `compile_contracts.py` script.
-Compiled with Solidity v0.8.27.
+Compiled with Solidity v0.8.28.
 """
 
 # source: web3/_utils/contract_sources/ReceiveFunctionContracts.sol:ReceiveFunctionContract  # noqa: E501
-RECEIVE_FUNCTION_CONTRACT_BYTECODE = "0x6080604052348015600e575f5ffd5b5061076d8061001c5f395ff3fe60806040526004361061002c575f3560e01c80635d3a1f9d146100bb578063e00fe2eb146100f757610076565b36610076576040518060400160405280600781526020017f72656365697665000000000000000000000000000000000000000000000000008152505f9081610074919061048b565b005b6040518060400160405280600881526020017f66616c6c6261636b0000000000000000000000000000000000000000000000008152505f90816100b9919061048b565b005b3480156100c6575f5ffd5b506100e160048036038101906100dc919061067a565b610121565b6040516100ee9190610717565b60405180910390f35b348015610102575f5ffd5b5061010b6101bf565b6040516101189190610717565b60405180910390f35b6060815f9081610131919061048b565b805461013c906102b2565b80601f0160208091040260200160405190810160405280929190818152602001828054610168906102b2565b80156101b35780601f1061018a576101008083540402835291602001916101b3565b820191905f5260205f20905b81548152906001019060200180831161019657829003601f168201915b50505050509050919050565b60605f80546101cd906102b2565b80601f01602080910402602001604051908101604052809291908181526020018280546101f9906102b2565b80156102445780601f1061021b57610100808354040283529160200191610244565b820191905f5260205f20905b81548152906001019060200180831161022757829003601f168201915b5050505050905090565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806102c957607f821691505b6020821081036102dc576102db610285565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261033e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610303565b6103488683610303565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61038c61038761038284610360565b610369565b610360565b9050919050565b5f819050919050565b6103a583610372565b6103b96103b182610393565b84845461030f565b825550505050565b5f5f905090565b6103d06103c1565b6103db81848461039c565b505050565b5b818110156103fe576103f35f826103c8565b6001810190506103e1565b5050565b601f82111561044357610414816102e2565b61041d846102f4565b8101602085101561042c578190505b610440610438856102f4565b8301826103e0565b50505b505050565b5f82821c905092915050565b5f6104635f1984600802610448565b1980831691505092915050565b5f61047b8383610454565b9150826002028217905092915050565b6104948261024e565b67ffffffffffffffff8111156104ad576104ac610258565b5b6104b782546102b2565b6104c2828285610402565b5f60209050601f8311600181146104f3575f84156104e1578287015190505b6104eb8582610470565b865550610552565b601f198416610501866102e2565b5f5b8281101561052857848901518255600182019150602085019450602081019050610503565b868310156105455784890151610541601f891682610454565b8355505b6001600288020188555050505b505050505050565b5f604051905090565b5f5ffd5b5f5ffd5b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b61058c82610573565b810181811067ffffffffffffffff821117156105ab576105aa610258565b5b80604052505050565b5f6105bd61055a565b90506105c98282610583565b919050565b5f67ffffffffffffffff8211156105e8576105e7610258565b5b6105f182610573565b9050602081019050919050565b828183375f83830152505050565b5f61061e610619846105ce565b6105b4565b90508281526020810184848401111561063a5761063961056f565b5b6106458482856105fe565b509392505050565b5f82601f8301126106615761066061056b565b5b813561067184826020860161060c565b91505092915050565b5f6020828403121561068f5761068e610563565b5b5f82013567ffffffffffffffff8111156106ac576106ab610567565b5b6106b88482850161064d565b91505092915050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f6106e98261024e565b6106f381856106c1565b93506107038185602086016106d1565b61070c81610573565b840191505092915050565b5f6020820190508181035f83015261072f81846106df565b90509291505056fea2646970667358221220c267899ec561d41c3ca94157243854becd35943acc08cca9f05e55d974e0071c64736f6c634300081b0033"  # noqa: E501
-RECEIVE_FUNCTION_CONTRACT_RUNTIME = "0x60806040526004361061002c575f3560e01c80635d3a1f9d146100bb578063e00fe2eb146100f757610076565b36610076576040518060400160405280600781526020017f72656365697665000000000000000000000000000000000000000000000000008152505f9081610074919061048b565b005b6040518060400160405280600881526020017f66616c6c6261636b0000000000000000000000000000000000000000000000008152505f90816100b9919061048b565b005b3480156100c6575f5ffd5b506100e160048036038101906100dc919061067a565b610121565b6040516100ee9190610717565b60405180910390f35b348015610102575f5ffd5b5061010b6101bf565b6040516101189190610717565b60405180910390f35b6060815f9081610131919061048b565b805461013c906102b2565b80601f0160208091040260200160405190810160405280929190818152602001828054610168906102b2565b80156101b35780601f1061018a576101008083540402835291602001916101b3565b820191905f5260205f20905b81548152906001019060200180831161019657829003601f168201915b50505050509050919050565b60605f80546101cd906102b2565b80601f01602080910402602001604051908101604052809291908181526020018280546101f9906102b2565b80156102445780601f1061021b57610100808354040283529160200191610244565b820191905f5260205f20905b81548152906001019060200180831161022757829003601f168201915b5050505050905090565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806102c957607f821691505b6020821081036102dc576102db610285565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261033e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610303565b6103488683610303565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61038c61038761038284610360565b610369565b610360565b9050919050565b5f819050919050565b6103a583610372565b6103b96103b182610393565b84845461030f565b825550505050565b5f5f905090565b6103d06103c1565b6103db81848461039c565b505050565b5b818110156103fe576103f35f826103c8565b6001810190506103e1565b5050565b601f82111561044357610414816102e2565b61041d846102f4565b8101602085101561042c578190505b610440610438856102f4565b8301826103e0565b50505b505050565b5f82821c905092915050565b5f6104635f1984600802610448565b1980831691505092915050565b5f61047b8383610454565b9150826002028217905092915050565b6104948261024e565b67ffffffffffffffff8111156104ad576104ac610258565b5b6104b782546102b2565b6104c2828285610402565b5f60209050601f8311600181146104f3575f84156104e1578287015190505b6104eb8582610470565b865550610552565b601f198416610501866102e2565b5f5b8281101561052857848901518255600182019150602085019450602081019050610503565b868310156105455784890151610541601f891682610454565b8355505b6001600288020188555050505b505050505050565b5f604051905090565b5f5ffd5b5f5ffd5b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b61058c82610573565b810181811067ffffffffffffffff821117156105ab576105aa610258565b5b80604052505050565b5f6105bd61055a565b90506105c98282610583565b919050565b5f67ffffffffffffffff8211156105e8576105e7610258565b5b6105f182610573565b9050602081019050919050565b828183375f83830152505050565b5f61061e610619846105ce565b6105b4565b90508281526020810184848401111561063a5761063961056f565b5b6106458482856105fe565b509392505050565b5f82601f8301126106615761066061056b565b5b813561067184826020860161060c565b91505092915050565b5f6020828403121561068f5761068e610563565b5b5f82013567ffffffffffffffff8111156106ac576106ab610567565b5b6106b88482850161064d565b91505092915050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f6106e98261024e565b6106f381856106c1565b93506107038185602086016106d1565b61070c81610573565b840191505092915050565b5f6020820190508181035f83015261072f81846106df565b90509291505056fea2646970667358221220c267899ec561d41c3ca94157243854becd35943acc08cca9f05e55d974e0071c64736f6c634300081b0033"  # noqa: E501
+RECEIVE_FUNCTION_CONTRACT_BYTECODE = "0x6080604052348015600e575f5ffd5b5061076d8061001c5f395ff3fe60806040526004361061002c575f3560e01c80635d3a1f9d146100bb578063e00fe2eb146100f757610076565b36610076576040518060400160405280600781526020017f72656365697665000000000000000000000000000000000000000000000000008152505f9081610074919061048b565b005b6040518060400160405280600881526020017f66616c6c6261636b0000000000000000000000000000000000000000000000008152505f90816100b9919061048b565b005b3480156100c6575f5ffd5b506100e160048036038101906100dc919061067a565b610121565b6040516100ee9190610717565b60405180910390f35b348015610102575f5ffd5b5061010b6101bf565b6040516101189190610717565b60405180910390f35b6060815f9081610131919061048b565b805461013c906102b2565b80601f0160208091040260200160405190810160405280929190818152602001828054610168906102b2565b80156101b35780601f1061018a576101008083540402835291602001916101b3565b820191905f5260205f20905b81548152906001019060200180831161019657829003601f168201915b50505050509050919050565b60605f80546101cd906102b2565b80601f01602080910402602001604051908101604052809291908181526020018280546101f9906102b2565b80156102445780601f1061021b57610100808354040283529160200191610244565b820191905f5260205f20905b81548152906001019060200180831161022757829003601f168201915b5050505050905090565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806102c957607f821691505b6020821081036102dc576102db610285565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261033e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610303565b6103488683610303565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61038c61038761038284610360565b610369565b610360565b9050919050565b5f819050919050565b6103a583610372565b6103b96103b182610393565b84845461030f565b825550505050565b5f5f905090565b6103d06103c1565b6103db81848461039c565b505050565b5b818110156103fe576103f35f826103c8565b6001810190506103e1565b5050565b601f82111561044357610414816102e2565b61041d846102f4565b8101602085101561042c578190505b610440610438856102f4565b8301826103e0565b50505b505050565b5f82821c905092915050565b5f6104635f1984600802610448565b1980831691505092915050565b5f61047b8383610454565b9150826002028217905092915050565b6104948261024e565b67ffffffffffffffff8111156104ad576104ac610258565b5b6104b782546102b2565b6104c2828285610402565b5f60209050601f8311600181146104f3575f84156104e1578287015190505b6104eb8582610470565b865550610552565b601f198416610501866102e2565b5f5b8281101561052857848901518255600182019150602085019450602081019050610503565b868310156105455784890151610541601f891682610454565b8355505b6001600288020188555050505b505050505050565b5f604051905090565b5f5ffd5b5f5ffd5b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b61058c82610573565b810181811067ffffffffffffffff821117156105ab576105aa610258565b5b80604052505050565b5f6105bd61055a565b90506105c98282610583565b919050565b5f67ffffffffffffffff8211156105e8576105e7610258565b5b6105f182610573565b9050602081019050919050565b828183375f83830152505050565b5f61061e610619846105ce565b6105b4565b90508281526020810184848401111561063a5761063961056f565b5b6106458482856105fe565b509392505050565b5f82601f8301126106615761066061056b565b5b813561067184826020860161060c565b91505092915050565b5f6020828403121561068f5761068e610563565b5b5f82013567ffffffffffffffff8111156106ac576106ab610567565b5b6106b88482850161064d565b91505092915050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f6106e98261024e565b6106f381856106c1565b93506107038185602086016106d1565b61070c81610573565b840191505092915050565b5f6020820190508181035f83015261072f81846106df565b90509291505056fea264697066735822122011f12871c6975f6e5c1254ca454bda0c4fefa360b618e59586e61bf0028bfcbe64736f6c634300081c0033"  # noqa: E501
+RECEIVE_FUNCTION_CONTRACT_RUNTIME = "0x60806040526004361061002c575f3560e01c80635d3a1f9d146100bb578063e00fe2eb146100f757610076565b36610076576040518060400160405280600781526020017f72656365697665000000000000000000000000000000000000000000000000008152505f9081610074919061048b565b005b6040518060400160405280600881526020017f66616c6c6261636b0000000000000000000000000000000000000000000000008152505f90816100b9919061048b565b005b3480156100c6575f5ffd5b506100e160048036038101906100dc919061067a565b610121565b6040516100ee9190610717565b60405180910390f35b348015610102575f5ffd5b5061010b6101bf565b6040516101189190610717565b60405180910390f35b6060815f9081610131919061048b565b805461013c906102b2565b80601f0160208091040260200160405190810160405280929190818152602001828054610168906102b2565b80156101b35780601f1061018a576101008083540402835291602001916101b3565b820191905f5260205f20905b81548152906001019060200180831161019657829003601f168201915b50505050509050919050565b60605f80546101cd906102b2565b80601f01602080910402602001604051908101604052809291908181526020018280546101f9906102b2565b80156102445780601f1061021b57610100808354040283529160200191610244565b820191905f5260205f20905b81548152906001019060200180831161022757829003601f168201915b5050505050905090565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806102c957607f821691505b6020821081036102dc576102db610285565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261033e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610303565b6103488683610303565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61038c61038761038284610360565b610369565b610360565b9050919050565b5f819050919050565b6103a583610372565b6103b96103b182610393565b84845461030f565b825550505050565b5f5f905090565b6103d06103c1565b6103db81848461039c565b505050565b5b818110156103fe576103f35f826103c8565b6001810190506103e1565b5050565b601f82111561044357610414816102e2565b61041d846102f4565b8101602085101561042c578190505b610440610438856102f4565b8301826103e0565b50505b505050565b5f82821c905092915050565b5f6104635f1984600802610448565b1980831691505092915050565b5f61047b8383610454565b9150826002028217905092915050565b6104948261024e565b67ffffffffffffffff8111156104ad576104ac610258565b5b6104b782546102b2565b6104c2828285610402565b5f60209050601f8311600181146104f3575f84156104e1578287015190505b6104eb8582610470565b865550610552565b601f198416610501866102e2565b5f5b8281101561052857848901518255600182019150602085019450602081019050610503565b868310156105455784890151610541601f891682610454565b8355505b6001600288020188555050505b505050505050565b5f604051905090565b5f5ffd5b5f5ffd5b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b61058c82610573565b810181811067ffffffffffffffff821117156105ab576105aa610258565b5b80604052505050565b5f6105bd61055a565b90506105c98282610583565b919050565b5f67ffffffffffffffff8211156105e8576105e7610258565b5b6105f182610573565b9050602081019050919050565b828183375f83830152505050565b5f61061e610619846105ce565b6105b4565b90508281526020810184848401111561063a5761063961056f565b5b6106458482856105fe565b509392505050565b5f82601f8301126106615761066061056b565b5b813561067184826020860161060c565b91505092915050565b5f6020828403121561068f5761068e610563565b5b5f82013567ffffffffffffffff8111156106ac576106ab610567565b5b6106b88482850161064d565b91505092915050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f6106e98261024e565b6106f381856106c1565b93506107038185602086016106d1565b61070c81610573565b840191505092915050565b5f6020820190508181035f83015261072f81846106df565b90509291505056fea264697066735822122011f12871c6975f6e5c1254ca454bda0c4fefa360b618e59586e61bf0028bfcbe64736f6c634300081c0033"  # noqa: E501
 RECEIVE_FUNCTION_CONTRACT_ABI = [
     {"stateMutability": "payable", "type": "fallback"},
     {
@@ -32,8 +32,8 @@
 
 
 # source: web3/_utils/contract_sources/ReceiveFunctionContracts.sol:NoReceiveFunctionContract  # noqa: E501
-NO_RECEIVE_FUNCTION_CONTRACT_BYTECODE = "0x6080604052348015600e575f5ffd5b506107188061001c5f395ff3fe608060405234801561000f575f5ffd5b5060043610610038575f3560e01c80635d3a1f9d1461007e578063e00fe2eb146100ae57610039565b5b6040518060400160405280600881526020017f66616c6c6261636b0000000000000000000000000000000000000000000000008152505f908161007c9190610436565b005b61009860048036038101906100939190610625565b6100cc565b6040516100a591906106c2565b60405180910390f35b6100b661016a565b6040516100c391906106c2565b60405180910390f35b6060815f90816100dc9190610436565b80546100e79061025d565b80601f01602080910402602001604051908101604052809291908181526020018280546101139061025d565b801561015e5780601f106101355761010080835404028352916020019161015e565b820191905f5260205f20905b81548152906001019060200180831161014157829003601f168201915b50505050509050919050565b60605f80546101789061025d565b80601f01602080910402602001604051908101604052809291908181526020018280546101a49061025d565b80156101ef5780601f106101c6576101008083540402835291602001916101ef565b820191905f5260205f20905b8154815290600101906020018083116101d257829003601f168201915b5050505050905090565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061027457607f821691505b60208210810361028757610286610230565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026102e97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826102ae565b6102f386836102ae565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61033761033261032d8461030b565b610314565b61030b565b9050919050565b5f819050919050565b6103508361031d565b61036461035c8261033e565b8484546102ba565b825550505050565b5f5f905090565b61037b61036c565b610386818484610347565b505050565b5b818110156103a95761039e5f82610373565b60018101905061038c565b5050565b601f8211156103ee576103bf8161028d565b6103c88461029f565b810160208510156103d7578190505b6103eb6103e38561029f565b83018261038b565b50505b505050565b5f82821c905092915050565b5f61040e5f19846008026103f3565b1980831691505092915050565b5f61042683836103ff565b9150826002028217905092915050565b61043f826101f9565b67ffffffffffffffff81111561045857610457610203565b5b610462825461025d565b61046d8282856103ad565b5f60209050601f83116001811461049e575f841561048c578287015190505b610496858261041b565b8655506104fd565b601f1984166104ac8661028d565b5f5b828110156104d3578489015182556001820191506020850194506020810190506104ae565b868310156104f057848901516104ec601f8916826103ff565b8355505b6001600288020188555050505b505050505050565b5f604051905090565b5f5ffd5b5f5ffd5b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b6105378261051e565b810181811067ffffffffffffffff8211171561055657610555610203565b5b80604052505050565b5f610568610505565b9050610574828261052e565b919050565b5f67ffffffffffffffff82111561059357610592610203565b5b61059c8261051e565b9050602081019050919050565b828183375f83830152505050565b5f6105c96105c484610579565b61055f565b9050828152602081018484840111156105e5576105e461051a565b5b6105f08482856105a9565b509392505050565b5f82601f83011261060c5761060b610516565b5b813561061c8482602086016105b7565b91505092915050565b5f6020828403121561063a5761063961050e565b5b5f82013567ffffffffffffffff81111561065757610656610512565b5b610663848285016105f8565b91505092915050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f610694826101f9565b61069e818561066c565b93506106ae81856020860161067c565b6106b78161051e565b840191505092915050565b5f6020820190508181035f8301526106da818461068a565b90509291505056fea26469706673582212202ee9684e0ffba0a257b8dca8f38d8614e2f65ed3f0806437bc6c61c7457e32bd64736f6c634300081b0033"  # noqa: E501
-NO_RECEIVE_FUNCTION_CONTRACT_RUNTIME = "0x608060405234801561000f575f5ffd5b5060043610610038575f3560e01c80635d3a1f9d1461007e578063e00fe2eb146100ae57610039565b5b6040518060400160405280600881526020017f66616c6c6261636b0000000000000000000000000000000000000000000000008152505f908161007c9190610436565b005b61009860048036038101906100939190610625565b6100cc565b6040516100a591906106c2565b60405180910390f35b6100b661016a565b6040516100c391906106c2565b60405180910390f35b6060815f90816100dc9190610436565b80546100e79061025d565b80601f01602080910402602001604051908101604052809291908181526020018280546101139061025d565b801561015e5780601f106101355761010080835404028352916020019161015e565b820191905f5260205f20905b81548152906001019060200180831161014157829003601f168201915b50505050509050919050565b60605f80546101789061025d565b80601f01602080910402602001604051908101604052809291908181526020018280546101a49061025d565b80156101ef5780601f106101c6576101008083540402835291602001916101ef565b820191905f5260205f20905b8154815290600101906020018083116101d257829003601f168201915b5050505050905090565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061027457607f821691505b60208210810361028757610286610230565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026102e97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826102ae565b6102f386836102ae565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61033761033261032d8461030b565b610314565b61030b565b9050919050565b5f819050919050565b6103508361031d565b61036461035c8261033e565b8484546102ba565b825550505050565b5f5f905090565b61037b61036c565b610386818484610347565b505050565b5b818110156103a95761039e5f82610373565b60018101905061038c565b5050565b601f8211156103ee576103bf8161028d565b6103c88461029f565b810160208510156103d7578190505b6103eb6103e38561029f565b83018261038b565b50505b505050565b5f82821c905092915050565b5f61040e5f19846008026103f3565b1980831691505092915050565b5f61042683836103ff565b9150826002028217905092915050565b61043f826101f9565b67ffffffffffffffff81111561045857610457610203565b5b610462825461025d565b61046d8282856103ad565b5f60209050601f83116001811461049e575f841561048c578287015190505b610496858261041b565b8655506104fd565b601f1984166104ac8661028d565b5f5b828110156104d3578489015182556001820191506020850194506020810190506104ae565b868310156104f057848901516104ec601f8916826103ff565b8355505b6001600288020188555050505b505050505050565b5f604051905090565b5f5ffd5b5f5ffd5b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b6105378261051e565b810181811067ffffffffffffffff8211171561055657610555610203565b5b80604052505050565b5f610568610505565b9050610574828261052e565b919050565b5f67ffffffffffffffff82111561059357610592610203565b5b61059c8261051e565b9050602081019050919050565b828183375f83830152505050565b5f6105c96105c484610579565b61055f565b9050828152602081018484840111156105e5576105e461051a565b5b6105f08482856105a9565b509392505050565b5f82601f83011261060c5761060b610516565b5b813561061c8482602086016105b7565b91505092915050565b5f6020828403121561063a5761063961050e565b5b5f82013567ffffffffffffffff81111561065757610656610512565b5b610663848285016105f8565b91505092915050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f610694826101f9565b61069e818561066c565b93506106ae81856020860161067c565b6106b78161051e565b840191505092915050565b5f6020820190508181035f8301526106da818461068a565b90509291505056fea26469706673582212202ee9684e0ffba0a257b8dca8f38d8614e2f65ed3f0806437bc6c61c7457e32bd64736f6c634300081b0033"  # noqa: E501
+NO_RECEIVE_FUNCTION_CONTRACT_BYTECODE = "0x6080604052348015600e575f5ffd5b506107188061001c5f395ff3fe608060405234801561000f575f5ffd5b5060043610610038575f3560e01c80635d3a1f9d1461007e578063e00fe2eb146100ae57610039565b5b6040518060400160405280600881526020017f66616c6c6261636b0000000000000000000000000000000000000000000000008152505f908161007c9190610436565b005b61009860048036038101906100939190610625565b6100cc565b6040516100a591906106c2565b60405180910390f35b6100b661016a565b6040516100c391906106c2565b60405180910390f35b6060815f90816100dc9190610436565b80546100e79061025d565b80601f01602080910402602001604051908101604052809291908181526020018280546101139061025d565b801561015e5780601f106101355761010080835404028352916020019161015e565b820191905f5260205f20905b81548152906001019060200180831161014157829003601f168201915b50505050509050919050565b60605f80546101789061025d565b80601f01602080910402602001604051908101604052809291908181526020018280546101a49061025d565b80156101ef5780601f106101c6576101008083540402835291602001916101ef565b820191905f5260205f20905b8154815290600101906020018083116101d257829003601f168201915b5050505050905090565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061027457607f821691505b60208210810361028757610286610230565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026102e97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826102ae565b6102f386836102ae565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61033761033261032d8461030b565b610314565b61030b565b9050919050565b5f819050919050565b6103508361031d565b61036461035c8261033e565b8484546102ba565b825550505050565b5f5f905090565b61037b61036c565b610386818484610347565b505050565b5b818110156103a95761039e5f82610373565b60018101905061038c565b5050565b601f8211156103ee576103bf8161028d565b6103c88461029f565b810160208510156103d7578190505b6103eb6103e38561029f565b83018261038b565b50505b505050565b5f82821c905092915050565b5f61040e5f19846008026103f3565b1980831691505092915050565b5f61042683836103ff565b9150826002028217905092915050565b61043f826101f9565b67ffffffffffffffff81111561045857610457610203565b5b610462825461025d565b61046d8282856103ad565b5f60209050601f83116001811461049e575f841561048c578287015190505b610496858261041b565b8655506104fd565b601f1984166104ac8661028d565b5f5b828110156104d3578489015182556001820191506020850194506020810190506104ae565b868310156104f057848901516104ec601f8916826103ff565b8355505b6001600288020188555050505b505050505050565b5f604051905090565b5f5ffd5b5f5ffd5b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b6105378261051e565b810181811067ffffffffffffffff8211171561055657610555610203565b5b80604052505050565b5f610568610505565b9050610574828261052e565b919050565b5f67ffffffffffffffff82111561059357610592610203565b5b61059c8261051e565b9050602081019050919050565b828183375f83830152505050565b5f6105c96105c484610579565b61055f565b9050828152602081018484840111156105e5576105e461051a565b5b6105f08482856105a9565b509392505050565b5f82601f83011261060c5761060b610516565b5b813561061c8482602086016105b7565b91505092915050565b5f6020828403121561063a5761063961050e565b5b5f82013567ffffffffffffffff81111561065757610656610512565b5b610663848285016105f8565b91505092915050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f610694826101f9565b61069e818561066c565b93506106ae81856020860161067c565b6106b78161051e565b840191505092915050565b5f6020820190508181035f8301526106da818461068a565b90509291505056fea2646970667358221220c5ca87d6f4821a507df0c6c87818fcec7745f32eff31922bcf504eeff003ab4b64736f6c634300081c0033"  # noqa: E501
+NO_RECEIVE_FUNCTION_CONTRACT_RUNTIME = "0x608060405234801561000f575f5ffd5b5060043610610038575f3560e01c80635d3a1f9d1461007e578063e00fe2eb146100ae57610039565b5b6040518060400160405280600881526020017f66616c6c6261636b0000000000000000000000000000000000000000000000008152505f908161007c9190610436565b005b61009860048036038101906100939190610625565b6100cc565b6040516100a591906106c2565b60405180910390f35b6100b661016a565b6040516100c391906106c2565b60405180910390f35b6060815f90816100dc9190610436565b80546100e79061025d565b80601f01602080910402602001604051908101604052809291908181526020018280546101139061025d565b801561015e5780601f106101355761010080835404028352916020019161015e565b820191905f5260205f20905b81548152906001019060200180831161014157829003601f168201915b50505050509050919050565b60605f80546101789061025d565b80601f01602080910402602001604051908101604052809291908181526020018280546101a49061025d565b80156101ef5780601f106101c6576101008083540402835291602001916101ef565b820191905f5260205f20905b8154815290600101906020018083116101d257829003601f168201915b5050505050905090565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061027457607f821691505b60208210810361028757610286610230565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026102e97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826102ae565b6102f386836102ae565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61033761033261032d8461030b565b610314565b61030b565b9050919050565b5f819050919050565b6103508361031d565b61036461035c8261033e565b8484546102ba565b825550505050565b5f5f905090565b61037b61036c565b610386818484610347565b505050565b5b818110156103a95761039e5f82610373565b60018101905061038c565b5050565b601f8211156103ee576103bf8161028d565b6103c88461029f565b810160208510156103d7578190505b6103eb6103e38561029f565b83018261038b565b50505b505050565b5f82821c905092915050565b5f61040e5f19846008026103f3565b1980831691505092915050565b5f61042683836103ff565b9150826002028217905092915050565b61043f826101f9565b67ffffffffffffffff81111561045857610457610203565b5b610462825461025d565b61046d8282856103ad565b5f60209050601f83116001811461049e575f841561048c578287015190505b610496858261041b565b8655506104fd565b601f1984166104ac8661028d565b5f5b828110156104d3578489015182556001820191506020850194506020810190506104ae565b868310156104f057848901516104ec601f8916826103ff565b8355505b6001600288020188555050505b505050505050565b5f604051905090565b5f5ffd5b5f5ffd5b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b6105378261051e565b810181811067ffffffffffffffff8211171561055657610555610203565b5b80604052505050565b5f610568610505565b9050610574828261052e565b919050565b5f67ffffffffffffffff82111561059357610592610203565b5b61059c8261051e565b9050602081019050919050565b828183375f83830152505050565b5f6105c96105c484610579565b61055f565b9050828152602081018484840111156105e5576105e461051a565b5b6105f08482856105a9565b509392505050565b5f82601f83011261060c5761060b610516565b5b813561061c8482602086016105b7565b91505092915050565b5f6020828403121561063a5761063961050e565b5b5f82013567ffffffffffffffff81111561065757610656610512565b5b610663848285016105f8565b91505092915050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f610694826101f9565b61069e818561066c565b93506106ae81856020860161067c565b6106b78161051e565b840191505092915050565b5f6020820190508181035f8301526106da818461068a565b90509291505056fea2646970667358221220c5ca87d6f4821a507df0c6c87818fcec7745f32eff31922bcf504eeff003ab4b64736f6c634300081c0033"  # noqa: E501
 NO_RECEIVE_FUNCTION_CONTRACT_ABI = [
     {"stateMutability": "nonpayable", "type": "fallback"},
     {
diff --git a/web3/_utils/contract_sources/contract_data/reflector_contracts.py b/web3/_utils/contract_sources/contract_data/reflector_contracts.py
index e174c2d73e..4c8ee26d69 100644
--- a/web3/_utils/contract_sources/contract_data/reflector_contracts.py
+++ b/web3/_utils/contract_sources/contract_data/reflector_contracts.py
@@ -1,11 +1,11 @@
 """
 Generated by `compile_contracts.py` script.
-Compiled with Solidity v0.8.27.
+Compiled with Solidity v0.8.28.
 """
 
 # source: web3/_utils/contract_sources/ReflectorContracts.sol:AddressReflectorContract
-ADDRESS_REFLECTOR_CONTRACT_BYTECODE = "0x6080604052348015600e575f5ffd5b5061040d8061001c5f395ff3fe608060405234801561000f575f5ffd5b5060043610610034575f3560e01c80630b816c1614610038578063c04d11fc14610068575b5f5ffd5b610052600480360381019061004d9190610116565b610098565b60405161005f9190610150565b60405180910390f35b610082600480360381019061007d91906102b9565b6100a1565b60405161008f91906103b7565b60405180910390f35b5f819050919050565b6060819050919050565b5f604051905090565b5f5ffd5b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100e5826100bc565b9050919050565b6100f5816100db565b81146100ff575f5ffd5b50565b5f81359050610110816100ec565b92915050565b5f6020828403121561012b5761012a6100b4565b5b5f61013884828501610102565b91505092915050565b61014a816100db565b82525050565b5f6020820190506101635f830184610141565b92915050565b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6101b38261016d565b810181811067ffffffffffffffff821117156101d2576101d161017d565b5b80604052505050565b5f6101e46100ab565b90506101f082826101aa565b919050565b5f67ffffffffffffffff82111561020f5761020e61017d565b5b602082029050602081019050919050565b5f5ffd5b5f610236610231846101f5565b6101db565b9050808382526020820190506020840283018581111561025957610258610220565b5b835b81811015610282578061026e8882610102565b84526020840193505060208101905061025b565b5050509392505050565b5f82601f8301126102a05761029f610169565b5b81356102b0848260208601610224565b91505092915050565b5f602082840312156102ce576102cd6100b4565b5b5f82013567ffffffffffffffff8111156102eb576102ea6100b8565b5b6102f78482850161028c565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b610332816100db565b82525050565b5f6103438383610329565b60208301905092915050565b5f602082019050919050565b5f61036582610300565b61036f818561030a565b935061037a8361031a565b805f5b838110156103aa5781516103918882610338565b975061039c8361034f565b92505060018101905061037d565b5085935050505092915050565b5f6020820190508181035f8301526103cf818461035b565b90509291505056fea264697066735822122098c7f8a6672b8ffb4ff61a1bc43a388b2361dac3a46f011b798a3130b9e61bf664736f6c634300081b0033"  # noqa: E501
-ADDRESS_REFLECTOR_CONTRACT_RUNTIME = "0x608060405234801561000f575f5ffd5b5060043610610034575f3560e01c80630b816c1614610038578063c04d11fc14610068575b5f5ffd5b610052600480360381019061004d9190610116565b610098565b60405161005f9190610150565b60405180910390f35b610082600480360381019061007d91906102b9565b6100a1565b60405161008f91906103b7565b60405180910390f35b5f819050919050565b6060819050919050565b5f604051905090565b5f5ffd5b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100e5826100bc565b9050919050565b6100f5816100db565b81146100ff575f5ffd5b50565b5f81359050610110816100ec565b92915050565b5f6020828403121561012b5761012a6100b4565b5b5f61013884828501610102565b91505092915050565b61014a816100db565b82525050565b5f6020820190506101635f830184610141565b92915050565b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6101b38261016d565b810181811067ffffffffffffffff821117156101d2576101d161017d565b5b80604052505050565b5f6101e46100ab565b90506101f082826101aa565b919050565b5f67ffffffffffffffff82111561020f5761020e61017d565b5b602082029050602081019050919050565b5f5ffd5b5f610236610231846101f5565b6101db565b9050808382526020820190506020840283018581111561025957610258610220565b5b835b81811015610282578061026e8882610102565b84526020840193505060208101905061025b565b5050509392505050565b5f82601f8301126102a05761029f610169565b5b81356102b0848260208601610224565b91505092915050565b5f602082840312156102ce576102cd6100b4565b5b5f82013567ffffffffffffffff8111156102eb576102ea6100b8565b5b6102f78482850161028c565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b610332816100db565b82525050565b5f6103438383610329565b60208301905092915050565b5f602082019050919050565b5f61036582610300565b61036f818561030a565b935061037a8361031a565b805f5b838110156103aa5781516103918882610338565b975061039c8361034f565b92505060018101905061037d565b5085935050505092915050565b5f6020820190508181035f8301526103cf818461035b565b90509291505056fea264697066735822122098c7f8a6672b8ffb4ff61a1bc43a388b2361dac3a46f011b798a3130b9e61bf664736f6c634300081b0033"  # noqa: E501
+ADDRESS_REFLECTOR_CONTRACT_BYTECODE = "0x6080604052348015600e575f5ffd5b5061040d8061001c5f395ff3fe608060405234801561000f575f5ffd5b5060043610610034575f3560e01c80630b816c1614610038578063c04d11fc14610068575b5f5ffd5b610052600480360381019061004d9190610116565b610098565b60405161005f9190610150565b60405180910390f35b610082600480360381019061007d91906102b9565b6100a1565b60405161008f91906103b7565b60405180910390f35b5f819050919050565b6060819050919050565b5f604051905090565b5f5ffd5b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100e5826100bc565b9050919050565b6100f5816100db565b81146100ff575f5ffd5b50565b5f81359050610110816100ec565b92915050565b5f6020828403121561012b5761012a6100b4565b5b5f61013884828501610102565b91505092915050565b61014a816100db565b82525050565b5f6020820190506101635f830184610141565b92915050565b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6101b38261016d565b810181811067ffffffffffffffff821117156101d2576101d161017d565b5b80604052505050565b5f6101e46100ab565b90506101f082826101aa565b919050565b5f67ffffffffffffffff82111561020f5761020e61017d565b5b602082029050602081019050919050565b5f5ffd5b5f610236610231846101f5565b6101db565b9050808382526020820190506020840283018581111561025957610258610220565b5b835b81811015610282578061026e8882610102565b84526020840193505060208101905061025b565b5050509392505050565b5f82601f8301126102a05761029f610169565b5b81356102b0848260208601610224565b91505092915050565b5f602082840312156102ce576102cd6100b4565b5b5f82013567ffffffffffffffff8111156102eb576102ea6100b8565b5b6102f78482850161028c565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b610332816100db565b82525050565b5f6103438383610329565b60208301905092915050565b5f602082019050919050565b5f61036582610300565b61036f818561030a565b935061037a8361031a565b805f5b838110156103aa5781516103918882610338565b975061039c8361034f565b92505060018101905061037d565b5085935050505092915050565b5f6020820190508181035f8301526103cf818461035b565b90509291505056fea26469706673582212203962e6c6e3e7691a956b491876ac69438f0d9a1d4db4747d333830980ba87f4664736f6c634300081c0033"  # noqa: E501
+ADDRESS_REFLECTOR_CONTRACT_RUNTIME = "0x608060405234801561000f575f5ffd5b5060043610610034575f3560e01c80630b816c1614610038578063c04d11fc14610068575b5f5ffd5b610052600480360381019061004d9190610116565b610098565b60405161005f9190610150565b60405180910390f35b610082600480360381019061007d91906102b9565b6100a1565b60405161008f91906103b7565b60405180910390f35b5f819050919050565b6060819050919050565b5f604051905090565b5f5ffd5b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100e5826100bc565b9050919050565b6100f5816100db565b81146100ff575f5ffd5b50565b5f81359050610110816100ec565b92915050565b5f6020828403121561012b5761012a6100b4565b5b5f61013884828501610102565b91505092915050565b61014a816100db565b82525050565b5f6020820190506101635f830184610141565b92915050565b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6101b38261016d565b810181811067ffffffffffffffff821117156101d2576101d161017d565b5b80604052505050565b5f6101e46100ab565b90506101f082826101aa565b919050565b5f67ffffffffffffffff82111561020f5761020e61017d565b5b602082029050602081019050919050565b5f5ffd5b5f610236610231846101f5565b6101db565b9050808382526020820190506020840283018581111561025957610258610220565b5b835b81811015610282578061026e8882610102565b84526020840193505060208101905061025b565b5050509392505050565b5f82601f8301126102a05761029f610169565b5b81356102b0848260208601610224565b91505092915050565b5f602082840312156102ce576102cd6100b4565b5b5f82013567ffffffffffffffff8111156102eb576102ea6100b8565b5b6102f78482850161028c565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b610332816100db565b82525050565b5f6103438383610329565b60208301905092915050565b5f602082019050919050565b5f61036582610300565b61036f818561030a565b935061037a8361031a565b805f5b838110156103aa5781516103918882610338565b975061039c8361034f565b92505060018101905061037d565b5085935050505092915050565b5f6020820190508181035f8301526103cf818461035b565b90509291505056fea26469706673582212203962e6c6e3e7691a956b491876ac69438f0d9a1d4db4747d333830980ba87f4664736f6c634300081c0033"  # noqa: E501
 ADDRESS_REFLECTOR_CONTRACT_ABI = [
     {
         "inputs": [{"internalType": "address", "name": "arg", "type": "address"}],
diff --git a/web3/_utils/contract_sources/contract_data/revert_contract.py b/web3/_utils/contract_sources/contract_data/revert_contract.py
index f07cf73b7b..86829b706e 100644
--- a/web3/_utils/contract_sources/contract_data/revert_contract.py
+++ b/web3/_utils/contract_sources/contract_data/revert_contract.py
@@ -1,11 +1,11 @@
 """
 Generated by `compile_contracts.py` script.
-Compiled with Solidity v0.8.27.
+Compiled with Solidity v0.8.28.
 """
 
 # source: web3/_utils/contract_sources/RevertContract.sol:RevertContract
-REVERT_CONTRACT_BYTECODE = "0x6080604052348015600e575f5ffd5b5061029c8061001c5f395ff3fe608060405234801561000f575f5ffd5b5060043610610055575f3560e01c8063185c38a414610059578063bc53eca814610063578063c06a97cb1461006d578063d67e4b8414610077578063e766d49814610095575b5f5ffd5b61006161009f565b005b61006b6100da565b005b610075610115565b005b61007f610119565b60405161008c919061016d565b60405180910390f35b61009d610121565b005b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100d1906101e0565b60405180910390fd5b6040517f9553947a00000000000000000000000000000000000000000000000000000000815260040161010c90610248565b60405180910390fd5b5f5ffd5b5f6001905090565b6040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8115159050919050565b61016781610153565b82525050565b5f6020820190506101805f83018461015e565b92915050565b5f82825260208201905092915050565b7f46756e6374696f6e20686173206265656e2072657665727465642e00000000005f82015250565b5f6101ca601b83610186565b91506101d582610196565b602082019050919050565b5f6020820190508181035f8301526101f7816101be565b9050919050565b7f596f7520617265206e6f7420617574686f72697a6564000000000000000000005f82015250565b5f610232601683610186565b915061023d826101fe565b602082019050919050565b5f6020820190508181035f83015261025f81610226565b905091905056fea264697066735822122087f5b871c5591ffa3b040e725a07c2c8cdeecda0ef46bdd5e8ecef1907e5088a64736f6c634300081b0033"  # noqa: E501
-REVERT_CONTRACT_RUNTIME = "0x608060405234801561000f575f5ffd5b5060043610610055575f3560e01c8063185c38a414610059578063bc53eca814610063578063c06a97cb1461006d578063d67e4b8414610077578063e766d49814610095575b5f5ffd5b61006161009f565b005b61006b6100da565b005b610075610115565b005b61007f610119565b60405161008c919061016d565b60405180910390f35b61009d610121565b005b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100d1906101e0565b60405180910390fd5b6040517f9553947a00000000000000000000000000000000000000000000000000000000815260040161010c90610248565b60405180910390fd5b5f5ffd5b5f6001905090565b6040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8115159050919050565b61016781610153565b82525050565b5f6020820190506101805f83018461015e565b92915050565b5f82825260208201905092915050565b7f46756e6374696f6e20686173206265656e2072657665727465642e00000000005f82015250565b5f6101ca601b83610186565b91506101d582610196565b602082019050919050565b5f6020820190508181035f8301526101f7816101be565b9050919050565b7f596f7520617265206e6f7420617574686f72697a6564000000000000000000005f82015250565b5f610232601683610186565b915061023d826101fe565b602082019050919050565b5f6020820190508181035f83015261025f81610226565b905091905056fea264697066735822122087f5b871c5591ffa3b040e725a07c2c8cdeecda0ef46bdd5e8ecef1907e5088a64736f6c634300081b0033"  # noqa: E501
+REVERT_CONTRACT_BYTECODE = "0x6080604052348015600e575f5ffd5b5061029c8061001c5f395ff3fe608060405234801561000f575f5ffd5b5060043610610055575f3560e01c8063185c38a414610059578063bc53eca814610063578063c06a97cb1461006d578063d67e4b8414610077578063e766d49814610095575b5f5ffd5b61006161009f565b005b61006b6100da565b005b610075610115565b005b61007f610119565b60405161008c919061016d565b60405180910390f35b61009d610121565b005b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100d1906101e0565b60405180910390fd5b6040517f9553947a00000000000000000000000000000000000000000000000000000000815260040161010c90610248565b60405180910390fd5b5f5ffd5b5f6001905090565b6040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8115159050919050565b61016781610153565b82525050565b5f6020820190506101805f83018461015e565b92915050565b5f82825260208201905092915050565b7f46756e6374696f6e20686173206265656e2072657665727465642e00000000005f82015250565b5f6101ca601b83610186565b91506101d582610196565b602082019050919050565b5f6020820190508181035f8301526101f7816101be565b9050919050565b7f596f7520617265206e6f7420617574686f72697a6564000000000000000000005f82015250565b5f610232601683610186565b915061023d826101fe565b602082019050919050565b5f6020820190508181035f83015261025f81610226565b905091905056fea2646970667358221220e7c5e151fb133bc9b7179d90f7558c73a87567c4a18fc64f81edec9b4274ed6d64736f6c634300081c0033"  # noqa: E501
+REVERT_CONTRACT_RUNTIME = "0x608060405234801561000f575f5ffd5b5060043610610055575f3560e01c8063185c38a414610059578063bc53eca814610063578063c06a97cb1461006d578063d67e4b8414610077578063e766d49814610095575b5f5ffd5b61006161009f565b005b61006b6100da565b005b610075610115565b005b61007f610119565b60405161008c919061016d565b60405180910390f35b61009d610121565b005b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100d1906101e0565b60405180910390fd5b6040517f9553947a00000000000000000000000000000000000000000000000000000000815260040161010c90610248565b60405180910390fd5b5f5ffd5b5f6001905090565b6040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8115159050919050565b61016781610153565b82525050565b5f6020820190506101805f83018461015e565b92915050565b5f82825260208201905092915050565b7f46756e6374696f6e20686173206265656e2072657665727465642e00000000005f82015250565b5f6101ca601b83610186565b91506101d582610196565b602082019050919050565b5f6020820190508181035f8301526101f7816101be565b9050919050565b7f596f7520617265206e6f7420617574686f72697a6564000000000000000000005f82015250565b5f610232601683610186565b915061023d826101fe565b602082019050919050565b5f6020820190508181035f83015261025f81610226565b905091905056fea2646970667358221220e7c5e151fb133bc9b7179d90f7558c73a87567c4a18fc64f81edec9b4274ed6d64736f6c634300081c0033"  # noqa: E501
 REVERT_CONTRACT_ABI = [
     {"inputs": [], "name": "Unauthorized", "type": "error"},
     {
diff --git a/web3/_utils/contract_sources/contract_data/simple_resolver.py b/web3/_utils/contract_sources/contract_data/simple_resolver.py
index a7bd94f128..c4096649e2 100644
--- a/web3/_utils/contract_sources/contract_data/simple_resolver.py
+++ b/web3/_utils/contract_sources/contract_data/simple_resolver.py
@@ -1,11 +1,11 @@
 """
 Generated by `compile_contracts.py` script.
-Compiled with Solidity v0.8.27.
+Compiled with Solidity v0.8.28.
 """
 
 # source: web3/_utils/contract_sources/SimpleResolver.sol:SimpleResolver
-SIMPLE_RESOLVER_BYTECODE = "0x6080604052348015600e575f5ffd5b506102758061001c5f395ff3fe608060405234801561000f575f5ffd5b5060043610610034575f3560e01c806301ffc9a7146100385780633b3b57de14610068575b5f5ffd5b610052600480360381019061004d919061012b565b610098565b60405161005f9190610170565b60405180910390f35b610082600480360381019061007d91906101bc565b6100c9565b60405161008f9190610226565b60405180910390f35b5f633b3b57de60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f309050919050565b5f5ffd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61010a816100d6565b8114610114575f5ffd5b50565b5f8135905061012581610101565b92915050565b5f602082840312156101405761013f6100d2565b5b5f61014d84828501610117565b91505092915050565b5f8115159050919050565b61016a81610156565b82525050565b5f6020820190506101835f830184610161565b92915050565b5f819050919050565b61019b81610189565b81146101a5575f5ffd5b50565b5f813590506101b681610192565b92915050565b5f602082840312156101d1576101d06100d2565b5b5f6101de848285016101a8565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610210826101e7565b9050919050565b61022081610206565b82525050565b5f6020820190506102395f830184610217565b9291505056fea2646970667358221220d6dfb9534f4a77811fee0d410b7775adb8bbc0e6d8323f831ad055fa7b85dae864736f6c634300081b0033"  # noqa: E501
-SIMPLE_RESOLVER_RUNTIME = "0x608060405234801561000f575f5ffd5b5060043610610034575f3560e01c806301ffc9a7146100385780633b3b57de14610068575b5f5ffd5b610052600480360381019061004d919061012b565b610098565b60405161005f9190610170565b60405180910390f35b610082600480360381019061007d91906101bc565b6100c9565b60405161008f9190610226565b60405180910390f35b5f633b3b57de60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f309050919050565b5f5ffd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61010a816100d6565b8114610114575f5ffd5b50565b5f8135905061012581610101565b92915050565b5f602082840312156101405761013f6100d2565b5b5f61014d84828501610117565b91505092915050565b5f8115159050919050565b61016a81610156565b82525050565b5f6020820190506101835f830184610161565b92915050565b5f819050919050565b61019b81610189565b81146101a5575f5ffd5b50565b5f813590506101b681610192565b92915050565b5f602082840312156101d1576101d06100d2565b5b5f6101de848285016101a8565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610210826101e7565b9050919050565b61022081610206565b82525050565b5f6020820190506102395f830184610217565b9291505056fea2646970667358221220d6dfb9534f4a77811fee0d410b7775adb8bbc0e6d8323f831ad055fa7b85dae864736f6c634300081b0033"  # noqa: E501
+SIMPLE_RESOLVER_BYTECODE = "0x6080604052348015600e575f5ffd5b506102758061001c5f395ff3fe608060405234801561000f575f5ffd5b5060043610610034575f3560e01c806301ffc9a7146100385780633b3b57de14610068575b5f5ffd5b610052600480360381019061004d919061012b565b610098565b60405161005f9190610170565b60405180910390f35b610082600480360381019061007d91906101bc565b6100c9565b60405161008f9190610226565b60405180910390f35b5f633b3b57de60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f309050919050565b5f5ffd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61010a816100d6565b8114610114575f5ffd5b50565b5f8135905061012581610101565b92915050565b5f602082840312156101405761013f6100d2565b5b5f61014d84828501610117565b91505092915050565b5f8115159050919050565b61016a81610156565b82525050565b5f6020820190506101835f830184610161565b92915050565b5f819050919050565b61019b81610189565b81146101a5575f5ffd5b50565b5f813590506101b681610192565b92915050565b5f602082840312156101d1576101d06100d2565b5b5f6101de848285016101a8565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610210826101e7565b9050919050565b61022081610206565b82525050565b5f6020820190506102395f830184610217565b9291505056fea26469706673582212208dc62afe8a6dc8c18bf574ccf1e71345567304d4e14bb992a334f1a23b49523f64736f6c634300081c0033"  # noqa: E501
+SIMPLE_RESOLVER_RUNTIME = "0x608060405234801561000f575f5ffd5b5060043610610034575f3560e01c806301ffc9a7146100385780633b3b57de14610068575b5f5ffd5b610052600480360381019061004d919061012b565b610098565b60405161005f9190610170565b60405180910390f35b610082600480360381019061007d91906101bc565b6100c9565b60405161008f9190610226565b60405180910390f35b5f633b3b57de60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f309050919050565b5f5ffd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61010a816100d6565b8114610114575f5ffd5b50565b5f8135905061012581610101565b92915050565b5f602082840312156101405761013f6100d2565b5b5f61014d84828501610117565b91505092915050565b5f8115159050919050565b61016a81610156565b82525050565b5f6020820190506101835f830184610161565b92915050565b5f819050919050565b61019b81610189565b81146101a5575f5ffd5b50565b5f813590506101b681610192565b92915050565b5f602082840312156101d1576101d06100d2565b5b5f6101de848285016101a8565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610210826101e7565b9050919050565b61022081610206565b82525050565b5f6020820190506102395f830184610217565b9291505056fea26469706673582212208dc62afe8a6dc8c18bf574ccf1e71345567304d4e14bb992a334f1a23b49523f64736f6c634300081c0033"  # noqa: E501
 SIMPLE_RESOLVER_ABI = [
     {
         "inputs": [{"internalType": "bytes32", "name": "nodeID", "type": "bytes32"}],
diff --git a/web3/_utils/contract_sources/contract_data/storage_contract.py b/web3/_utils/contract_sources/contract_data/storage_contract.py
index 7c78c5dd59..c284d05f23 100644
--- a/web3/_utils/contract_sources/contract_data/storage_contract.py
+++ b/web3/_utils/contract_sources/contract_data/storage_contract.py
@@ -1,11 +1,11 @@
 """
 Generated by `compile_contracts.py` script.
-Compiled with Solidity v0.8.27.
+Compiled with Solidity v0.8.28.
 """
 
 # source: web3/_utils/contract_sources/StorageContract.sol:StorageContract
-STORAGE_CONTRACT_BYTECODE = "0x60806040525f5f5560018055600280556040518060400160405280600581526020017f74687265650000000000000000000000000000000000000000000000000000008152506003908161005391906102e7565b506040518060400160405280600481526020017f666f757200000000000000000000000000000000000000000000000000000000815250600490816100989190610418565b503480156100a4575f5ffd5b506104e7565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061012557607f821691505b602082108103610138576101376100e1565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261019a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261015f565b6101a4868361015f565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6101e86101e36101de846101bc565b6101c5565b6101bc565b9050919050565b5f819050919050565b610201836101ce565b61021561020d826101ef565b84845461016b565b825550505050565b5f5f905090565b61022c61021d565b6102378184846101f8565b505050565b5b8181101561025a5761024f5f82610224565b60018101905061023d565b5050565b601f82111561029f576102708161013e565b61027984610150565b81016020851015610288578190505b61029c61029485610150565b83018261023c565b50505b505050565b5f82821c905092915050565b5f6102bf5f19846008026102a4565b1980831691505092915050565b5f6102d783836102b0565b9150826002028217905092915050565b6102f0826100aa565b67ffffffffffffffff811115610309576103086100b4565b5b610313825461010e565b61031e82828561025e565b5f60209050601f83116001811461034f575f841561033d578287015190505b61034785826102cc565b8655506103ae565b601f19841661035d8661013e565b5f5b828110156103845784890151825560018201915060208501945060208101905061035f565b868310156103a1578489015161039d601f8916826102b0565b8355505b6001600288020188555050505b505050505050565b5f81519050919050565b5f819050815f5260205f209050919050565b601f821115610413576103e4816103c0565b6103ed84610150565b810160208510156103fc578190505b61041061040885610150565b83018261023c565b50505b505050565b610421826103b6565b67ffffffffffffffff81111561043a576104396100b4565b5b610444825461010e565b61044f8282856103d2565b5f60209050601f831160018114610480575f841561046e578287015190505b61047885826102cc565b8655506104df565b601f19841661048e866103c0565b5f5b828110156104b557848901518255600182019150602085019450602081019050610490565b868310156104d257848901516104ce601f8916826102b0565b8355505b6001600288020188555050505b505050505050565b6103de806104f45f395ff3fe608060405234801561000f575f5ffd5b5060043610610055575f3560e01c80631f457cb5146100595780633850c7bd146100775780634a9a010914610095578063924fe315146100b3578063d987e6b5146100d1575b5f5ffd5b6100616100ef565b60405161006e9190610230565b60405180910390f35b61007f6100f5565b60405161008c9190610230565b60405180910390f35b61009d6100fa565b6040516100aa91906102b9565b60405180910390f35b6100bb610186565b6040516100c8919061032b565b60405180910390f35b6100d9610212565b6040516100e69190610230565b60405180910390f35b60015481565b5f5481565b6004805461010790610378565b80601f016020809104026020016040519081016040528092919081815260200182805461013390610378565b801561017e5780601f106101555761010080835404028352916020019161017e565b820191905f5260205f20905b81548152906001019060200180831161016157829003601f168201915b505050505081565b6003805461019390610378565b80601f01602080910402602001604051908101604052809291908181526020018280546101bf90610378565b801561020a5780601f106101e15761010080835404028352916020019161020a565b820191905f5260205f20905b8154815290600101906020018083116101ed57829003601f168201915b505050505081565b60025481565b5f819050919050565b61022a81610218565b82525050565b5f6020820190506102435f830184610221565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61028b82610249565b6102958185610253565b93506102a5818560208601610263565b6102ae81610271565b840191505092915050565b5f6020820190508181035f8301526102d18184610281565b905092915050565b5f81519050919050565b5f82825260208201905092915050565b5f6102fd826102d9565b61030781856102e3565b9350610317818560208601610263565b61032081610271565b840191505092915050565b5f6020820190508181035f83015261034381846102f3565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061038f57607f821691505b6020821081036103a2576103a161034b565b5b5091905056fea264697066735822122073d9d4a3b64a1658edd1e24d49218f06079ef687c6dc803b1df27c63503dca6364736f6c634300081b0033"  # noqa: E501
-STORAGE_CONTRACT_RUNTIME = "0x608060405234801561000f575f5ffd5b5060043610610055575f3560e01c80631f457cb5146100595780633850c7bd146100775780634a9a010914610095578063924fe315146100b3578063d987e6b5146100d1575b5f5ffd5b6100616100ef565b60405161006e9190610230565b60405180910390f35b61007f6100f5565b60405161008c9190610230565b60405180910390f35b61009d6100fa565b6040516100aa91906102b9565b60405180910390f35b6100bb610186565b6040516100c8919061032b565b60405180910390f35b6100d9610212565b6040516100e69190610230565b60405180910390f35b60015481565b5f5481565b6004805461010790610378565b80601f016020809104026020016040519081016040528092919081815260200182805461013390610378565b801561017e5780601f106101555761010080835404028352916020019161017e565b820191905f5260205f20905b81548152906001019060200180831161016157829003601f168201915b505050505081565b6003805461019390610378565b80601f01602080910402602001604051908101604052809291908181526020018280546101bf90610378565b801561020a5780601f106101e15761010080835404028352916020019161020a565b820191905f5260205f20905b8154815290600101906020018083116101ed57829003601f168201915b505050505081565b60025481565b5f819050919050565b61022a81610218565b82525050565b5f6020820190506102435f830184610221565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61028b82610249565b6102958185610253565b93506102a5818560208601610263565b6102ae81610271565b840191505092915050565b5f6020820190508181035f8301526102d18184610281565b905092915050565b5f81519050919050565b5f82825260208201905092915050565b5f6102fd826102d9565b61030781856102e3565b9350610317818560208601610263565b61032081610271565b840191505092915050565b5f6020820190508181035f83015261034381846102f3565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061038f57607f821691505b6020821081036103a2576103a161034b565b5b5091905056fea264697066735822122073d9d4a3b64a1658edd1e24d49218f06079ef687c6dc803b1df27c63503dca6364736f6c634300081b0033"  # noqa: E501
+STORAGE_CONTRACT_BYTECODE = "0x60806040525f5f5560018055600280556040518060400160405280600581526020017f74687265650000000000000000000000000000000000000000000000000000008152506003908161005391906102e7565b506040518060400160405280600481526020017f666f757200000000000000000000000000000000000000000000000000000000815250600490816100989190610418565b503480156100a4575f5ffd5b506104e7565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061012557607f821691505b602082108103610138576101376100e1565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261019a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261015f565b6101a4868361015f565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6101e86101e36101de846101bc565b6101c5565b6101bc565b9050919050565b5f819050919050565b610201836101ce565b61021561020d826101ef565b84845461016b565b825550505050565b5f5f905090565b61022c61021d565b6102378184846101f8565b505050565b5b8181101561025a5761024f5f82610224565b60018101905061023d565b5050565b601f82111561029f576102708161013e565b61027984610150565b81016020851015610288578190505b61029c61029485610150565b83018261023c565b50505b505050565b5f82821c905092915050565b5f6102bf5f19846008026102a4565b1980831691505092915050565b5f6102d783836102b0565b9150826002028217905092915050565b6102f0826100aa565b67ffffffffffffffff811115610309576103086100b4565b5b610313825461010e565b61031e82828561025e565b5f60209050601f83116001811461034f575f841561033d578287015190505b61034785826102cc565b8655506103ae565b601f19841661035d8661013e565b5f5b828110156103845784890151825560018201915060208501945060208101905061035f565b868310156103a1578489015161039d601f8916826102b0565b8355505b6001600288020188555050505b505050505050565b5f81519050919050565b5f819050815f5260205f209050919050565b601f821115610413576103e4816103c0565b6103ed84610150565b810160208510156103fc578190505b61041061040885610150565b83018261023c565b50505b505050565b610421826103b6565b67ffffffffffffffff81111561043a576104396100b4565b5b610444825461010e565b61044f8282856103d2565b5f60209050601f831160018114610480575f841561046e578287015190505b61047885826102cc565b8655506104df565b601f19841661048e866103c0565b5f5b828110156104b557848901518255600182019150602085019450602081019050610490565b868310156104d257848901516104ce601f8916826102b0565b8355505b6001600288020188555050505b505050505050565b6103de806104f45f395ff3fe608060405234801561000f575f5ffd5b5060043610610055575f3560e01c80631f457cb5146100595780633850c7bd146100775780634a9a010914610095578063924fe315146100b3578063d987e6b5146100d1575b5f5ffd5b6100616100ef565b60405161006e9190610230565b60405180910390f35b61007f6100f5565b60405161008c9190610230565b60405180910390f35b61009d6100fa565b6040516100aa91906102b9565b60405180910390f35b6100bb610186565b6040516100c8919061032b565b60405180910390f35b6100d9610212565b6040516100e69190610230565b60405180910390f35b60015481565b5f5481565b6004805461010790610378565b80601f016020809104026020016040519081016040528092919081815260200182805461013390610378565b801561017e5780601f106101555761010080835404028352916020019161017e565b820191905f5260205f20905b81548152906001019060200180831161016157829003601f168201915b505050505081565b6003805461019390610378565b80601f01602080910402602001604051908101604052809291908181526020018280546101bf90610378565b801561020a5780601f106101e15761010080835404028352916020019161020a565b820191905f5260205f20905b8154815290600101906020018083116101ed57829003601f168201915b505050505081565b60025481565b5f819050919050565b61022a81610218565b82525050565b5f6020820190506102435f830184610221565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61028b82610249565b6102958185610253565b93506102a5818560208601610263565b6102ae81610271565b840191505092915050565b5f6020820190508181035f8301526102d18184610281565b905092915050565b5f81519050919050565b5f82825260208201905092915050565b5f6102fd826102d9565b61030781856102e3565b9350610317818560208601610263565b61032081610271565b840191505092915050565b5f6020820190508181035f83015261034381846102f3565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061038f57607f821691505b6020821081036103a2576103a161034b565b5b5091905056fea2646970667358221220b989350e3783719ce4a54e9a630fb6e9cfcb2cade5cf0487e51086debb476a2564736f6c634300081c0033"  # noqa: E501
+STORAGE_CONTRACT_RUNTIME = "0x608060405234801561000f575f5ffd5b5060043610610055575f3560e01c80631f457cb5146100595780633850c7bd146100775780634a9a010914610095578063924fe315146100b3578063d987e6b5146100d1575b5f5ffd5b6100616100ef565b60405161006e9190610230565b60405180910390f35b61007f6100f5565b60405161008c9190610230565b60405180910390f35b61009d6100fa565b6040516100aa91906102b9565b60405180910390f35b6100bb610186565b6040516100c8919061032b565b60405180910390f35b6100d9610212565b6040516100e69190610230565b60405180910390f35b60015481565b5f5481565b6004805461010790610378565b80601f016020809104026020016040519081016040528092919081815260200182805461013390610378565b801561017e5780601f106101555761010080835404028352916020019161017e565b820191905f5260205f20905b81548152906001019060200180831161016157829003601f168201915b505050505081565b6003805461019390610378565b80601f01602080910402602001604051908101604052809291908181526020018280546101bf90610378565b801561020a5780601f106101e15761010080835404028352916020019161020a565b820191905f5260205f20905b8154815290600101906020018083116101ed57829003601f168201915b505050505081565b60025481565b5f819050919050565b61022a81610218565b82525050565b5f6020820190506102435f830184610221565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61028b82610249565b6102958185610253565b93506102a5818560208601610263565b6102ae81610271565b840191505092915050565b5f6020820190508181035f8301526102d18184610281565b905092915050565b5f81519050919050565b5f82825260208201905092915050565b5f6102fd826102d9565b61030781856102e3565b9350610317818560208601610263565b61032081610271565b840191505092915050565b5f6020820190508181035f83015261034381846102f3565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061038f57607f821691505b6020821081036103a2576103a161034b565b5b5091905056fea2646970667358221220b989350e3783719ce4a54e9a630fb6e9cfcb2cade5cf0487e51086debb476a2564736f6c634300081c0033"  # noqa: E501
 STORAGE_CONTRACT_ABI = [
     {
         "inputs": [],
diff --git a/web3/_utils/contract_sources/contract_data/string_contract.py b/web3/_utils/contract_sources/contract_data/string_contract.py
index 29dddeea57..a2389fd89d 100644
--- a/web3/_utils/contract_sources/contract_data/string_contract.py
+++ b/web3/_utils/contract_sources/contract_data/string_contract.py
@@ -1,11 +1,11 @@
 """
 Generated by `compile_contracts.py` script.
-Compiled with Solidity v0.8.27.
+Compiled with Solidity v0.8.28.
 """
 
 # source: web3/_utils/contract_sources/StringContract.sol:StringContract
-STRING_CONTRACT_BYTECODE = "0x608060405234801561000f575f5ffd5b50604051610c1a380380610c1a83398181016040528101906100319190610193565b805f908161003f91906103ea565b50506104b9565b5f604051905090565b5f5ffd5b5f5ffd5b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6100a58261005f565b810181811067ffffffffffffffff821117156100c4576100c361006f565b5b80604052505050565b5f6100d6610046565b90506100e2828261009c565b919050565b5f67ffffffffffffffff8211156101015761010061006f565b5b61010a8261005f565b9050602081019050919050565b8281835e5f83830152505050565b5f610137610132846100e7565b6100cd565b9050828152602081018484840111156101535761015261005b565b5b61015e848285610117565b509392505050565b5f82601f83011261017a57610179610057565b5b815161018a848260208601610125565b91505092915050565b5f602082840312156101a8576101a761004f565b5b5f82015167ffffffffffffffff8111156101c5576101c4610053565b5b6101d184828501610166565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061022857607f821691505b60208210810361023b5761023a6101e4565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261029d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610262565b6102a78683610262565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6102eb6102e66102e1846102bf565b6102c8565b6102bf565b9050919050565b5f819050919050565b610304836102d1565b610318610310826102f2565b84845461026e565b825550505050565b5f5f905090565b61032f610320565b61033a8184846102fb565b505050565b5b8181101561035d576103525f82610327565b600181019050610340565b5050565b601f8211156103a25761037381610241565b61037c84610253565b8101602085101561038b578190505b61039f61039785610253565b83018261033f565b50505b505050565b5f82821c905092915050565b5f6103c25f19846008026103a7565b1980831691505092915050565b5f6103da83836103b3565b9150826002028217905092915050565b6103f3826101da565b67ffffffffffffffff81111561040c5761040b61006f565b5b6104168254610211565b610421828285610361565b5f60209050601f831160018114610452575f8415610440578287015190505b61044a85826103cf565b8655506104b1565b601f19841661046086610241565b5f5b8281101561048757848901518255600182019150602085019450602081019050610462565b868310156104a457848901516104a0601f8916826103b3565b8355505b6001600288020188555050505b505050505050565b610754806104c65f395ff3fe608060405260043610610037575f3560e01c806320965255146100995780633fa4f245146100b757806393a09352146100e157610038565b5b348015610043575f5ffd5b505f36606082828080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f820116905080830192505050505050509050915050805190602001f35b6100a1610109565b6040516100ae91906102a5565b60405180910390f35b3480156100c2575f5ffd5b506100cb610198565b6040516100d891906102a5565b60405180910390f35b3480156100ec575f5ffd5b5061010760048036038101906101029190610402565b610223565b005b60605f805461011790610476565b80601f016020809104026020016040519081016040528092919081815260200182805461014390610476565b801561018e5780601f106101655761010080835404028352916020019161018e565b820191905f5260205f20905b81548152906001019060200180831161017157829003601f168201915b5050505050905090565b5f80546101a490610476565b80601f01602080910402602001604051908101604052809291908181526020018280546101d090610476565b801561021b5780601f106101f25761010080835404028352916020019161021b565b820191905f5260205f20905b8154815290600101906020018083116101fe57829003601f168201915b505050505081565b805f9081610231919061064f565b5050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61027782610235565b610281818561023f565b935061029181856020860161024f565b61029a8161025d565b840191505092915050565b5f6020820190508181035f8301526102bd818461026d565b905092915050565b5f604051905090565b5f5ffd5b5f5ffd5b5f5ffd5b5f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6103148261025d565b810181811067ffffffffffffffff82111715610333576103326102de565b5b80604052505050565b5f6103456102c5565b9050610351828261030b565b919050565b5f67ffffffffffffffff8211156103705761036f6102de565b5b6103798261025d565b9050602081019050919050565b828183375f83830152505050565b5f6103a66103a184610356565b61033c565b9050828152602081018484840111156103c2576103c16102da565b5b6103cd848285610386565b509392505050565b5f82601f8301126103e9576103e86102d6565b5b81356103f9848260208601610394565b91505092915050565b5f60208284031215610417576104166102ce565b5b5f82013567ffffffffffffffff811115610434576104336102d2565b5b610440848285016103d5565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061048d57607f821691505b6020821081036104a05761049f610449565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026105027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826104c7565b61050c86836104c7565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61055061054b61054684610524565b61052d565b610524565b9050919050565b5f819050919050565b61056983610536565b61057d61057582610557565b8484546104d3565b825550505050565b5f5f905090565b610594610585565b61059f818484610560565b505050565b5b818110156105c2576105b75f8261058c565b6001810190506105a5565b5050565b601f821115610607576105d8816104a6565b6105e1846104b8565b810160208510156105f0578190505b6106046105fc856104b8565b8301826105a4565b50505b505050565b5f82821c905092915050565b5f6106275f198460080261060c565b1980831691505092915050565b5f61063f8383610618565b9150826002028217905092915050565b61065882610235565b67ffffffffffffffff811115610671576106706102de565b5b61067b8254610476565b6106868282856105c6565b5f60209050601f8311600181146106b7575f84156106a5578287015190505b6106af8582610634565b865550610716565b601f1984166106c5866104a6565b5f5b828110156106ec578489015182556001820191506020850194506020810190506106c7565b868310156107095784890151610705601f891682610618565b8355505b6001600288020188555050505b50505050505056fea2646970667358221220df1a073305346228b17f223bf37853a3b6b7c23d1c1be298075cf73809ed24b064736f6c634300081b0033"  # noqa: E501
-STRING_CONTRACT_RUNTIME = "0x608060405260043610610037575f3560e01c806320965255146100995780633fa4f245146100b757806393a09352146100e157610038565b5b348015610043575f5ffd5b505f36606082828080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f820116905080830192505050505050509050915050805190602001f35b6100a1610109565b6040516100ae91906102a5565b60405180910390f35b3480156100c2575f5ffd5b506100cb610198565b6040516100d891906102a5565b60405180910390f35b3480156100ec575f5ffd5b5061010760048036038101906101029190610402565b610223565b005b60605f805461011790610476565b80601f016020809104026020016040519081016040528092919081815260200182805461014390610476565b801561018e5780601f106101655761010080835404028352916020019161018e565b820191905f5260205f20905b81548152906001019060200180831161017157829003601f168201915b5050505050905090565b5f80546101a490610476565b80601f01602080910402602001604051908101604052809291908181526020018280546101d090610476565b801561021b5780601f106101f25761010080835404028352916020019161021b565b820191905f5260205f20905b8154815290600101906020018083116101fe57829003601f168201915b505050505081565b805f9081610231919061064f565b5050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61027782610235565b610281818561023f565b935061029181856020860161024f565b61029a8161025d565b840191505092915050565b5f6020820190508181035f8301526102bd818461026d565b905092915050565b5f604051905090565b5f5ffd5b5f5ffd5b5f5ffd5b5f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6103148261025d565b810181811067ffffffffffffffff82111715610333576103326102de565b5b80604052505050565b5f6103456102c5565b9050610351828261030b565b919050565b5f67ffffffffffffffff8211156103705761036f6102de565b5b6103798261025d565b9050602081019050919050565b828183375f83830152505050565b5f6103a66103a184610356565b61033c565b9050828152602081018484840111156103c2576103c16102da565b5b6103cd848285610386565b509392505050565b5f82601f8301126103e9576103e86102d6565b5b81356103f9848260208601610394565b91505092915050565b5f60208284031215610417576104166102ce565b5b5f82013567ffffffffffffffff811115610434576104336102d2565b5b610440848285016103d5565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061048d57607f821691505b6020821081036104a05761049f610449565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026105027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826104c7565b61050c86836104c7565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61055061054b61054684610524565b61052d565b610524565b9050919050565b5f819050919050565b61056983610536565b61057d61057582610557565b8484546104d3565b825550505050565b5f5f905090565b610594610585565b61059f818484610560565b505050565b5b818110156105c2576105b75f8261058c565b6001810190506105a5565b5050565b601f821115610607576105d8816104a6565b6105e1846104b8565b810160208510156105f0578190505b6106046105fc856104b8565b8301826105a4565b50505b505050565b5f82821c905092915050565b5f6106275f198460080261060c565b1980831691505092915050565b5f61063f8383610618565b9150826002028217905092915050565b61065882610235565b67ffffffffffffffff811115610671576106706102de565b5b61067b8254610476565b6106868282856105c6565b5f60209050601f8311600181146106b7575f84156106a5578287015190505b6106af8582610634565b865550610716565b601f1984166106c5866104a6565b5f5b828110156106ec578489015182556001820191506020850194506020810190506106c7565b868310156107095784890151610705601f891682610618565b8355505b6001600288020188555050505b50505050505056fea2646970667358221220df1a073305346228b17f223bf37853a3b6b7c23d1c1be298075cf73809ed24b064736f6c634300081b0033"  # noqa: E501
+STRING_CONTRACT_BYTECODE = "0x608060405234801561000f575f5ffd5b50604051610c1a380380610c1a83398181016040528101906100319190610193565b805f908161003f91906103ea565b50506104b9565b5f604051905090565b5f5ffd5b5f5ffd5b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6100a58261005f565b810181811067ffffffffffffffff821117156100c4576100c361006f565b5b80604052505050565b5f6100d6610046565b90506100e2828261009c565b919050565b5f67ffffffffffffffff8211156101015761010061006f565b5b61010a8261005f565b9050602081019050919050565b8281835e5f83830152505050565b5f610137610132846100e7565b6100cd565b9050828152602081018484840111156101535761015261005b565b5b61015e848285610117565b509392505050565b5f82601f83011261017a57610179610057565b5b815161018a848260208601610125565b91505092915050565b5f602082840312156101a8576101a761004f565b5b5f82015167ffffffffffffffff8111156101c5576101c4610053565b5b6101d184828501610166565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061022857607f821691505b60208210810361023b5761023a6101e4565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261029d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610262565b6102a78683610262565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6102eb6102e66102e1846102bf565b6102c8565b6102bf565b9050919050565b5f819050919050565b610304836102d1565b610318610310826102f2565b84845461026e565b825550505050565b5f5f905090565b61032f610320565b61033a8184846102fb565b505050565b5b8181101561035d576103525f82610327565b600181019050610340565b5050565b601f8211156103a25761037381610241565b61037c84610253565b8101602085101561038b578190505b61039f61039785610253565b83018261033f565b50505b505050565b5f82821c905092915050565b5f6103c25f19846008026103a7565b1980831691505092915050565b5f6103da83836103b3565b9150826002028217905092915050565b6103f3826101da565b67ffffffffffffffff81111561040c5761040b61006f565b5b6104168254610211565b610421828285610361565b5f60209050601f831160018114610452575f8415610440578287015190505b61044a85826103cf565b8655506104b1565b601f19841661046086610241565b5f5b8281101561048757848901518255600182019150602085019450602081019050610462565b868310156104a457848901516104a0601f8916826103b3565b8355505b6001600288020188555050505b505050505050565b610754806104c65f395ff3fe608060405260043610610037575f3560e01c806320965255146100995780633fa4f245146100b757806393a09352146100e157610038565b5b348015610043575f5ffd5b505f36606082828080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f820116905080830192505050505050509050915050805190602001f35b6100a1610109565b6040516100ae91906102a5565b60405180910390f35b3480156100c2575f5ffd5b506100cb610198565b6040516100d891906102a5565b60405180910390f35b3480156100ec575f5ffd5b5061010760048036038101906101029190610402565b610223565b005b60605f805461011790610476565b80601f016020809104026020016040519081016040528092919081815260200182805461014390610476565b801561018e5780601f106101655761010080835404028352916020019161018e565b820191905f5260205f20905b81548152906001019060200180831161017157829003601f168201915b5050505050905090565b5f80546101a490610476565b80601f01602080910402602001604051908101604052809291908181526020018280546101d090610476565b801561021b5780601f106101f25761010080835404028352916020019161021b565b820191905f5260205f20905b8154815290600101906020018083116101fe57829003601f168201915b505050505081565b805f9081610231919061064f565b5050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61027782610235565b610281818561023f565b935061029181856020860161024f565b61029a8161025d565b840191505092915050565b5f6020820190508181035f8301526102bd818461026d565b905092915050565b5f604051905090565b5f5ffd5b5f5ffd5b5f5ffd5b5f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6103148261025d565b810181811067ffffffffffffffff82111715610333576103326102de565b5b80604052505050565b5f6103456102c5565b9050610351828261030b565b919050565b5f67ffffffffffffffff8211156103705761036f6102de565b5b6103798261025d565b9050602081019050919050565b828183375f83830152505050565b5f6103a66103a184610356565b61033c565b9050828152602081018484840111156103c2576103c16102da565b5b6103cd848285610386565b509392505050565b5f82601f8301126103e9576103e86102d6565b5b81356103f9848260208601610394565b91505092915050565b5f60208284031215610417576104166102ce565b5b5f82013567ffffffffffffffff811115610434576104336102d2565b5b610440848285016103d5565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061048d57607f821691505b6020821081036104a05761049f610449565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026105027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826104c7565b61050c86836104c7565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61055061054b61054684610524565b61052d565b610524565b9050919050565b5f819050919050565b61056983610536565b61057d61057582610557565b8484546104d3565b825550505050565b5f5f905090565b610594610585565b61059f818484610560565b505050565b5b818110156105c2576105b75f8261058c565b6001810190506105a5565b5050565b601f821115610607576105d8816104a6565b6105e1846104b8565b810160208510156105f0578190505b6106046105fc856104b8565b8301826105a4565b50505b505050565b5f82821c905092915050565b5f6106275f198460080261060c565b1980831691505092915050565b5f61063f8383610618565b9150826002028217905092915050565b61065882610235565b67ffffffffffffffff811115610671576106706102de565b5b61067b8254610476565b6106868282856105c6565b5f60209050601f8311600181146106b7575f84156106a5578287015190505b6106af8582610634565b865550610716565b601f1984166106c5866104a6565b5f5b828110156106ec578489015182556001820191506020850194506020810190506106c7565b868310156107095784890151610705601f891682610618565b8355505b6001600288020188555050505b50505050505056fea2646970667358221220f8c6a3162990f5374f6e82d531ae725cfff144e0b78604067cef98a7c9b2794364736f6c634300081c0033"  # noqa: E501
+STRING_CONTRACT_RUNTIME = "0x608060405260043610610037575f3560e01c806320965255146100995780633fa4f245146100b757806393a09352146100e157610038565b5b348015610043575f5ffd5b505f36606082828080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f820116905080830192505050505050509050915050805190602001f35b6100a1610109565b6040516100ae91906102a5565b60405180910390f35b3480156100c2575f5ffd5b506100cb610198565b6040516100d891906102a5565b60405180910390f35b3480156100ec575f5ffd5b5061010760048036038101906101029190610402565b610223565b005b60605f805461011790610476565b80601f016020809104026020016040519081016040528092919081815260200182805461014390610476565b801561018e5780601f106101655761010080835404028352916020019161018e565b820191905f5260205f20905b81548152906001019060200180831161017157829003601f168201915b5050505050905090565b5f80546101a490610476565b80601f01602080910402602001604051908101604052809291908181526020018280546101d090610476565b801561021b5780601f106101f25761010080835404028352916020019161021b565b820191905f5260205f20905b8154815290600101906020018083116101fe57829003601f168201915b505050505081565b805f9081610231919061064f565b5050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61027782610235565b610281818561023f565b935061029181856020860161024f565b61029a8161025d565b840191505092915050565b5f6020820190508181035f8301526102bd818461026d565b905092915050565b5f604051905090565b5f5ffd5b5f5ffd5b5f5ffd5b5f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6103148261025d565b810181811067ffffffffffffffff82111715610333576103326102de565b5b80604052505050565b5f6103456102c5565b9050610351828261030b565b919050565b5f67ffffffffffffffff8211156103705761036f6102de565b5b6103798261025d565b9050602081019050919050565b828183375f83830152505050565b5f6103a66103a184610356565b61033c565b9050828152602081018484840111156103c2576103c16102da565b5b6103cd848285610386565b509392505050565b5f82601f8301126103e9576103e86102d6565b5b81356103f9848260208601610394565b91505092915050565b5f60208284031215610417576104166102ce565b5b5f82013567ffffffffffffffff811115610434576104336102d2565b5b610440848285016103d5565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061048d57607f821691505b6020821081036104a05761049f610449565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026105027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826104c7565b61050c86836104c7565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61055061054b61054684610524565b61052d565b610524565b9050919050565b5f819050919050565b61056983610536565b61057d61057582610557565b8484546104d3565b825550505050565b5f5f905090565b610594610585565b61059f818484610560565b505050565b5b818110156105c2576105b75f8261058c565b6001810190506105a5565b5050565b601f821115610607576105d8816104a6565b6105e1846104b8565b810160208510156105f0578190505b6106046105fc856104b8565b8301826105a4565b50505b505050565b5f82821c905092915050565b5f6106275f198460080261060c565b1980831691505092915050565b5f61063f8383610618565b9150826002028217905092915050565b61065882610235565b67ffffffffffffffff811115610671576106706102de565b5b61067b8254610476565b6106868282856105c6565b5f60209050601f8311600181146106b7575f84156106a5578287015190505b6106af8582610634565b865550610716565b601f1984166106c5866104a6565b5f5b828110156106ec578489015182556001820191506020850194506020810190506106c7565b868310156107095784890151610705601f891682610618565b8355505b6001600288020188555050505b50505050505056fea2646970667358221220f8c6a3162990f5374f6e82d531ae725cfff144e0b78604067cef98a7c9b2794364736f6c634300081c0033"  # noqa: E501
 STRING_CONTRACT_ABI = [
     {
         "inputs": [{"internalType": "string", "name": "_value", "type": "string"}],
diff --git a/web3/_utils/contract_sources/contract_data/tuple_contracts.py b/web3/_utils/contract_sources/contract_data/tuple_contracts.py
index 0723396e52..98bfbcdf51 100644
--- a/web3/_utils/contract_sources/contract_data/tuple_contracts.py
+++ b/web3/_utils/contract_sources/contract_data/tuple_contracts.py
@@ -1,11 +1,11 @@
 """
 Generated by `compile_contracts.py` script.
-Compiled with Solidity v0.8.27.
+Compiled with Solidity v0.8.28.
 """
 
 # source: web3/_utils/contract_sources/TupleContracts.sol:TupleContract
-TUPLE_CONTRACT_BYTECODE = "0x6080604052348015600e575f5ffd5b50610a688061001c5f395ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c80638e1ae3c71461002d575b5f5ffd5b6100476004803603810190610042919061064d565b61005d565b6040516100549190610a12565b60405180910390f35b61006561006d565b819050919050565b60405180606001604052805f815260200160608152602001606081525090565b5f604051905090565b5f5ffd5b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6100e8826100a2565b810181811067ffffffffffffffff82111715610107576101066100b2565b5b80604052505050565b5f61011961008d565b905061012582826100df565b919050565b5f5ffd5b5f819050919050565b6101408161012e565b811461014a575f5ffd5b50565b5f8135905061015b81610137565b92915050565b5f5ffd5b5f67ffffffffffffffff82111561017f5761017e6100b2565b5b602082029050602081019050919050565b5f5ffd5b5f6101a66101a184610165565b610110565b905080838252602082019050602084028301858111156101c9576101c8610190565b5b835b818110156101f257806101de888261014d565b8452602084019350506020810190506101cb565b5050509392505050565b5f82601f8301126102105761020f610161565b5b8135610220848260208601610194565b91505092915050565b5f67ffffffffffffffff821115610243576102426100b2565b5b602082029050602081019050919050565b5f819050919050565b61026681610254565b8114610270575f5ffd5b50565b5f813590506102818161025d565b92915050565b5f67ffffffffffffffff8211156102a1576102a06100b2565b5b602082029050919050565b5f8115159050919050565b6102c0816102ac565b81146102ca575f5ffd5b50565b5f813590506102db816102b7565b92915050565b5f6102f36102ee84610287565b610110565b9050806020840283018581111561030d5761030c610190565b5b835b81811015610336578061032288826102cd565b84526020840193505060208101905061030f565b5050509392505050565b5f82601f83011261035457610353610161565b5b60026103618482856102e1565b91505092915050565b5f67ffffffffffffffff821115610384576103836100b2565b5b602082029050602081019050919050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6103be82610395565b9050919050565b6103ce816103b4565b81146103d8575f5ffd5b50565b5f813590506103e9816103c5565b92915050565b5f6104016103fc8461036a565b610110565b9050808382526020820190506020840283018581111561042457610423610190565b5b835b8181101561044d578061043988826103db565b845260208401935050602081019050610426565b5050509392505050565b5f82601f83011261046b5761046a610161565b5b813561047b8482602086016103ef565b91505092915050565b5f608082840312156104995761049861009e565b5b6104a36060610110565b90505f6104b284828501610273565b5f8301525060206104c584828501610340565b602083015250606082013567ffffffffffffffff8111156104e9576104e861012a565b5b6104f584828501610457565b60408301525092915050565b5f61051361050e84610229565b610110565b9050808382526020820190506020840283018581111561053657610535610190565b5b835b8181101561057d57803567ffffffffffffffff81111561055b5761055a610161565b5b8086016105688982610484565b85526020850194505050602081019050610538565b5050509392505050565b5f82601f83011261059b5761059a610161565b5b81356105ab848260208601610501565b91505092915050565b5f606082840312156105c9576105c861009e565b5b6105d36060610110565b90505f6105e28482850161014d565b5f83015250602082013567ffffffffffffffff8111156106055761060461012a565b5b610611848285016101fc565b602083015250604082013567ffffffffffffffff8111156106355761063461012a565b5b61064184828501610587565b60408301525092915050565b5f6020828403121561066257610661610096565b5b5f82013567ffffffffffffffff81111561067f5761067e61009a565b5b61068b848285016105b4565b91505092915050565b61069d8161012e565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f6106d78383610694565b60208301905092915050565b5f602082019050919050565b5f6106f9826106a3565b61070381856106ad565b935061070e836106bd565b805f5b8381101561073e57815161072588826106cc565b9750610730836106e3565b925050600181019050610711565b5085935050505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61077d81610254565b82525050565b5f60029050919050565b5f81905092915050565b5f819050919050565b6107a9816102ac565b82525050565b5f6107ba83836107a0565b60208301905092915050565b5f602082019050919050565b6107db81610783565b6107e5818461078d565b92506107f082610797565b805f5b8381101561082057815161080787826107af565b9650610812836107c6565b9250506001810190506107f3565b505050505050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61085a816103b4565b82525050565b5f61086b8383610851565b60208301905092915050565b5f602082019050919050565b5f61088d82610828565b6108978185610832565b93506108a283610842565b805f5b838110156108d25781516108b98882610860565b97506108c483610877565b9250506001810190506108a5565b5085935050505092915050565b5f608083015f8301516108f45f860182610774565b50602083015161090760208601826107d2565b506040830151848203606086015261091f8282610883565b9150508091505092915050565b5f61093783836108df565b905092915050565b5f602082019050919050565b5f6109558261074b565b61095f8185610755565b93508360208202850161097185610765565b805f5b858110156109ac578484038952815161098d858261092c565b94506109988361093f565b925060208a01995050600181019050610974565b50829750879550505050505092915050565b5f606083015f8301516109d35f860182610694565b50602083015184820360208601526109eb82826106ef565b91505060408301518482036040860152610a05828261094b565b9150508091505092915050565b5f6020820190508181035f830152610a2a81846109be565b90509291505056fea26469706673582212207adaf59879d665fddbe536da6fd004def309fc6d78a3a894ecf546ec9fea5e1564736f6c634300081b0033"  # noqa: E501
-TUPLE_CONTRACT_RUNTIME = "0x608060405234801561000f575f5ffd5b5060043610610029575f3560e01c80638e1ae3c71461002d575b5f5ffd5b6100476004803603810190610042919061064d565b61005d565b6040516100549190610a12565b60405180910390f35b61006561006d565b819050919050565b60405180606001604052805f815260200160608152602001606081525090565b5f604051905090565b5f5ffd5b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6100e8826100a2565b810181811067ffffffffffffffff82111715610107576101066100b2565b5b80604052505050565b5f61011961008d565b905061012582826100df565b919050565b5f5ffd5b5f819050919050565b6101408161012e565b811461014a575f5ffd5b50565b5f8135905061015b81610137565b92915050565b5f5ffd5b5f67ffffffffffffffff82111561017f5761017e6100b2565b5b602082029050602081019050919050565b5f5ffd5b5f6101a66101a184610165565b610110565b905080838252602082019050602084028301858111156101c9576101c8610190565b5b835b818110156101f257806101de888261014d565b8452602084019350506020810190506101cb565b5050509392505050565b5f82601f8301126102105761020f610161565b5b8135610220848260208601610194565b91505092915050565b5f67ffffffffffffffff821115610243576102426100b2565b5b602082029050602081019050919050565b5f819050919050565b61026681610254565b8114610270575f5ffd5b50565b5f813590506102818161025d565b92915050565b5f67ffffffffffffffff8211156102a1576102a06100b2565b5b602082029050919050565b5f8115159050919050565b6102c0816102ac565b81146102ca575f5ffd5b50565b5f813590506102db816102b7565b92915050565b5f6102f36102ee84610287565b610110565b9050806020840283018581111561030d5761030c610190565b5b835b81811015610336578061032288826102cd565b84526020840193505060208101905061030f565b5050509392505050565b5f82601f83011261035457610353610161565b5b60026103618482856102e1565b91505092915050565b5f67ffffffffffffffff821115610384576103836100b2565b5b602082029050602081019050919050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6103be82610395565b9050919050565b6103ce816103b4565b81146103d8575f5ffd5b50565b5f813590506103e9816103c5565b92915050565b5f6104016103fc8461036a565b610110565b9050808382526020820190506020840283018581111561042457610423610190565b5b835b8181101561044d578061043988826103db565b845260208401935050602081019050610426565b5050509392505050565b5f82601f83011261046b5761046a610161565b5b813561047b8482602086016103ef565b91505092915050565b5f608082840312156104995761049861009e565b5b6104a36060610110565b90505f6104b284828501610273565b5f8301525060206104c584828501610340565b602083015250606082013567ffffffffffffffff8111156104e9576104e861012a565b5b6104f584828501610457565b60408301525092915050565b5f61051361050e84610229565b610110565b9050808382526020820190506020840283018581111561053657610535610190565b5b835b8181101561057d57803567ffffffffffffffff81111561055b5761055a610161565b5b8086016105688982610484565b85526020850194505050602081019050610538565b5050509392505050565b5f82601f83011261059b5761059a610161565b5b81356105ab848260208601610501565b91505092915050565b5f606082840312156105c9576105c861009e565b5b6105d36060610110565b90505f6105e28482850161014d565b5f83015250602082013567ffffffffffffffff8111156106055761060461012a565b5b610611848285016101fc565b602083015250604082013567ffffffffffffffff8111156106355761063461012a565b5b61064184828501610587565b60408301525092915050565b5f6020828403121561066257610661610096565b5b5f82013567ffffffffffffffff81111561067f5761067e61009a565b5b61068b848285016105b4565b91505092915050565b61069d8161012e565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f6106d78383610694565b60208301905092915050565b5f602082019050919050565b5f6106f9826106a3565b61070381856106ad565b935061070e836106bd565b805f5b8381101561073e57815161072588826106cc565b9750610730836106e3565b925050600181019050610711565b5085935050505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61077d81610254565b82525050565b5f60029050919050565b5f81905092915050565b5f819050919050565b6107a9816102ac565b82525050565b5f6107ba83836107a0565b60208301905092915050565b5f602082019050919050565b6107db81610783565b6107e5818461078d565b92506107f082610797565b805f5b8381101561082057815161080787826107af565b9650610812836107c6565b9250506001810190506107f3565b505050505050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61085a816103b4565b82525050565b5f61086b8383610851565b60208301905092915050565b5f602082019050919050565b5f61088d82610828565b6108978185610832565b93506108a283610842565b805f5b838110156108d25781516108b98882610860565b97506108c483610877565b9250506001810190506108a5565b5085935050505092915050565b5f608083015f8301516108f45f860182610774565b50602083015161090760208601826107d2565b506040830151848203606086015261091f8282610883565b9150508091505092915050565b5f61093783836108df565b905092915050565b5f602082019050919050565b5f6109558261074b565b61095f8185610755565b93508360208202850161097185610765565b805f5b858110156109ac578484038952815161098d858261092c565b94506109988361093f565b925060208a01995050600181019050610974565b50829750879550505050505092915050565b5f606083015f8301516109d35f860182610694565b50602083015184820360208601526109eb82826106ef565b91505060408301518482036040860152610a05828261094b565b9150508091505092915050565b5f6020820190508181035f830152610a2a81846109be565b90509291505056fea26469706673582212207adaf59879d665fddbe536da6fd004def309fc6d78a3a894ecf546ec9fea5e1564736f6c634300081b0033"  # noqa: E501
+TUPLE_CONTRACT_BYTECODE = "0x6080604052348015600e575f5ffd5b50610a688061001c5f395ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c80638e1ae3c71461002d575b5f5ffd5b6100476004803603810190610042919061064d565b61005d565b6040516100549190610a12565b60405180910390f35b61006561006d565b819050919050565b60405180606001604052805f815260200160608152602001606081525090565b5f604051905090565b5f5ffd5b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6100e8826100a2565b810181811067ffffffffffffffff82111715610107576101066100b2565b5b80604052505050565b5f61011961008d565b905061012582826100df565b919050565b5f5ffd5b5f819050919050565b6101408161012e565b811461014a575f5ffd5b50565b5f8135905061015b81610137565b92915050565b5f5ffd5b5f67ffffffffffffffff82111561017f5761017e6100b2565b5b602082029050602081019050919050565b5f5ffd5b5f6101a66101a184610165565b610110565b905080838252602082019050602084028301858111156101c9576101c8610190565b5b835b818110156101f257806101de888261014d565b8452602084019350506020810190506101cb565b5050509392505050565b5f82601f8301126102105761020f610161565b5b8135610220848260208601610194565b91505092915050565b5f67ffffffffffffffff821115610243576102426100b2565b5b602082029050602081019050919050565b5f819050919050565b61026681610254565b8114610270575f5ffd5b50565b5f813590506102818161025d565b92915050565b5f67ffffffffffffffff8211156102a1576102a06100b2565b5b602082029050919050565b5f8115159050919050565b6102c0816102ac565b81146102ca575f5ffd5b50565b5f813590506102db816102b7565b92915050565b5f6102f36102ee84610287565b610110565b9050806020840283018581111561030d5761030c610190565b5b835b81811015610336578061032288826102cd565b84526020840193505060208101905061030f565b5050509392505050565b5f82601f83011261035457610353610161565b5b60026103618482856102e1565b91505092915050565b5f67ffffffffffffffff821115610384576103836100b2565b5b602082029050602081019050919050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6103be82610395565b9050919050565b6103ce816103b4565b81146103d8575f5ffd5b50565b5f813590506103e9816103c5565b92915050565b5f6104016103fc8461036a565b610110565b9050808382526020820190506020840283018581111561042457610423610190565b5b835b8181101561044d578061043988826103db565b845260208401935050602081019050610426565b5050509392505050565b5f82601f83011261046b5761046a610161565b5b813561047b8482602086016103ef565b91505092915050565b5f608082840312156104995761049861009e565b5b6104a36060610110565b90505f6104b284828501610273565b5f8301525060206104c584828501610340565b602083015250606082013567ffffffffffffffff8111156104e9576104e861012a565b5b6104f584828501610457565b60408301525092915050565b5f61051361050e84610229565b610110565b9050808382526020820190506020840283018581111561053657610535610190565b5b835b8181101561057d57803567ffffffffffffffff81111561055b5761055a610161565b5b8086016105688982610484565b85526020850194505050602081019050610538565b5050509392505050565b5f82601f83011261059b5761059a610161565b5b81356105ab848260208601610501565b91505092915050565b5f606082840312156105c9576105c861009e565b5b6105d36060610110565b90505f6105e28482850161014d565b5f83015250602082013567ffffffffffffffff8111156106055761060461012a565b5b610611848285016101fc565b602083015250604082013567ffffffffffffffff8111156106355761063461012a565b5b61064184828501610587565b60408301525092915050565b5f6020828403121561066257610661610096565b5b5f82013567ffffffffffffffff81111561067f5761067e61009a565b5b61068b848285016105b4565b91505092915050565b61069d8161012e565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f6106d78383610694565b60208301905092915050565b5f602082019050919050565b5f6106f9826106a3565b61070381856106ad565b935061070e836106bd565b805f5b8381101561073e57815161072588826106cc565b9750610730836106e3565b925050600181019050610711565b5085935050505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61077d81610254565b82525050565b5f60029050919050565b5f81905092915050565b5f819050919050565b6107a9816102ac565b82525050565b5f6107ba83836107a0565b60208301905092915050565b5f602082019050919050565b6107db81610783565b6107e5818461078d565b92506107f082610797565b805f5b8381101561082057815161080787826107af565b9650610812836107c6565b9250506001810190506107f3565b505050505050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61085a816103b4565b82525050565b5f61086b8383610851565b60208301905092915050565b5f602082019050919050565b5f61088d82610828565b6108978185610832565b93506108a283610842565b805f5b838110156108d25781516108b98882610860565b97506108c483610877565b9250506001810190506108a5565b5085935050505092915050565b5f608083015f8301516108f45f860182610774565b50602083015161090760208601826107d2565b506040830151848203606086015261091f8282610883565b9150508091505092915050565b5f61093783836108df565b905092915050565b5f602082019050919050565b5f6109558261074b565b61095f8185610755565b93508360208202850161097185610765565b805f5b858110156109ac578484038952815161098d858261092c565b94506109988361093f565b925060208a01995050600181019050610974565b50829750879550505050505092915050565b5f606083015f8301516109d35f860182610694565b50602083015184820360208601526109eb82826106ef565b91505060408301518482036040860152610a05828261094b565b9150508091505092915050565b5f6020820190508181035f830152610a2a81846109be565b90509291505056fea2646970667358221220688d7c1933bc8458c33b311fef8cd1eabb9fad171f74729d08c558a805acaafb64736f6c634300081c0033"  # noqa: E501
+TUPLE_CONTRACT_RUNTIME = "0x608060405234801561000f575f5ffd5b5060043610610029575f3560e01c80638e1ae3c71461002d575b5f5ffd5b6100476004803603810190610042919061064d565b61005d565b6040516100549190610a12565b60405180910390f35b61006561006d565b819050919050565b60405180606001604052805f815260200160608152602001606081525090565b5f604051905090565b5f5ffd5b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6100e8826100a2565b810181811067ffffffffffffffff82111715610107576101066100b2565b5b80604052505050565b5f61011961008d565b905061012582826100df565b919050565b5f5ffd5b5f819050919050565b6101408161012e565b811461014a575f5ffd5b50565b5f8135905061015b81610137565b92915050565b5f5ffd5b5f67ffffffffffffffff82111561017f5761017e6100b2565b5b602082029050602081019050919050565b5f5ffd5b5f6101a66101a184610165565b610110565b905080838252602082019050602084028301858111156101c9576101c8610190565b5b835b818110156101f257806101de888261014d565b8452602084019350506020810190506101cb565b5050509392505050565b5f82601f8301126102105761020f610161565b5b8135610220848260208601610194565b91505092915050565b5f67ffffffffffffffff821115610243576102426100b2565b5b602082029050602081019050919050565b5f819050919050565b61026681610254565b8114610270575f5ffd5b50565b5f813590506102818161025d565b92915050565b5f67ffffffffffffffff8211156102a1576102a06100b2565b5b602082029050919050565b5f8115159050919050565b6102c0816102ac565b81146102ca575f5ffd5b50565b5f813590506102db816102b7565b92915050565b5f6102f36102ee84610287565b610110565b9050806020840283018581111561030d5761030c610190565b5b835b81811015610336578061032288826102cd565b84526020840193505060208101905061030f565b5050509392505050565b5f82601f83011261035457610353610161565b5b60026103618482856102e1565b91505092915050565b5f67ffffffffffffffff821115610384576103836100b2565b5b602082029050602081019050919050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6103be82610395565b9050919050565b6103ce816103b4565b81146103d8575f5ffd5b50565b5f813590506103e9816103c5565b92915050565b5f6104016103fc8461036a565b610110565b9050808382526020820190506020840283018581111561042457610423610190565b5b835b8181101561044d578061043988826103db565b845260208401935050602081019050610426565b5050509392505050565b5f82601f83011261046b5761046a610161565b5b813561047b8482602086016103ef565b91505092915050565b5f608082840312156104995761049861009e565b5b6104a36060610110565b90505f6104b284828501610273565b5f8301525060206104c584828501610340565b602083015250606082013567ffffffffffffffff8111156104e9576104e861012a565b5b6104f584828501610457565b60408301525092915050565b5f61051361050e84610229565b610110565b9050808382526020820190506020840283018581111561053657610535610190565b5b835b8181101561057d57803567ffffffffffffffff81111561055b5761055a610161565b5b8086016105688982610484565b85526020850194505050602081019050610538565b5050509392505050565b5f82601f83011261059b5761059a610161565b5b81356105ab848260208601610501565b91505092915050565b5f606082840312156105c9576105c861009e565b5b6105d36060610110565b90505f6105e28482850161014d565b5f83015250602082013567ffffffffffffffff8111156106055761060461012a565b5b610611848285016101fc565b602083015250604082013567ffffffffffffffff8111156106355761063461012a565b5b61064184828501610587565b60408301525092915050565b5f6020828403121561066257610661610096565b5b5f82013567ffffffffffffffff81111561067f5761067e61009a565b5b61068b848285016105b4565b91505092915050565b61069d8161012e565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f6106d78383610694565b60208301905092915050565b5f602082019050919050565b5f6106f9826106a3565b61070381856106ad565b935061070e836106bd565b805f5b8381101561073e57815161072588826106cc565b9750610730836106e3565b925050600181019050610711565b5085935050505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61077d81610254565b82525050565b5f60029050919050565b5f81905092915050565b5f819050919050565b6107a9816102ac565b82525050565b5f6107ba83836107a0565b60208301905092915050565b5f602082019050919050565b6107db81610783565b6107e5818461078d565b92506107f082610797565b805f5b8381101561082057815161080787826107af565b9650610812836107c6565b9250506001810190506107f3565b505050505050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61085a816103b4565b82525050565b5f61086b8383610851565b60208301905092915050565b5f602082019050919050565b5f61088d82610828565b6108978185610832565b93506108a283610842565b805f5b838110156108d25781516108b98882610860565b97506108c483610877565b9250506001810190506108a5565b5085935050505092915050565b5f608083015f8301516108f45f860182610774565b50602083015161090760208601826107d2565b506040830151848203606086015261091f8282610883565b9150508091505092915050565b5f61093783836108df565b905092915050565b5f602082019050919050565b5f6109558261074b565b61095f8185610755565b93508360208202850161097185610765565b805f5b858110156109ac578484038952815161098d858261092c565b94506109988361093f565b925060208a01995050600181019050610974565b50829750879550505050505092915050565b5f606083015f8301516109d35f860182610694565b50602083015184820360208601526109eb82826106ef565b91505060408301518482036040860152610a05828261094b565b9150508091505092915050565b5f6020820190508181035f830152610a2a81846109be565b90509291505056fea2646970667358221220688d7c1933bc8458c33b311fef8cd1eabb9fad171f74729d08c558a805acaafb64736f6c634300081c0033"  # noqa: E501
 TUPLE_CONTRACT_ABI = [
     {
         "inputs": [
@@ -71,8 +71,8 @@
 
 
 # source: web3/_utils/contract_sources/TupleContracts.sol:NestedTupleContract
-NESTED_TUPLE_CONTRACT_BYTECODE = "0x6080604052348015600e575f5ffd5b5061067b8061001c5f395ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c80632655aef11461002d575b5f5ffd5b610047600480360381019061004291906103f1565b61005d565b6040516100549190610625565b60405180910390f35b61006561006d565b819050919050565b6040518060200160405280606081525090565b5f604051905090565b5f5ffd5b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6100db82610095565b810181811067ffffffffffffffff821117156100fa576100f96100a5565b5b80604052505050565b5f61010c610080565b905061011882826100d2565b919050565b5f5ffd5b5f5ffd5b5f67ffffffffffffffff82111561013f5761013e6100a5565b5b602082029050602081019050919050565b5f5ffd5b5f67ffffffffffffffff82111561016e5761016d6100a5565b5b602082029050602081019050919050565b5f819050919050565b6101918161017f565b811461019b575f5ffd5b50565b5f813590506101ac81610188565b92915050565b5f604082840312156101c7576101c6610091565b5b6101d16040610103565b90505f6101e08482850161019e565b5f8301525060206101f38482850161019e565b60208301525092915050565b5f61021161020c84610154565b610103565b9050808382526020820190506040840283018581111561023457610233610150565b5b835b8181101561025d578061024988826101b2565b845260208401935050604081019050610236565b5050509392505050565b5f82601f83011261027b5761027a610121565b5b813561028b8482602086016101ff565b91505092915050565b5f602082840312156102a9576102a8610091565b5b6102b36020610103565b90505f82013567ffffffffffffffff8111156102d2576102d161011d565b5b6102de84828501610267565b5f8301525092915050565b5f6102fb6102f684610125565b610103565b9050808382526020820190506020840283018581111561031e5761031d610150565b5b835b8181101561036557803567ffffffffffffffff81111561034357610342610121565b5b8086016103508982610294565b85526020850194505050602081019050610320565b5050509392505050565b5f82601f83011261038357610382610121565b5b81356103938482602086016102e9565b91505092915050565b5f602082840312156103b1576103b0610091565b5b6103bb6020610103565b90505f82013567ffffffffffffffff8111156103da576103d961011d565b5b6103e68482850161036f565b5f8301525092915050565b5f6020828403121561040657610405610089565b5b5f82013567ffffffffffffffff8111156104235761042261008d565b5b61042f8482850161039c565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6104938161017f565b82525050565b604082015f8201516104ad5f85018261048a565b5060208201516104c0602085018261048a565b50505050565b5f6104d18383610499565b60408301905092915050565b5f602082019050919050565b5f6104f382610461565b6104fd818561046b565b93506105088361047b565b805f5b8381101561053857815161051f88826104c6565b975061052a836104dd565b92505060018101905061050b565b5085935050505092915050565b5f602083015f8301518482035f86015261055f82826104e9565b9150508091505092915050565b5f6105778383610545565b905092915050565b5f602082019050919050565b5f61059582610438565b61059f8185610442565b9350836020820285016105b185610452565b805f5b858110156105ec57848403895281516105cd858261056c565b94506105d88361057f565b925060208a019950506001810190506105b4565b50829750879550505050505092915050565b5f602083015f8301518482035f860152610618828261058b565b9150508091505092915050565b5f6020820190508181035f83015261063d81846105fe565b90509291505056fea2646970667358221220b10a40d79c5187ac06501cc4ac82657a3a637162a094a455f80d765c59f270a964736f6c634300081b0033"  # noqa: E501
-NESTED_TUPLE_CONTRACT_RUNTIME = "0x608060405234801561000f575f5ffd5b5060043610610029575f3560e01c80632655aef11461002d575b5f5ffd5b610047600480360381019061004291906103f1565b61005d565b6040516100549190610625565b60405180910390f35b61006561006d565b819050919050565b6040518060200160405280606081525090565b5f604051905090565b5f5ffd5b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6100db82610095565b810181811067ffffffffffffffff821117156100fa576100f96100a5565b5b80604052505050565b5f61010c610080565b905061011882826100d2565b919050565b5f5ffd5b5f5ffd5b5f67ffffffffffffffff82111561013f5761013e6100a5565b5b602082029050602081019050919050565b5f5ffd5b5f67ffffffffffffffff82111561016e5761016d6100a5565b5b602082029050602081019050919050565b5f819050919050565b6101918161017f565b811461019b575f5ffd5b50565b5f813590506101ac81610188565b92915050565b5f604082840312156101c7576101c6610091565b5b6101d16040610103565b90505f6101e08482850161019e565b5f8301525060206101f38482850161019e565b60208301525092915050565b5f61021161020c84610154565b610103565b9050808382526020820190506040840283018581111561023457610233610150565b5b835b8181101561025d578061024988826101b2565b845260208401935050604081019050610236565b5050509392505050565b5f82601f83011261027b5761027a610121565b5b813561028b8482602086016101ff565b91505092915050565b5f602082840312156102a9576102a8610091565b5b6102b36020610103565b90505f82013567ffffffffffffffff8111156102d2576102d161011d565b5b6102de84828501610267565b5f8301525092915050565b5f6102fb6102f684610125565b610103565b9050808382526020820190506020840283018581111561031e5761031d610150565b5b835b8181101561036557803567ffffffffffffffff81111561034357610342610121565b5b8086016103508982610294565b85526020850194505050602081019050610320565b5050509392505050565b5f82601f83011261038357610382610121565b5b81356103938482602086016102e9565b91505092915050565b5f602082840312156103b1576103b0610091565b5b6103bb6020610103565b90505f82013567ffffffffffffffff8111156103da576103d961011d565b5b6103e68482850161036f565b5f8301525092915050565b5f6020828403121561040657610405610089565b5b5f82013567ffffffffffffffff8111156104235761042261008d565b5b61042f8482850161039c565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6104938161017f565b82525050565b604082015f8201516104ad5f85018261048a565b5060208201516104c0602085018261048a565b50505050565b5f6104d18383610499565b60408301905092915050565b5f602082019050919050565b5f6104f382610461565b6104fd818561046b565b93506105088361047b565b805f5b8381101561053857815161051f88826104c6565b975061052a836104dd565b92505060018101905061050b565b5085935050505092915050565b5f602083015f8301518482035f86015261055f82826104e9565b9150508091505092915050565b5f6105778383610545565b905092915050565b5f602082019050919050565b5f61059582610438565b61059f8185610442565b9350836020820285016105b185610452565b805f5b858110156105ec57848403895281516105cd858261056c565b94506105d88361057f565b925060208a019950506001810190506105b4565b50829750879550505050505092915050565b5f602083015f8301518482035f860152610618828261058b565b9150508091505092915050565b5f6020820190508181035f83015261063d81846105fe565b90509291505056fea2646970667358221220b10a40d79c5187ac06501cc4ac82657a3a637162a094a455f80d765c59f270a964736f6c634300081b0033"  # noqa: E501
+NESTED_TUPLE_CONTRACT_BYTECODE = "0x6080604052348015600e575f5ffd5b5061067b8061001c5f395ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c80632655aef11461002d575b5f5ffd5b610047600480360381019061004291906103f1565b61005d565b6040516100549190610625565b60405180910390f35b61006561006d565b819050919050565b6040518060200160405280606081525090565b5f604051905090565b5f5ffd5b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6100db82610095565b810181811067ffffffffffffffff821117156100fa576100f96100a5565b5b80604052505050565b5f61010c610080565b905061011882826100d2565b919050565b5f5ffd5b5f5ffd5b5f67ffffffffffffffff82111561013f5761013e6100a5565b5b602082029050602081019050919050565b5f5ffd5b5f67ffffffffffffffff82111561016e5761016d6100a5565b5b602082029050602081019050919050565b5f819050919050565b6101918161017f565b811461019b575f5ffd5b50565b5f813590506101ac81610188565b92915050565b5f604082840312156101c7576101c6610091565b5b6101d16040610103565b90505f6101e08482850161019e565b5f8301525060206101f38482850161019e565b60208301525092915050565b5f61021161020c84610154565b610103565b9050808382526020820190506040840283018581111561023457610233610150565b5b835b8181101561025d578061024988826101b2565b845260208401935050604081019050610236565b5050509392505050565b5f82601f83011261027b5761027a610121565b5b813561028b8482602086016101ff565b91505092915050565b5f602082840312156102a9576102a8610091565b5b6102b36020610103565b90505f82013567ffffffffffffffff8111156102d2576102d161011d565b5b6102de84828501610267565b5f8301525092915050565b5f6102fb6102f684610125565b610103565b9050808382526020820190506020840283018581111561031e5761031d610150565b5b835b8181101561036557803567ffffffffffffffff81111561034357610342610121565b5b8086016103508982610294565b85526020850194505050602081019050610320565b5050509392505050565b5f82601f83011261038357610382610121565b5b81356103938482602086016102e9565b91505092915050565b5f602082840312156103b1576103b0610091565b5b6103bb6020610103565b90505f82013567ffffffffffffffff8111156103da576103d961011d565b5b6103e68482850161036f565b5f8301525092915050565b5f6020828403121561040657610405610089565b5b5f82013567ffffffffffffffff8111156104235761042261008d565b5b61042f8482850161039c565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6104938161017f565b82525050565b604082015f8201516104ad5f85018261048a565b5060208201516104c0602085018261048a565b50505050565b5f6104d18383610499565b60408301905092915050565b5f602082019050919050565b5f6104f382610461565b6104fd818561046b565b93506105088361047b565b805f5b8381101561053857815161051f88826104c6565b975061052a836104dd565b92505060018101905061050b565b5085935050505092915050565b5f602083015f8301518482035f86015261055f82826104e9565b9150508091505092915050565b5f6105778383610545565b905092915050565b5f602082019050919050565b5f61059582610438565b61059f8185610442565b9350836020820285016105b185610452565b805f5b858110156105ec57848403895281516105cd858261056c565b94506105d88361057f565b925060208a019950506001810190506105b4565b50829750879550505050505092915050565b5f602083015f8301518482035f860152610618828261058b565b9150508091505092915050565b5f6020820190508181035f83015261063d81846105fe565b90509291505056fea2646970667358221220f5c624356ac8a8f7232e74f6d7ddfb2174750d834bbdb0855da9ba0d26ff61df64736f6c634300081c0033"  # noqa: E501
+NESTED_TUPLE_CONTRACT_RUNTIME = "0x608060405234801561000f575f5ffd5b5060043610610029575f3560e01c80632655aef11461002d575b5f5ffd5b610047600480360381019061004291906103f1565b61005d565b6040516100549190610625565b60405180910390f35b61006561006d565b819050919050565b6040518060200160405280606081525090565b5f604051905090565b5f5ffd5b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6100db82610095565b810181811067ffffffffffffffff821117156100fa576100f96100a5565b5b80604052505050565b5f61010c610080565b905061011882826100d2565b919050565b5f5ffd5b5f5ffd5b5f67ffffffffffffffff82111561013f5761013e6100a5565b5b602082029050602081019050919050565b5f5ffd5b5f67ffffffffffffffff82111561016e5761016d6100a5565b5b602082029050602081019050919050565b5f819050919050565b6101918161017f565b811461019b575f5ffd5b50565b5f813590506101ac81610188565b92915050565b5f604082840312156101c7576101c6610091565b5b6101d16040610103565b90505f6101e08482850161019e565b5f8301525060206101f38482850161019e565b60208301525092915050565b5f61021161020c84610154565b610103565b9050808382526020820190506040840283018581111561023457610233610150565b5b835b8181101561025d578061024988826101b2565b845260208401935050604081019050610236565b5050509392505050565b5f82601f83011261027b5761027a610121565b5b813561028b8482602086016101ff565b91505092915050565b5f602082840312156102a9576102a8610091565b5b6102b36020610103565b90505f82013567ffffffffffffffff8111156102d2576102d161011d565b5b6102de84828501610267565b5f8301525092915050565b5f6102fb6102f684610125565b610103565b9050808382526020820190506020840283018581111561031e5761031d610150565b5b835b8181101561036557803567ffffffffffffffff81111561034357610342610121565b5b8086016103508982610294565b85526020850194505050602081019050610320565b5050509392505050565b5f82601f83011261038357610382610121565b5b81356103938482602086016102e9565b91505092915050565b5f602082840312156103b1576103b0610091565b5b6103bb6020610103565b90505f82013567ffffffffffffffff8111156103da576103d961011d565b5b6103e68482850161036f565b5f8301525092915050565b5f6020828403121561040657610405610089565b5b5f82013567ffffffffffffffff8111156104235761042261008d565b5b61042f8482850161039c565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6104938161017f565b82525050565b604082015f8201516104ad5f85018261048a565b5060208201516104c0602085018261048a565b50505050565b5f6104d18383610499565b60408301905092915050565b5f602082019050919050565b5f6104f382610461565b6104fd818561046b565b93506105088361047b565b805f5b8381101561053857815161051f88826104c6565b975061052a836104dd565b92505060018101905061050b565b5085935050505092915050565b5f602083015f8301518482035f86015261055f82826104e9565b9150508091505092915050565b5f6105778383610545565b905092915050565b5f602082019050919050565b5f61059582610438565b61059f8185610442565b9350836020820285016105b185610452565b805f5b858110156105ec57848403895281516105cd858261056c565b94506105d88361057f565b925060208a019950506001810190506105b4565b50829750879550505050505092915050565b5f602083015f8301518482035f860152610618828261058b565b9150508091505092915050565b5f6020820190508181035f83015261063d81846105fe565b90509291505056fea2646970667358221220f5c624356ac8a8f7232e74f6d7ddfb2174750d834bbdb0855da9ba0d26ff61df64736f6c634300081c0033"  # noqa: E501
 NESTED_TUPLE_CONTRACT_ABI = [
     {
         "inputs": [


Test patch:
diff --git a/tests/integration/geth-1.14.5-fixture.zip b/tests/integration/geth-1.14.5-fixture.zip
index 41b6b5e5f8..79b77be07c 100644
Binary files a/tests/integration/geth-1.14.5-fixture.zip and b/tests/integration/geth-1.14.5-fixture.zip differ
diff --git a/web3/_utils/contract_sources/contract_data/contract_caller_tester.py b/web3/_utils/contract_sources/contract_data/contract_caller_tester.py
index b49b1e3bea..6859d7a862 100644
--- a/web3/_utils/contract_sources/contract_data/contract_caller_tester.py
+++ b/web3/_utils/contract_sources/contract_data/contract_caller_tester.py
@@ -1,11 +1,11 @@
 """
 Generated by `compile_contracts.py` script.
-Compiled with Solidity v0.8.27.
+Compiled with Solidity v0.8.28.
 """
 
 # source: web3/_utils/contract_sources/ContractCallerTester.sol:ContractCallerTester
-CONTRACT_CALLER_TESTER_BYTECODE = "0x6080604052348015600e575f5ffd5b506104188061001c5f395ff3fe608060405260043610610049575f3560e01c806306661abd1461004d57806361bc221a14610077578063a5f3c23b14610095578063c7fa7d66146100c5578063d09de08a146100e7575b5f5ffd5b348015610058575f5ffd5b50610061610111565b60405161006e91906101d0565b60405180910390f35b61007f610116565b60405161008c91906101d0565b60405180910390f35b6100af60048036038101906100aa9190610217565b61011e565b6040516100bc91906101d0565b60405180910390f35b6100cd610133565b6040516100de95949392919061031c565b60405180910390f35b3480156100f2575f5ffd5b506100fb61019b565b60405161010891906101d0565b60405180910390f35b5f5481565b5f5f54905090565b5f818361012b91906103a1565b905092915050565b5f60605f5f5f335f365a344384848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f8201169050808301925050505050505093509091929350945094509450945094509091929394565b5f60015f5f8282546101ad91906103a1565b925050819055905090565b5f819050919050565b6101ca816101b8565b82525050565b5f6020820190506101e35f8301846101c1565b92915050565b5f5ffd5b6101f6816101b8565b8114610200575f5ffd5b50565b5f81359050610211816101ed565b92915050565b5f5f6040838503121561022d5761022c6101e9565b5b5f61023a85828601610203565b925050602061024b85828601610203565b9150509250929050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61027e82610255565b9050919050565b61028e81610274565b82525050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6102d682610294565b6102e0818561029e565b93506102f08185602086016102ae565b6102f9816102bc565b840191505092915050565b5f819050919050565b61031681610304565b82525050565b5f60a08201905061032f5f830188610285565b818103602083015261034181876102cc565b9050610350604083018661030d565b61035d606083018561030d565b61036a608083018461030d565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6103ab826101b8565b91506103b6836101b8565b92508282019050828112155f8312168382125f8412151617156103dc576103db610374565b5b9291505056fea2646970667358221220e83e8e9bddf6134ac4cd322e7fcd1971b5f0019e48a5f9d47fd8645b67f9644f64736f6c634300081b0033"  # noqa: E501
-CONTRACT_CALLER_TESTER_RUNTIME = "0x608060405260043610610049575f3560e01c806306661abd1461004d57806361bc221a14610077578063a5f3c23b14610095578063c7fa7d66146100c5578063d09de08a146100e7575b5f5ffd5b348015610058575f5ffd5b50610061610111565b60405161006e91906101d0565b60405180910390f35b61007f610116565b60405161008c91906101d0565b60405180910390f35b6100af60048036038101906100aa9190610217565b61011e565b6040516100bc91906101d0565b60405180910390f35b6100cd610133565b6040516100de95949392919061031c565b60405180910390f35b3480156100f2575f5ffd5b506100fb61019b565b60405161010891906101d0565b60405180910390f35b5f5481565b5f5f54905090565b5f818361012b91906103a1565b905092915050565b5f60605f5f5f335f365a344384848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f8201169050808301925050505050505093509091929350945094509450945094509091929394565b5f60015f5f8282546101ad91906103a1565b925050819055905090565b5f819050919050565b6101ca816101b8565b82525050565b5f6020820190506101e35f8301846101c1565b92915050565b5f5ffd5b6101f6816101b8565b8114610200575f5ffd5b50565b5f81359050610211816101ed565b92915050565b5f5f6040838503121561022d5761022c6101e9565b5b5f61023a85828601610203565b925050602061024b85828601610203565b9150509250929050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61027e82610255565b9050919050565b61028e81610274565b82525050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6102d682610294565b6102e0818561029e565b93506102f08185602086016102ae565b6102f9816102bc565b840191505092915050565b5f819050919050565b61031681610304565b82525050565b5f60a08201905061032f5f830188610285565b818103602083015261034181876102cc565b9050610350604083018661030d565b61035d606083018561030d565b61036a608083018461030d565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6103ab826101b8565b91506103b6836101b8565b92508282019050828112155f8312168382125f8412151617156103dc576103db610374565b5b9291505056fea2646970667358221220e83e8e9bddf6134ac4cd322e7fcd1971b5f0019e48a5f9d47fd8645b67f9644f64736f6c634300081b0033"  # noqa: E501
+CONTRACT_CALLER_TESTER_BYTECODE = "0x6080604052348015600e575f5ffd5b506104188061001c5f395ff3fe608060405260043610610049575f3560e01c806306661abd1461004d57806361bc221a14610077578063a5f3c23b14610095578063c7fa7d66146100c5578063d09de08a146100e7575b5f5ffd5b348015610058575f5ffd5b50610061610111565b60405161006e91906101d0565b60405180910390f35b61007f610116565b60405161008c91906101d0565b60405180910390f35b6100af60048036038101906100aa9190610217565b61011e565b6040516100bc91906101d0565b60405180910390f35b6100cd610133565b6040516100de95949392919061031c565b60405180910390f35b3480156100f2575f5ffd5b506100fb61019b565b60405161010891906101d0565b60405180910390f35b5f5481565b5f5f54905090565b5f818361012b91906103a1565b905092915050565b5f60605f5f5f335f365a344384848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f8201169050808301925050505050505093509091929350945094509450945094509091929394565b5f60015f5f8282546101ad91906103a1565b925050819055905090565b5f819050919050565b6101ca816101b8565b82525050565b5f6020820190506101e35f8301846101c1565b92915050565b5f5ffd5b6101f6816101b8565b8114610200575f5ffd5b50565b5f81359050610211816101ed565b92915050565b5f5f6040838503121561022d5761022c6101e9565b5b5f61023a85828601610203565b925050602061024b85828601610203565b9150509250929050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61027e82610255565b9050919050565b61028e81610274565b82525050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6102d682610294565b6102e0818561029e565b93506102f08185602086016102ae565b6102f9816102bc565b840191505092915050565b5f819050919050565b61031681610304565b82525050565b5f60a08201905061032f5f830188610285565b818103602083015261034181876102cc565b9050610350604083018661030d565b61035d606083018561030d565b61036a608083018461030d565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6103ab826101b8565b91506103b6836101b8565b92508282019050828112155f8312168382125f8412151617156103dc576103db610374565b5b9291505056fea264697066735822122079d294f0dc4c3954f1b11d8ff5d1ef2fb23568ba91a62eeb87304f29eedf6b1c64736f6c634300081c0033"  # noqa: E501
+CONTRACT_CALLER_TESTER_RUNTIME = "0x608060405260043610610049575f3560e01c806306661abd1461004d57806361bc221a14610077578063a5f3c23b14610095578063c7fa7d66146100c5578063d09de08a146100e7575b5f5ffd5b348015610058575f5ffd5b50610061610111565b60405161006e91906101d0565b60405180910390f35b61007f610116565b60405161008c91906101d0565b60405180910390f35b6100af60048036038101906100aa9190610217565b61011e565b6040516100bc91906101d0565b60405180910390f35b6100cd610133565b6040516100de95949392919061031c565b60405180910390f35b3480156100f2575f5ffd5b506100fb61019b565b60405161010891906101d0565b60405180910390f35b5f5481565b5f5f54905090565b5f818361012b91906103a1565b905092915050565b5f60605f5f5f335f365a344384848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f8201169050808301925050505050505093509091929350945094509450945094509091929394565b5f60015f5f8282546101ad91906103a1565b925050819055905090565b5f819050919050565b6101ca816101b8565b82525050565b5f6020820190506101e35f8301846101c1565b92915050565b5f5ffd5b6101f6816101b8565b8114610200575f5ffd5b50565b5f81359050610211816101ed565b92915050565b5f5f6040838503121561022d5761022c6101e9565b5b5f61023a85828601610203565b925050602061024b85828601610203565b9150509250929050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61027e82610255565b9050919050565b61028e81610274565b82525050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6102d682610294565b6102e0818561029e565b93506102f08185602086016102ae565b6102f9816102bc565b840191505092915050565b5f819050919050565b61031681610304565b82525050565b5f60a08201905061032f5f830188610285565b818103602083015261034181876102cc565b9050610350604083018661030d565b61035d606083018561030d565b61036a608083018461030d565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6103ab826101b8565b91506103b6836101b8565b92508282019050828112155f8312168382125f8412151617156103dc576103db610374565b5b9291505056fea264697066735822122079d294f0dc4c3954f1b11d8ff5d1ef2fb23568ba91a62eeb87304f29eedf6b1c64736f6c634300081c0033"  # noqa: E501
 CONTRACT_CALLER_TESTER_ABI = [
     {
         "inputs": [
diff --git a/web3/_utils/contract_sources/contract_data/function_name_tester_contract.py b/web3/_utils/contract_sources/contract_data/function_name_tester_contract.py
index f5fefd8f1a..e4b6f04b6d 100644
--- a/web3/_utils/contract_sources/contract_data/function_name_tester_contract.py
+++ b/web3/_utils/contract_sources/contract_data/function_name_tester_contract.py
@@ -1,11 +1,11 @@
 """
 Generated by `compile_contracts.py` script.
-Compiled with Solidity v0.8.27.
+Compiled with Solidity v0.8.28.
 """
 
 # source: web3/_utils/contract_sources/FunctionNameTesterContract.sol:FunctionNameTesterContract  # noqa: E501
-FUNCTION_NAME_TESTER_CONTRACT_BYTECODE = "0x6080604052348015600e575f5ffd5b5060dc80601a5f395ff3fe6080604052348015600e575f5ffd5b50600436106030575f3560e01c8063a044c987146034578063c5d7802e14604e575b5f5ffd5b603a6068565b60405160459190608f565b60405180910390f35b60546070565b604051605f9190608f565b60405180910390f35b5f6001905090565b5f5f905090565b5f8115159050919050565b6089816077565b82525050565b5f60208201905060a05f8301846082565b9291505056fea26469706673582212200a081b5e095d27bf0d18bfdb07b8618bdf1a04e1a4cf660629f12ab2b0d0bdb264736f6c634300081b0033"  # noqa: E501
-FUNCTION_NAME_TESTER_CONTRACT_RUNTIME = "0x6080604052348015600e575f5ffd5b50600436106030575f3560e01c8063a044c987146034578063c5d7802e14604e575b5f5ffd5b603a6068565b60405160459190608f565b60405180910390f35b60546070565b604051605f9190608f565b60405180910390f35b5f6001905090565b5f5f905090565b5f8115159050919050565b6089816077565b82525050565b5f60208201905060a05f8301846082565b9291505056fea26469706673582212200a081b5e095d27bf0d18bfdb07b8618bdf1a04e1a4cf660629f12ab2b0d0bdb264736f6c634300081b0033"  # noqa: E501
+FUNCTION_NAME_TESTER_CONTRACT_BYTECODE = "0x6080604052348015600e575f5ffd5b5060dc80601a5f395ff3fe6080604052348015600e575f5ffd5b50600436106030575f3560e01c8063a044c987146034578063c5d7802e14604e575b5f5ffd5b603a6068565b60405160459190608f565b60405180910390f35b60546070565b604051605f9190608f565b60405180910390f35b5f6001905090565b5f5f905090565b5f8115159050919050565b6089816077565b82525050565b5f60208201905060a05f8301846082565b9291505056fea2646970667358221220b639c6d170602b8e1800b59672ba79eccf6c325c201b1889e36ba1bfb02190e264736f6c634300081c0033"  # noqa: E501
+FUNCTION_NAME_TESTER_CONTRACT_RUNTIME = "0x6080604052348015600e575f5ffd5b50600436106030575f3560e01c8063a044c987146034578063c5d7802e14604e575b5f5ffd5b603a6068565b60405160459190608f565b60405180910390f35b60546070565b604051605f9190608f565b60405180910390f35b5f6001905090565b5f5f905090565b5f8115159050919050565b6089816077565b82525050565b5f60208201905060a05f8301846082565b9291505056fea2646970667358221220b639c6d170602b8e1800b59672ba79eccf6c325c201b1889e36ba1bfb02190e264736f6c634300081c0033"  # noqa: E501
 FUNCTION_NAME_TESTER_CONTRACT_ABI = [
     {
         "inputs": [],
diff --git a/web3/_utils/contract_sources/contract_data/payable_tester.py b/web3/_utils/contract_sources/contract_data/payable_tester.py
index a37091fd29..0429d5f45d 100644
--- a/web3/_utils/contract_sources/contract_data/payable_tester.py
+++ b/web3/_utils/contract_sources/contract_data/payable_tester.py
@@ -1,11 +1,11 @@
 """
 Generated by `compile_contracts.py` script.
-Compiled with Solidity v0.8.27.
+Compiled with Solidity v0.8.28.
 """
 
 # source: web3/_utils/contract_sources/PayableTester.sol:PayableTesterContract
-PAYABLE_TESTER_CONTRACT_BYTECODE = "0x6080604052348015600e575f5ffd5b5060e78061001b5f395ff3fe6080604052348015600e575f5ffd5b50600436106030575f3560e01c8063c6803622146034578063e4cb8f5c14604e575b5f5ffd5b603a6056565b60405160459190609a565b60405180910390f35b60546067565b005b5f5f9054906101000a900460ff1681565b60015f5f6101000a81548160ff021916908315150217905550565b5f8115159050919050565b6094816082565b82525050565b5f60208201905060ab5f830184608d565b9291505056fea264697066735822122089b410455aaf6d5da70223487bce45a0a8a2de79489257a8a3cd79fb30f16b5d64736f6c634300081b0033"  # noqa: E501
-PAYABLE_TESTER_CONTRACT_RUNTIME = "0x6080604052348015600e575f5ffd5b50600436106030575f3560e01c8063c6803622146034578063e4cb8f5c14604e575b5f5ffd5b603a6056565b60405160459190609a565b60405180910390f35b60546067565b005b5f5f9054906101000a900460ff1681565b60015f5f6101000a81548160ff021916908315150217905550565b5f8115159050919050565b6094816082565b82525050565b5f60208201905060ab5f830184608d565b9291505056fea264697066735822122089b410455aaf6d5da70223487bce45a0a8a2de79489257a8a3cd79fb30f16b5d64736f6c634300081b0033"  # noqa: E501
+PAYABLE_TESTER_CONTRACT_BYTECODE = "0x6080604052348015600e575f5ffd5b5060e78061001b5f395ff3fe6080604052348015600e575f5ffd5b50600436106030575f3560e01c8063c6803622146034578063e4cb8f5c14604e575b5f5ffd5b603a6056565b60405160459190609a565b60405180910390f35b60546067565b005b5f5f9054906101000a900460ff1681565b60015f5f6101000a81548160ff021916908315150217905550565b5f8115159050919050565b6094816082565b82525050565b5f60208201905060ab5f830184608d565b9291505056fea2646970667358221220b7eb50931c313b71ef426071f6dd8a14ec7b736e991a93594b86614dcfbf7a4c64736f6c634300081c0033"  # noqa: E501
+PAYABLE_TESTER_CONTRACT_RUNTIME = "0x6080604052348015600e575f5ffd5b50600436106030575f3560e01c8063c6803622146034578063e4cb8f5c14604e575b5f5ffd5b603a6056565b60405160459190609a565b60405180910390f35b60546067565b005b5f5f9054906101000a900460ff1681565b60015f5f6101000a81548160ff021916908315150217905550565b5f8115159050919050565b6094816082565b82525050565b5f60208201905060ab5f830184608d565b9291505056fea2646970667358221220b7eb50931c313b71ef426071f6dd8a14ec7b736e991a93594b86614dcfbf7a4c64736f6c634300081c0033"  # noqa: E501
 PAYABLE_TESTER_CONTRACT_ABI = [
     {
         "inputs": [],