Skip to content

Instantly share code, notes, and snippets.

@buddhiraz
Created March 10, 2024 08:41
Show Gist options
  • Save buddhiraz/3b12b92d1d5a3f7291f5eece12b0d7bd to your computer and use it in GitHub Desktop.
Save buddhiraz/3b12b92d1d5a3f7291f5eece12b0d7bd to your computer and use it in GitHub Desktop.
Created using remix-ide: Realtime Ethereum Contract Compiler and Runtime. Load this file by pasting this gists URL or ID at https://remix.ethereum.org/#version=soljson-v0.8.24+commit.e11b9ed9.js&optimize=false&runs=200&gist=
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
ref: refs/heads/main
DIRC e�o�%��@e�o�%��@������o#q{K���Sc��X�W�n.prettierrc.jsone�o�%� �e�o�%� �����}�7i��$���IQ��B.�
README.txte�o� �@e�o� �@���+��^x;n��G�g�f6�contracts/1_Storage.sole�o�!�@@e�o�!�@@����I����*̛���>K���?�'contracts/2_Owner.sole�o�"Ue�o�"U������l6 l��8Յ�%��+�Zcontracts/3_Ballot.sole�o�"���e�o�"�������Q=Imv8�n{s9'/�:pSB�6scripts/deploy_with_ethers.tse�o�#v��e�o�#v������ܠ��ݾ?87G�k�)P�.�scripts/deploy_with_web3.tse�o�#�ʀe�o�#�ʀ����'S��Н��M�%5�s<��wscripts/ethers-lib.tse�o�$=Xe�o�$=X���%�~P9���WrV���ߒ�~�scripts/web3-lib.tse�o�$�je�o�$�j����In��ˠ/�ds�9���5��[tests/Ballot_test.sole�o�%��e�o�%�������7�Ûv�%��1���$�s��tests/storage.test.jsQ�ܽ �Ib}��r�)Y�I�
x�]S]k�@��<$s�%�Ӧ)���kV�Z�T�{�8���}�J_�ݝ���K+�����_�ٺ�؃�d 8`-�F���,9;�� ?���Z2
���w*�i[�ސP�}P��8k+����u7:�y�8������$E@e����wAe���]3+K�ή6u�re��8�u9����� kY�k��c��֍8�����S�ɬ�� -X���e����ѻ�褜�$n��s������k��7ߌ\.���f3t�}Ŧ�E��3�����t��i>�+� -I;�!�(s�W?n�-mV��XH9?Y������$jה���_F���VmZs]~� �� BO�{�K<�ⷁ%CrlI�h��wO-��\ъ�k/��z��Nѐ��㶚�rR���V�! Ӗ�B���&�������79*X�����V-�ҝG[N?݋�9K�Z@=�ʧT��RZ1|��m��{9[8,;�o�4Z0&��t�|n
ևn:��i~��R���s�=f�/ƣ)�R�8Zd�O�S�|Φg��NVo~���a��sc��χ�& ˷yY�=�^ڎ�+��z�Ʃ�`��ں.;��Č�q{!�3>>��?}�V
x���M
�0F]��d��n<F�Lm$1' �^�xw�[����sd��p%C�H�-�y������hHO��;�1�/���BXbuo8����v�f�Η|i%��`��GῧL��r�]����J9��)?�cZ�L�k��u�H�
x��Q[k�0ݳ��O6$��<l��A�` ��X e��k�%O��4�����d��窣\��7/�׫���+U��4�\�a�Q�����j�i4Nnk o�*��~���"ŻT\�4 T�X����ɳ��0C��+�10��l�֒U!��C�T0���Xwjq4��++�Ia���z�#*D���dq�Ajmy�#���W� �|���q��^�/�&��h�G��l'���5+k���:��Q��͵*�t�t߉�hZ_EC`Ҕ��L/�8Ύ�i�0�ZD'f��98�STT��Q�(�] ������F�=Ϊ�?t�)J'���XЯV�脺;���Ze8J���Z� eJzD
_�V�� \�q��C�ucuygg�ar<JF��{��j7��5q��7�[�L��hw�<��ZO����հ\"�<�>�5�
x�M��J�@E}�W\�Є���RhA�i|��f���솝 ZJ�]����0Ý3�Ni}����&����`z�V%a`� ��!-!.��P ��׀����'Ú2�p̢<dz%ńN<i�w���8˯ ���gp��ƨGAI��087^�?���U�C�M�
�5����~p1���"} :r|=���G���@����I�]��eYD��z����"�/�W֔�(J�F�b��)$��� �`[�/ed�%�9���o��[ʬo�UU��7�=]�<9��3��"��߱�6e1��&itN����3
x�+)JMU0�0a040031Q�+(J-)�L-*J��*��cش4_���{v?���#���˃� rut�u�+�(axT��<��E��F�w����:��21000PH��+)JL.)fX�,���}���'�m�T�ƵB�'e�3|ʭ0`.ܴ��tx�L����&��(I-.)fxu���ZKG�c��.)�����gH.NZ
x�ՒOO1�9�S<���ϦBD��R�=P���=�Z;�cJ���'$m�ֲ=��f<���.�.���]��2 ��I ��p8���q�$0ޙ{���$�z`P���@ݔ� �̦�L Y�~^�����K���ȩ�ꍑ�S�g&Jv"���rM9�V?%&Y�#.�/3��V�Y��GO�K)/�� �ɛ!�A��I+�Y�� ��|'#1-�rwW;����A�兏K��u,�������q�jc��@�E�h+&k�ܤ��j�� �$�O������< ���� y�i%]��ƕ�%qa\ʹY������m���R���/��73������ƽ�֟��+kx_O��a�~<��]�U���g<�
x�}T]o�6��~Łf;plC;,��Y0hѢ�� 4y%�H��ʎQ���$[΂�E���:��p���߼}�j��×����h5�H���������/��/�bǪ�bp�X9��z9�e��o�����(l� ,m����>G��hU���Wx/V����wC{<��'��!tТ�� +-m4�(c�bĎ�^I�j���'/(��Op����2�"��ɤ�c��G2�dl����CF��.u0Y H�ޒ�[B+�ac�8ژkL������} �J�Q��j�4d(1f���Lc�^�F ��l\*i<=�n�!����(� ZUsnj%i��$�N���(��N�L`� ���Ɵ[�D�I�\��RT*����j >ΰi>�?ց�ڽd�J!�*kH��M��e�ub�N��6Ё����E�
�tHbt��p ��P.�8�I:�wNy��T��[%8�c8p�չv7ؤ��<�7�X�۳�at{:�D<MW��ڿ?�JnH��N�nh�‘j�I���n���e���B5��yZ�`s��p&00w�z������8�눇�aN*�Ø=3}��{jE���'��b��T��D���dԓ�C��=#b�N�=Zk�Y'�c�l�սwb_2�V`pO<��^d���a���Ü"�E�^�U��� =
�W{K�U"z�� �A�~�� B��
x�+)JMU042`040031Q0�.�/JLO�+��a�+'z)��:o��&����43��P�F���y�E`e3=��v[���}3�yw}j?C��8�)1''�����3�-���W�1I[� [��1,
x����
�0 �=�)B�2ă��[����n٬�f�� c�.+l0cB{J�� ��ɪ�����e)\}�{�Py���l���X<N�r�t���|X��E���RH��/����D\[<s�� �,NV�R�&�3�0<{�;U<������6^p��k���xH�����%�pυ._ݢ6��̢�
x�mT]k�@�~�<$GN� �iK!�|@�P
^Ik�R��ܭ�[���$�j�@�������*�L�˫ˏ�T�2V���+,��n8�
���_�K�L�_/�����S<�D�Ќ��Y���A0;; p�����R2
��H��"K5vN��E3��f��a�>����8��Z�^���4 [8T�I���Į316���u����2�ւ�㼥r�s�/����u=N��:e۠ ��Jժ3fY�Vc�w��Us>�? �����C0�������:�-O���#� w���6I�lM�_�Jn0��.Г�G�94o�4D��gk�T�vңL�qe�h�)T����X]�h���0�$�]s�U+�fΝq���Re%�C��- �]�c�W��V(ȊZR&qW��~3�ڎfA�>�s�· �|,?X��$%�X��l�١�� ���Wg��ض��r��_��Y�mH ,��O�QUE�RU�@�
��a��MUN�3�+�3��9����Yʸ`���(�3V����@t�S�N�hw<9������h@[+��G��LαI_9���-�5kq��hF��7�{�tƃ����]Ȟ�����~��ϋ_aA.�;�����E{u�@��'Hc���_��p
x�M��j�0�]�?2P骔�bZ{�Q�c��1��H'��>�v�UH�ϗ��x|Z�e���SC
���{*�%u����l��)�������+S㝊5�*�pCd^5 Ohő�{G#$m�)M��6���l����(����zcF���M��)�rث�aH����}oBTζS;�f�dz�j�>�lGu�� ��:�=o��N/�FU�ȃ@��u��m�˕���D�z�UA,�`$����n�N�<Ñ�5c q�g+�杣||&�q�)ն��,y����
����0�/��e����ݦ)m�{Q� .I��*���
x�m��k�@�{޿❪�%��Zz(�����d������ID����K-���}��͏Ir� ��0�z���/UJڑ���f�Udg�Z-�� ��rWH8��L��(x �x��� � z���V��l��Q�dT��#,�UTj�W�!QK�d�w�rl�YF�o+��Ԫ���Å��9n���=Y��B��V�<��I���i� ] �y'�����w��"��RZY4�� \�����V:eetW� ����\�8u @��E���>�qeu?�R����b��� k_@jEt!����K����{��
x�uTMs�4�_�N�b��.)���L��653���u"K�%��${>²7������'������W�lV���nu��;��y�����v�Ԇ:~CK{=؈��K�uC��^(�� �k��\�u���h�$�,!"rGP�n�h|��H-F���ܯ@���:��T�3$-�gK��!�;�]�wϖ�z��v��E�ƻ��\�e�&za
�J}�P���&���z�D#4��39v�kH=-�� �{4��-�q�*�}�"4�}F�=���A�����?z��[?A�UXǤ ��V��5Y?V�B)�������[�R4#��hk},N��6����o�6z�:gVJmo7��6�H牰��%��_i4����ti7_v��u,F����P@�EC��r-:��R�~�Ԍ�%��=���S� ���"��Ցr�1R8��� 6�/����3�D���m�Q��h9 �}�n/-����fQ�f���1��<1<� ����1<)��˗e�������x8���7Fwk4cp�R�������JLDc�y�w3�,��(�\�,ǜ[lW��N]MR���+�$��B��PS�l����!�C��_��Z�'-���7$�t촭�z��C��J�3���z/����O�Ԧb ��C��#�R̯�9���`������㟋�zZ��[3��DZU�0j�c��h.� 6���P(�I'��5:�;;eˏj�����z;��T��ځD���K�rz͒`u:��5����Ǵ���ңRI"������['�`��*�/�&^
x�+)JMU�0c040031QpJ���/�/I-.�+��a�ɛ����s)�M���0=w0���$�(1=U�6����|���eU%W�4��ڦ���wm�&�
x�+)JMU047c040031QHI-�ɯ�/�,ɈO-�H-*�+)f���-�X�W]l���jU�4� ����$c��; v��������Q� ��z��!f��d&����sa�n��UMO�|8SU2 ��h]�����o�Ea۷>c�?���&�GQ
x��Wm��6 ���
��$�朴�0�i�m-��m�ZtA��L�M�<INf���l�I�0}�c���!Em����_=z��|o߼���5͑+��-�k��(�«7�o�d�Ѩ�dWP�т�������-�o��r4�__���[M5C��0&�}Q�n��a�\+� M�j)rT
|�K��@�;���#���r��$����h��lr �F �+��5��J����?U@�F4�i�]���� ��.݂� �@�DC�R �I$E��:UR��⭢��k�wh��il,��� ��t�ζ�O-aV�D������v �h '�����.A ��Ԅr�M�Aiv۴� b+�H��Q�c'�Ș�OO�sbt�-�P5y y��F���KsR�0U)��/`��Ƥ�f䦧�y!�P��Q42*�N@�n6�搗�J�� T��)�M���#�4��Ry��u� ��fy���H4��8�jy)D��q0�3�P���BM$� �js��V�����\p� !'>�wk���M-M#�D��Tj�)��e'�q �3_K+x��7k+$L,dV�X�g�ƙ���Ç��o����,ˎ�1�6�
h�j!�l�J]�͟�k ��Ӫ��Q�$˲�x�H�y��Z\L� /P:@�X��M��2P=Mc���ى\����H>���c�����{��EilÐ-\tI��`?�g-lr˜���Z�]I��{��o���tP��=�jx'L=u��O��ϘĿ*q�D��V���i�~1q� 6 �x�� ��Ԣ�����g��Yg��6}�۲L��7I͆�Y�bzRhSb)� �/��b��t�{6;�Z��iN�p(i��[�[�yx��Io� ��(VZH�CH�{tק�z��������Lz��q����[dۛ�h��Qe����tV%e#-�Y�X��N�a�Ң*֊L��5�!lE� ����r Q�� ���K���k3X�%9:vOqjae'���c�
�X^@4}H���&����L����I���P��s�Z�G�x? �@X]��K=qEm�.<\�����' �)���-,r�|Z�'n{oK�~M��}��~�K��{�-`ByΚ���63��i��7�(:����:3g�ʼn��R�765�) R��|1N�Q!���]$I�)�� �~$
�H��s�d؂���~>��,�.Ψ78:u��%FI����Y�j�e t)�H�EE45gzk� �{����zyi쪞���T�\�E^��n ߌ�ʹ��9�h��O�Z➊FyzRnΤ<7[����Ƀ�0n}�w�����줟�)����p;t�]W��N'��ˣ��Lʵ���hR���tJ6�5,F��ɦCe��8v���j��
�T�x�Y hBSg��v�n��uب�4Ws{������D~�J(�<�� ���ؾ���94 ��h�!IbGbNr��p��㿠�[�
347ea0301c8b8593bf7963ce51f4d02719753ebe
{
"overrides": [
{
"files": "*.sol",
"options": {
"printWidth": 80,
"tabWidth": 4,
"useTabs": false,
"singleQuote": false,
"bracketSpacing": false
}
},
{
"files": "*.yml",
"options": {}
},
{
"files": "*.yaml",
"options": {}
},
{
"files": "*.toml",
"options": {}
},
{
"files": "*.json",
"options": {}
},
{
"files": "*.js",
"options": {}
},
{
"files": "*.ts",
"options": {}
}
]
}
REMIX DEFAULT WORKSPACE
Remix default workspace is present when:
i. Remix loads for the very first time
ii. A new workspace is created with 'Default' template
iii. There are no files existing in the File Explorer
This workspace contains 3 directories:
1. 'contracts': Holds three contracts with increasing levels of complexity.
2. 'scripts': Contains four typescript files to deploy a contract. It is explained below.
3. 'tests': Contains one Solidity test file for 'Ballot' contract & one JS test file for 'Storage' contract.
SCRIPTS
The 'scripts' folder has four typescript files which help to deploy the 'Storage' contract using 'web3.js' and 'ethers.js' libraries.
For the deployment of any other contract, just update the contract's name from 'Storage' to the desired contract and provide constructor arguments accordingly
in the file `deploy_with_ethers.ts` or `deploy_with_web3.ts`
In the 'tests' folder there is a script containing Mocha-Chai unit tests for 'Storage' contract.
To run a script, right click on file name in the file explorer and click 'Run'. Remember, Solidity file must already be compiled.
Output from script will appear in remix terminal.
Please note, require/import is supported in a limited manner for Remix supported modules.
For now, modules supported by Remix are ethers, web3, swarmgw, chai, multihashes, remix and hardhat only for hardhat.ethers object/plugin.
For unsupported modules, an error like this will be thrown: '<module_name> module require is not supported by Remix IDE' will be shown.
{
"id": "7801526334f120f591f4453db7bedb8c",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.8.24",
"solcLongVersion": "0.8.24+commit.e11b9ed9",
"input": {
"language": "Solidity",
"sources": {
"contracts/Counter.sol": {
"content": "// SPDX-License-Identifier: UNLICENSED\npragma solidity ^0.8.24;\n\n// imagine a big integer counter that the whole world could share\ncontract Counter {\n uint256 value;\n\n function initialize(uint256 x) public {\n value = x;\n }\n\n function get() public view returns (uint256) {\n return value;\n }\n\n function increment(uint256 n) public {\n value = value + n;\n // return (optional)\n }\n\n function decrement(uint256 n) public {\n value = value - n;\n }\n}\n"
}
},
"settings": {
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"": [
"ast"
],
"*": [
"abi",
"metadata",
"devdoc",
"userdoc",
"storageLayout",
"evm.legacyAssembly",
"evm.bytecode",
"evm.deployedBytecode",
"evm.methodIdentifiers",
"evm.gasEstimates",
"evm.assembly"
]
}
},
"remappings": []
}
},
"output": {
"contracts": {
"contracts/Counter.sol": {
"Counter": {
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "n",
"type": "uint256"
}
],
"name": "decrement",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "get",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "n",
"type": "uint256"
}
],
"name": "increment",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "x",
"type": "uint256"
}
],
"name": "initialize",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": " /* \"contracts/Counter.sol\":131:503 contract Counter {... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"contracts/Counter.sol\":131:503 contract Counter {... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\n tag_1:\n pop\n jumpi(tag_2, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0x3a9ebefd\n eq\n tag_3\n jumpi\n dup1\n 0x6d4ce63c\n eq\n tag_4\n jumpi\n dup1\n 0x7cf5dab0\n eq\n tag_5\n jumpi\n dup1\n 0xfe4b84df\n eq\n tag_6\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"contracts/Counter.sol\":430:501 function decrement(uint256 n) public {... */\n tag_3:\n tag_7\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_8\n swap2\n swap1\n tag_9\n jump\t// in\n tag_8:\n tag_10\n jump\t// in\n tag_7:\n stop\n /* \"contracts/Counter.sol\":244:318 function get() public view returns (uint256) {... */\n tag_4:\n tag_11\n tag_12\n jump\t// in\n tag_11:\n mload(0x40)\n tag_13\n swap2\n swap1\n tag_14\n jump\t// in\n tag_13:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/Counter.sol\":324:424 function increment(uint256 n) public {... */\n tag_5:\n tag_15\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_16\n swap2\n swap1\n tag_9\n jump\t// in\n tag_16:\n tag_17\n jump\t// in\n tag_15:\n stop\n /* \"contracts/Counter.sol\":174:238 function initialize(uint256 x) public {... */\n tag_6:\n tag_18\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_19\n swap2\n swap1\n tag_9\n jump\t// in\n tag_19:\n tag_20\n jump\t// in\n tag_18:\n stop\n /* \"contracts/Counter.sol\":430:501 function decrement(uint256 n) public {... */\n tag_10:\n /* \"contracts/Counter.sol\":493:494 n */\n dup1\n /* \"contracts/Counter.sol\":485:490 value */\n sload(0x00)\n /* \"contracts/Counter.sol\":485:494 value - n */\n tag_22\n swap2\n swap1\n tag_23\n jump\t// in\n tag_22:\n /* \"contracts/Counter.sol\":477:482 value */\n 0x00\n /* \"contracts/Counter.sol\":477:494 value = value - n */\n dup2\n swap1\n sstore\n pop\n /* \"contracts/Counter.sol\":430:501 function decrement(uint256 n) public {... */\n pop\n jump\t// out\n /* \"contracts/Counter.sol\":244:318 function get() public view returns (uint256) {... */\n tag_12:\n /* \"contracts/Counter.sol\":280:287 uint256 */\n 0x00\n /* \"contracts/Counter.sol\":306:311 value */\n dup1\n sload\n /* \"contracts/Counter.sol\":299:311 return value */\n swap1\n pop\n /* \"contracts/Counter.sol\":244:318 function get() public view returns (uint256) {... */\n swap1\n jump\t// out\n /* \"contracts/Counter.sol\":324:424 function increment(uint256 n) public {... */\n tag_17:\n /* \"contracts/Counter.sol\":387:388 n */\n dup1\n /* \"contracts/Counter.sol\":379:384 value */\n sload(0x00)\n /* \"contracts/Counter.sol\":379:388 value + n */\n tag_26\n swap2\n swap1\n tag_27\n jump\t// in\n tag_26:\n /* \"contracts/Counter.sol\":371:376 value */\n 0x00\n /* \"contracts/Counter.sol\":371:388 value = value + n */\n dup2\n swap1\n sstore\n pop\n /* \"contracts/Counter.sol\":324:424 function increment(uint256 n) public {... */\n pop\n jump\t// out\n /* \"contracts/Counter.sol\":174:238 function initialize(uint256 x) public {... */\n tag_20:\n /* \"contracts/Counter.sol\":230:231 x */\n dup1\n /* \"contracts/Counter.sol\":222:227 value */\n 0x00\n /* \"contracts/Counter.sol\":222:231 value = x */\n dup2\n swap1\n sstore\n pop\n /* \"contracts/Counter.sol\":174:238 function initialize(uint256 x) public {... */\n pop\n jump\t// out\n /* \"#utility.yul\":88:205 */\n tag_30:\n /* \"#utility.yul\":197:198 */\n 0x00\n /* \"#utility.yul\":194:195 */\n dup1\n /* \"#utility.yul\":187:199 */\n revert\n /* \"#utility.yul\":334:411 */\n tag_32:\n /* \"#utility.yul\":371:378 */\n 0x00\n /* \"#utility.yul\":400:405 */\n dup2\n /* \"#utility.yul\":389:405 */\n swap1\n pop\n /* \"#utility.yul\":334:411 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":417:539 */\n tag_33:\n /* \"#utility.yul\":490:514 */\n tag_43\n /* \"#utility.yul\":508:513 */\n dup2\n /* \"#utility.yul\":490:514 */\n tag_32\n jump\t// in\n tag_43:\n /* \"#utility.yul\":483:488 */\n dup2\n /* \"#utility.yul\":480:515 */\n eq\n /* \"#utility.yul\":470:533 */\n tag_44\n jumpi\n /* \"#utility.yul\":529:530 */\n 0x00\n /* \"#utility.yul\":526:527 */\n dup1\n /* \"#utility.yul\":519:531 */\n revert\n /* \"#utility.yul\":470:533 */\n tag_44:\n /* \"#utility.yul\":417:539 */\n pop\n jump\t// out\n /* \"#utility.yul\":545:684 */\n tag_34:\n /* \"#utility.yul\":591:596 */\n 0x00\n /* \"#utility.yul\":629:635 */\n dup2\n /* \"#utility.yul\":616:636 */\n calldataload\n /* \"#utility.yul\":607:636 */\n swap1\n pop\n /* \"#utility.yul\":645:678 */\n tag_46\n /* \"#utility.yul\":672:677 */\n dup2\n /* \"#utility.yul\":645:678 */\n tag_33\n jump\t// in\n tag_46:\n /* \"#utility.yul\":545:684 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":690:1019 */\n tag_9:\n /* \"#utility.yul\":749:755 */\n 0x00\n /* \"#utility.yul\":798:800 */\n 0x20\n /* \"#utility.yul\":786:795 */\n dup3\n /* \"#utility.yul\":777:784 */\n dup5\n /* \"#utility.yul\":773:796 */\n sub\n /* \"#utility.yul\":769:801 */\n slt\n /* \"#utility.yul\":766:885 */\n iszero\n tag_48\n jumpi\n /* \"#utility.yul\":804:883 */\n tag_49\n tag_30\n jump\t// in\n tag_49:\n /* \"#utility.yul\":766:885 */\n tag_48:\n /* \"#utility.yul\":924:925 */\n 0x00\n /* \"#utility.yul\":949:1002 */\n tag_50\n /* \"#utility.yul\":994:1001 */\n dup5\n /* \"#utility.yul\":985:991 */\n dup3\n /* \"#utility.yul\":974:983 */\n dup6\n /* \"#utility.yul\":970:992 */\n add\n /* \"#utility.yul\":949:1002 */\n tag_34\n jump\t// in\n tag_50:\n /* \"#utility.yul\":939:1002 */\n swap2\n pop\n /* \"#utility.yul\":895:1012 */\n pop\n /* \"#utility.yul\":690:1019 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1025:1143 */\n tag_35:\n /* \"#utility.yul\":1112:1136 */\n tag_52\n /* \"#utility.yul\":1130:1135 */\n dup2\n /* \"#utility.yul\":1112:1136 */\n tag_32\n jump\t// in\n tag_52:\n /* \"#utility.yul\":1107:1110 */\n dup3\n /* \"#utility.yul\":1100:1137 */\n mstore\n /* \"#utility.yul\":1025:1143 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1149:1371 */\n tag_14:\n /* \"#utility.yul\":1242:1246 */\n 0x00\n /* \"#utility.yul\":1280:1282 */\n 0x20\n /* \"#utility.yul\":1269:1278 */\n dup3\n /* \"#utility.yul\":1265:1283 */\n add\n /* \"#utility.yul\":1257:1283 */\n swap1\n pop\n /* \"#utility.yul\":1293:1364 */\n tag_54\n /* \"#utility.yul\":1361:1362 */\n 0x00\n /* \"#utility.yul\":1350:1359 */\n dup4\n /* \"#utility.yul\":1346:1363 */\n add\n /* \"#utility.yul\":1337:1343 */\n dup5\n /* \"#utility.yul\":1293:1364 */\n tag_35\n jump\t// in\n tag_54:\n /* \"#utility.yul\":1149:1371 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1377:1557 */\n tag_36:\n /* \"#utility.yul\":1425:1502 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":1422:1423 */\n 0x00\n /* \"#utility.yul\":1415:1503 */\n mstore\n /* \"#utility.yul\":1522:1526 */\n 0x11\n /* \"#utility.yul\":1519:1520 */\n 0x04\n /* \"#utility.yul\":1512:1527 */\n mstore\n /* \"#utility.yul\":1546:1550 */\n 0x24\n /* \"#utility.yul\":1543:1544 */\n 0x00\n /* \"#utility.yul\":1536:1551 */\n revert\n /* \"#utility.yul\":1563:1757 */\n tag_23:\n /* \"#utility.yul\":1603:1607 */\n 0x00\n /* \"#utility.yul\":1623:1643 */\n tag_57\n /* \"#utility.yul\":1641:1642 */\n dup3\n /* \"#utility.yul\":1623:1643 */\n tag_32\n jump\t// in\n tag_57:\n /* \"#utility.yul\":1618:1643 */\n swap2\n pop\n /* \"#utility.yul\":1657:1677 */\n tag_58\n /* \"#utility.yul\":1675:1676 */\n dup4\n /* \"#utility.yul\":1657:1677 */\n tag_32\n jump\t// in\n tag_58:\n /* \"#utility.yul\":1652:1677 */\n swap3\n pop\n /* \"#utility.yul\":1701:1702 */\n dup3\n /* \"#utility.yul\":1698:1699 */\n dup3\n /* \"#utility.yul\":1694:1703 */\n sub\n /* \"#utility.yul\":1686:1703 */\n swap1\n pop\n /* \"#utility.yul\":1725:1726 */\n dup2\n /* \"#utility.yul\":1719:1723 */\n dup2\n /* \"#utility.yul\":1716:1727 */\n gt\n /* \"#utility.yul\":1713:1750 */\n iszero\n tag_59\n jumpi\n /* \"#utility.yul\":1730:1748 */\n tag_60\n tag_36\n jump\t// in\n tag_60:\n /* \"#utility.yul\":1713:1750 */\n tag_59:\n /* \"#utility.yul\":1563:1757 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1763:1954 */\n tag_27:\n /* \"#utility.yul\":1803:1806 */\n 0x00\n /* \"#utility.yul\":1822:1842 */\n tag_62\n /* \"#utility.yul\":1840:1841 */\n dup3\n /* \"#utility.yul\":1822:1842 */\n tag_32\n jump\t// in\n tag_62:\n /* \"#utility.yul\":1817:1842 */\n swap2\n pop\n /* \"#utility.yul\":1856:1876 */\n tag_63\n /* \"#utility.yul\":1874:1875 */\n dup4\n /* \"#utility.yul\":1856:1876 */\n tag_32\n jump\t// in\n tag_63:\n /* \"#utility.yul\":1851:1876 */\n swap3\n pop\n /* \"#utility.yul\":1899:1900 */\n dup3\n /* \"#utility.yul\":1896:1897 */\n dup3\n /* \"#utility.yul\":1892:1901 */\n add\n /* \"#utility.yul\":1885:1901 */\n swap1\n pop\n /* \"#utility.yul\":1920:1923 */\n dup1\n /* \"#utility.yul\":1917:1918 */\n dup3\n /* \"#utility.yul\":1914:1924 */\n gt\n /* \"#utility.yul\":1911:1947 */\n iszero\n tag_64\n jumpi\n /* \"#utility.yul\":1927:1945 */\n tag_65\n tag_36\n jump\t// in\n tag_65:\n /* \"#utility.yul\":1911:1947 */\n tag_64:\n /* \"#utility.yul\":1763:1954 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n\n auxdata: 0xa264697066735822122051b8a940d0b14c9ea24ac86bc80b720542afe7fd1704ed1cd865e0e0396e52f964736f6c63430008180033\n}\n",
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561000f575f80fd5b5061024e8061001d5f395ff3fe608060405234801561000f575f80fd5b506004361061004a575f3560e01c80633a9ebefd1461004e5780636d4ce63c1461006a5780637cf5dab014610088578063fe4b84df146100a4575b5f80fd5b61006860048036038101906100639190610132565b6100c0565b005b6100726100d5565b60405161007f919061016c565b60405180910390f35b6100a2600480360381019061009d9190610132565b6100dd565b005b6100be60048036038101906100b99190610132565b6100f2565b005b805f546100cd91906101b2565b5f8190555050565b5f8054905090565b805f546100ea91906101e5565b5f8190555050565b805f8190555050565b5f80fd5b5f819050919050565b610111816100ff565b811461011b575f80fd5b50565b5f8135905061012c81610108565b92915050565b5f60208284031215610147576101466100fb565b5b5f6101548482850161011e565b91505092915050565b610166816100ff565b82525050565b5f60208201905061017f5f83018461015d565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6101bc826100ff565b91506101c7836100ff565b92508282039050818111156101df576101de610185565b5b92915050565b5f6101ef826100ff565b91506101fa836100ff565b925082820190508082111561021257610211610185565b5b9291505056fea264697066735822122051b8a940d0b14c9ea24ac86bc80b720542afe7fd1704ed1cd865e0e0396e52f964736f6c63430008180033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0x24E DUP1 PUSH2 0x1D PUSH0 CODECOPY PUSH0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4A JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x3A9EBEFD EQ PUSH2 0x4E JUMPI DUP1 PUSH4 0x6D4CE63C EQ PUSH2 0x6A JUMPI DUP1 PUSH4 0x7CF5DAB0 EQ PUSH2 0x88 JUMPI DUP1 PUSH4 0xFE4B84DF EQ PUSH2 0xA4 JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0x68 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x63 SWAP2 SWAP1 PUSH2 0x132 JUMP JUMPDEST PUSH2 0xC0 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x72 PUSH2 0xD5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x7F SWAP2 SWAP1 PUSH2 0x16C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xA2 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x9D SWAP2 SWAP1 PUSH2 0x132 JUMP JUMPDEST PUSH2 0xDD JUMP JUMPDEST STOP JUMPDEST PUSH2 0xBE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xB9 SWAP2 SWAP1 PUSH2 0x132 JUMP JUMPDEST PUSH2 0xF2 JUMP JUMPDEST STOP JUMPDEST DUP1 PUSH0 SLOAD PUSH2 0xCD SWAP2 SWAP1 PUSH2 0x1B2 JUMP JUMPDEST PUSH0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST DUP1 PUSH0 SLOAD PUSH2 0xEA SWAP2 SWAP1 PUSH2 0x1E5 JUMP JUMPDEST PUSH0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST DUP1 PUSH0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x111 DUP2 PUSH2 0xFF JUMP JUMPDEST DUP2 EQ PUSH2 0x11B JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x12C DUP2 PUSH2 0x108 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x147 JUMPI PUSH2 0x146 PUSH2 0xFB JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x154 DUP5 DUP3 DUP6 ADD PUSH2 0x11E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x166 DUP2 PUSH2 0xFF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x17F PUSH0 DUP4 ADD DUP5 PUSH2 0x15D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH2 0x1BC DUP3 PUSH2 0xFF JUMP JUMPDEST SWAP2 POP PUSH2 0x1C7 DUP4 PUSH2 0xFF JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x1DF JUMPI PUSH2 0x1DE PUSH2 0x185 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x1EF DUP3 PUSH2 0xFF JUMP JUMPDEST SWAP2 POP PUSH2 0x1FA DUP4 PUSH2 0xFF JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x212 JUMPI PUSH2 0x211 PUSH2 0x185 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 MLOAD 0xB8 0xA9 BLOCKHASH 0xD0 0xB1 0x4C SWAP15 LOG2 BLOBBASEFEE 0xC8 PUSH12 0xC80B720542AFE7FD1704ED1C 0xD8 PUSH6 0xE0E0396E52F9 PUSH5 0x736F6C6343 STOP ADDMOD XOR STOP CALLER ",
"sourceMap": "131:372:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@decrement_45": {
"entryPoint": 192,
"id": 45,
"parameterSlots": 1,
"returnSlots": 0
},
"@get_21": {
"entryPoint": 213,
"id": 21,
"parameterSlots": 0,
"returnSlots": 1
},
"@increment_33": {
"entryPoint": 221,
"id": 33,
"parameterSlots": 1,
"returnSlots": 0
},
"@initialize_13": {
"entryPoint": 242,
"id": 13,
"parameterSlots": 1,
"returnSlots": 0
},
"abi_decode_t_uint256": {
"entryPoint": 286,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 306,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 349,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 364,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"checked_add_t_uint256": {
"entryPoint": 485,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_sub_t_uint256": {
"entryPoint": 434,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 255,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x11": {
"entryPoint": 389,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 251,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 264,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nativeSrc": "0:1957:1",
"nodeType": "YulBlock",
"src": "0:1957:1",
"statements": [
{
"body": {
"nativeSrc": "47:35:1",
"nodeType": "YulBlock",
"src": "47:35:1",
"statements": [
{
"nativeSrc": "57:19:1",
"nodeType": "YulAssignment",
"src": "57:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nativeSrc": "73:2:1",
"nodeType": "YulLiteral",
"src": "73:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "67:5:1",
"nodeType": "YulIdentifier",
"src": "67:5:1"
},
"nativeSrc": "67:9:1",
"nodeType": "YulFunctionCall",
"src": "67:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nativeSrc": "57:6:1",
"nodeType": "YulIdentifier",
"src": "57:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nativeSrc": "7:75:1",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nativeSrc": "40:6:1",
"nodeType": "YulTypedName",
"src": "40:6:1",
"type": ""
}
],
"src": "7:75:1"
},
{
"body": {
"nativeSrc": "177:28:1",
"nodeType": "YulBlock",
"src": "177:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "194:1:1",
"nodeType": "YulLiteral",
"src": "194:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "197:1:1",
"nodeType": "YulLiteral",
"src": "197:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "187:6:1",
"nodeType": "YulIdentifier",
"src": "187:6:1"
},
"nativeSrc": "187:12:1",
"nodeType": "YulFunctionCall",
"src": "187:12:1"
},
"nativeSrc": "187:12:1",
"nodeType": "YulExpressionStatement",
"src": "187:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "88:117:1",
"nodeType": "YulFunctionDefinition",
"src": "88:117:1"
},
{
"body": {
"nativeSrc": "300:28:1",
"nodeType": "YulBlock",
"src": "300:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "317:1:1",
"nodeType": "YulLiteral",
"src": "317:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "320:1:1",
"nodeType": "YulLiteral",
"src": "320:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "310:6:1",
"nodeType": "YulIdentifier",
"src": "310:6:1"
},
"nativeSrc": "310:12:1",
"nodeType": "YulFunctionCall",
"src": "310:12:1"
},
"nativeSrc": "310:12:1",
"nodeType": "YulExpressionStatement",
"src": "310:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nativeSrc": "211:117:1",
"nodeType": "YulFunctionDefinition",
"src": "211:117:1"
},
{
"body": {
"nativeSrc": "379:32:1",
"nodeType": "YulBlock",
"src": "379:32:1",
"statements": [
{
"nativeSrc": "389:16:1",
"nodeType": "YulAssignment",
"src": "389:16:1",
"value": {
"name": "value",
"nativeSrc": "400:5:1",
"nodeType": "YulIdentifier",
"src": "400:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "389:7:1",
"nodeType": "YulIdentifier",
"src": "389:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nativeSrc": "334:77:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "361:5:1",
"nodeType": "YulTypedName",
"src": "361:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "371:7:1",
"nodeType": "YulTypedName",
"src": "371:7:1",
"type": ""
}
],
"src": "334:77:1"
},
{
"body": {
"nativeSrc": "460:79:1",
"nodeType": "YulBlock",
"src": "460:79:1",
"statements": [
{
"body": {
"nativeSrc": "517:16:1",
"nodeType": "YulBlock",
"src": "517:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "526:1:1",
"nodeType": "YulLiteral",
"src": "526:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "529:1:1",
"nodeType": "YulLiteral",
"src": "529:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "519:6:1",
"nodeType": "YulIdentifier",
"src": "519:6:1"
},
"nativeSrc": "519:12:1",
"nodeType": "YulFunctionCall",
"src": "519:12:1"
},
"nativeSrc": "519:12:1",
"nodeType": "YulExpressionStatement",
"src": "519:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "483:5:1",
"nodeType": "YulIdentifier",
"src": "483:5:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "508:5:1",
"nodeType": "YulIdentifier",
"src": "508:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "490:17:1",
"nodeType": "YulIdentifier",
"src": "490:17:1"
},
"nativeSrc": "490:24:1",
"nodeType": "YulFunctionCall",
"src": "490:24:1"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "480:2:1",
"nodeType": "YulIdentifier",
"src": "480:2:1"
},
"nativeSrc": "480:35:1",
"nodeType": "YulFunctionCall",
"src": "480:35:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "473:6:1",
"nodeType": "YulIdentifier",
"src": "473:6:1"
},
"nativeSrc": "473:43:1",
"nodeType": "YulFunctionCall",
"src": "473:43:1"
},
"nativeSrc": "470:63:1",
"nodeType": "YulIf",
"src": "470:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nativeSrc": "417:122:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "453:5:1",
"nodeType": "YulTypedName",
"src": "453:5:1",
"type": ""
}
],
"src": "417:122:1"
},
{
"body": {
"nativeSrc": "597:87:1",
"nodeType": "YulBlock",
"src": "597:87:1",
"statements": [
{
"nativeSrc": "607:29:1",
"nodeType": "YulAssignment",
"src": "607:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nativeSrc": "629:6:1",
"nodeType": "YulIdentifier",
"src": "629:6:1"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "616:12:1",
"nodeType": "YulIdentifier",
"src": "616:12:1"
},
"nativeSrc": "616:20:1",
"nodeType": "YulFunctionCall",
"src": "616:20:1"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "607:5:1",
"nodeType": "YulIdentifier",
"src": "607:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nativeSrc": "672:5:1",
"nodeType": "YulIdentifier",
"src": "672:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nativeSrc": "645:26:1",
"nodeType": "YulIdentifier",
"src": "645:26:1"
},
"nativeSrc": "645:33:1",
"nodeType": "YulFunctionCall",
"src": "645:33:1"
},
"nativeSrc": "645:33:1",
"nodeType": "YulExpressionStatement",
"src": "645:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nativeSrc": "545:139:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nativeSrc": "575:6:1",
"nodeType": "YulTypedName",
"src": "575:6:1",
"type": ""
},
{
"name": "end",
"nativeSrc": "583:3:1",
"nodeType": "YulTypedName",
"src": "583:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nativeSrc": "591:5:1",
"nodeType": "YulTypedName",
"src": "591:5:1",
"type": ""
}
],
"src": "545:139:1"
},
{
"body": {
"nativeSrc": "756:263:1",
"nodeType": "YulBlock",
"src": "756:263:1",
"statements": [
{
"body": {
"nativeSrc": "802:83:1",
"nodeType": "YulBlock",
"src": "802:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "804:77:1",
"nodeType": "YulIdentifier",
"src": "804:77:1"
},
"nativeSrc": "804:79:1",
"nodeType": "YulFunctionCall",
"src": "804:79:1"
},
"nativeSrc": "804:79:1",
"nodeType": "YulExpressionStatement",
"src": "804:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "777:7:1",
"nodeType": "YulIdentifier",
"src": "777:7:1"
},
{
"name": "headStart",
"nativeSrc": "786:9:1",
"nodeType": "YulIdentifier",
"src": "786:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "773:3:1",
"nodeType": "YulIdentifier",
"src": "773:3:1"
},
"nativeSrc": "773:23:1",
"nodeType": "YulFunctionCall",
"src": "773:23:1"
},
{
"kind": "number",
"nativeSrc": "798:2:1",
"nodeType": "YulLiteral",
"src": "798:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "769:3:1",
"nodeType": "YulIdentifier",
"src": "769:3:1"
},
"nativeSrc": "769:32:1",
"nodeType": "YulFunctionCall",
"src": "769:32:1"
},
"nativeSrc": "766:119:1",
"nodeType": "YulIf",
"src": "766:119:1"
},
{
"nativeSrc": "895:117:1",
"nodeType": "YulBlock",
"src": "895:117:1",
"statements": [
{
"nativeSrc": "910:15:1",
"nodeType": "YulVariableDeclaration",
"src": "910:15:1",
"value": {
"kind": "number",
"nativeSrc": "924:1:1",
"nodeType": "YulLiteral",
"src": "924:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nativeSrc": "914:6:1",
"nodeType": "YulTypedName",
"src": "914:6:1",
"type": ""
}
]
},
{
"nativeSrc": "939:63:1",
"nodeType": "YulAssignment",
"src": "939:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "974:9:1",
"nodeType": "YulIdentifier",
"src": "974:9:1"
},
{
"name": "offset",
"nativeSrc": "985:6:1",
"nodeType": "YulIdentifier",
"src": "985:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "970:3:1",
"nodeType": "YulIdentifier",
"src": "970:3:1"
},
"nativeSrc": "970:22:1",
"nodeType": "YulFunctionCall",
"src": "970:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "994:7:1",
"nodeType": "YulIdentifier",
"src": "994:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nativeSrc": "949:20:1",
"nodeType": "YulIdentifier",
"src": "949:20:1"
},
"nativeSrc": "949:53:1",
"nodeType": "YulFunctionCall",
"src": "949:53:1"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "939:6:1",
"nodeType": "YulIdentifier",
"src": "939:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nativeSrc": "690:329:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "726:9:1",
"nodeType": "YulTypedName",
"src": "726:9:1",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "737:7:1",
"nodeType": "YulTypedName",
"src": "737:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "749:6:1",
"nodeType": "YulTypedName",
"src": "749:6:1",
"type": ""
}
],
"src": "690:329:1"
},
{
"body": {
"nativeSrc": "1090:53:1",
"nodeType": "YulBlock",
"src": "1090:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "1107:3:1",
"nodeType": "YulIdentifier",
"src": "1107:3:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "1130:5:1",
"nodeType": "YulIdentifier",
"src": "1130:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "1112:17:1",
"nodeType": "YulIdentifier",
"src": "1112:17:1"
},
"nativeSrc": "1112:24:1",
"nodeType": "YulFunctionCall",
"src": "1112:24:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1100:6:1",
"nodeType": "YulIdentifier",
"src": "1100:6:1"
},
"nativeSrc": "1100:37:1",
"nodeType": "YulFunctionCall",
"src": "1100:37:1"
},
"nativeSrc": "1100:37:1",
"nodeType": "YulExpressionStatement",
"src": "1100:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nativeSrc": "1025:118:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1078:5:1",
"nodeType": "YulTypedName",
"src": "1078:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "1085:3:1",
"nodeType": "YulTypedName",
"src": "1085:3:1",
"type": ""
}
],
"src": "1025:118:1"
},
{
"body": {
"nativeSrc": "1247:124:1",
"nodeType": "YulBlock",
"src": "1247:124:1",
"statements": [
{
"nativeSrc": "1257:26:1",
"nodeType": "YulAssignment",
"src": "1257:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "1269:9:1",
"nodeType": "YulIdentifier",
"src": "1269:9:1"
},
{
"kind": "number",
"nativeSrc": "1280:2:1",
"nodeType": "YulLiteral",
"src": "1280:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1265:3:1",
"nodeType": "YulIdentifier",
"src": "1265:3:1"
},
"nativeSrc": "1265:18:1",
"nodeType": "YulFunctionCall",
"src": "1265:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "1257:4:1",
"nodeType": "YulIdentifier",
"src": "1257:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "1337:6:1",
"nodeType": "YulIdentifier",
"src": "1337:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "1350:9:1",
"nodeType": "YulIdentifier",
"src": "1350:9:1"
},
{
"kind": "number",
"nativeSrc": "1361:1:1",
"nodeType": "YulLiteral",
"src": "1361:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1346:3:1",
"nodeType": "YulIdentifier",
"src": "1346:3:1"
},
"nativeSrc": "1346:17:1",
"nodeType": "YulFunctionCall",
"src": "1346:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nativeSrc": "1293:43:1",
"nodeType": "YulIdentifier",
"src": "1293:43:1"
},
"nativeSrc": "1293:71:1",
"nodeType": "YulFunctionCall",
"src": "1293:71:1"
},
"nativeSrc": "1293:71:1",
"nodeType": "YulExpressionStatement",
"src": "1293:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nativeSrc": "1149:222:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "1219:9:1",
"nodeType": "YulTypedName",
"src": "1219:9:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "1231:6:1",
"nodeType": "YulTypedName",
"src": "1231:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "1242:4:1",
"nodeType": "YulTypedName",
"src": "1242:4:1",
"type": ""
}
],
"src": "1149:222:1"
},
{
"body": {
"nativeSrc": "1405:152:1",
"nodeType": "YulBlock",
"src": "1405:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1422:1:1",
"nodeType": "YulLiteral",
"src": "1422:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "1425:77:1",
"nodeType": "YulLiteral",
"src": "1425:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1415:6:1",
"nodeType": "YulIdentifier",
"src": "1415:6:1"
},
"nativeSrc": "1415:88:1",
"nodeType": "YulFunctionCall",
"src": "1415:88:1"
},
"nativeSrc": "1415:88:1",
"nodeType": "YulExpressionStatement",
"src": "1415:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1519:1:1",
"nodeType": "YulLiteral",
"src": "1519:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nativeSrc": "1522:4:1",
"nodeType": "YulLiteral",
"src": "1522:4:1",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1512:6:1",
"nodeType": "YulIdentifier",
"src": "1512:6:1"
},
"nativeSrc": "1512:15:1",
"nodeType": "YulFunctionCall",
"src": "1512:15:1"
},
"nativeSrc": "1512:15:1",
"nodeType": "YulExpressionStatement",
"src": "1512:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1543:1:1",
"nodeType": "YulLiteral",
"src": "1543:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "1546:4:1",
"nodeType": "YulLiteral",
"src": "1546:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "1536:6:1",
"nodeType": "YulIdentifier",
"src": "1536:6:1"
},
"nativeSrc": "1536:15:1",
"nodeType": "YulFunctionCall",
"src": "1536:15:1"
},
"nativeSrc": "1536:15:1",
"nodeType": "YulExpressionStatement",
"src": "1536:15:1"
}
]
},
"name": "panic_error_0x11",
"nativeSrc": "1377:180:1",
"nodeType": "YulFunctionDefinition",
"src": "1377:180:1"
},
{
"body": {
"nativeSrc": "1608:149:1",
"nodeType": "YulBlock",
"src": "1608:149:1",
"statements": [
{
"nativeSrc": "1618:25:1",
"nodeType": "YulAssignment",
"src": "1618:25:1",
"value": {
"arguments": [
{
"name": "x",
"nativeSrc": "1641:1:1",
"nodeType": "YulIdentifier",
"src": "1641:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "1623:17:1",
"nodeType": "YulIdentifier",
"src": "1623:17:1"
},
"nativeSrc": "1623:20:1",
"nodeType": "YulFunctionCall",
"src": "1623:20:1"
},
"variableNames": [
{
"name": "x",
"nativeSrc": "1618:1:1",
"nodeType": "YulIdentifier",
"src": "1618:1:1"
}
]
},
{
"nativeSrc": "1652:25:1",
"nodeType": "YulAssignment",
"src": "1652:25:1",
"value": {
"arguments": [
{
"name": "y",
"nativeSrc": "1675:1:1",
"nodeType": "YulIdentifier",
"src": "1675:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "1657:17:1",
"nodeType": "YulIdentifier",
"src": "1657:17:1"
},
"nativeSrc": "1657:20:1",
"nodeType": "YulFunctionCall",
"src": "1657:20:1"
},
"variableNames": [
{
"name": "y",
"nativeSrc": "1652:1:1",
"nodeType": "YulIdentifier",
"src": "1652:1:1"
}
]
},
{
"nativeSrc": "1686:17:1",
"nodeType": "YulAssignment",
"src": "1686:17:1",
"value": {
"arguments": [
{
"name": "x",
"nativeSrc": "1698:1:1",
"nodeType": "YulIdentifier",
"src": "1698:1:1"
},
{
"name": "y",
"nativeSrc": "1701:1:1",
"nodeType": "YulIdentifier",
"src": "1701:1:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "1694:3:1",
"nodeType": "YulIdentifier",
"src": "1694:3:1"
},
"nativeSrc": "1694:9:1",
"nodeType": "YulFunctionCall",
"src": "1694:9:1"
},
"variableNames": [
{
"name": "diff",
"nativeSrc": "1686:4:1",
"nodeType": "YulIdentifier",
"src": "1686:4:1"
}
]
},
{
"body": {
"nativeSrc": "1728:22:1",
"nodeType": "YulBlock",
"src": "1728:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nativeSrc": "1730:16:1",
"nodeType": "YulIdentifier",
"src": "1730:16:1"
},
"nativeSrc": "1730:18:1",
"nodeType": "YulFunctionCall",
"src": "1730:18:1"
},
"nativeSrc": "1730:18:1",
"nodeType": "YulExpressionStatement",
"src": "1730:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "diff",
"nativeSrc": "1719:4:1",
"nodeType": "YulIdentifier",
"src": "1719:4:1"
},
{
"name": "x",
"nativeSrc": "1725:1:1",
"nodeType": "YulIdentifier",
"src": "1725:1:1"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "1716:2:1",
"nodeType": "YulIdentifier",
"src": "1716:2:1"
},
"nativeSrc": "1716:11:1",
"nodeType": "YulFunctionCall",
"src": "1716:11:1"
},
"nativeSrc": "1713:37:1",
"nodeType": "YulIf",
"src": "1713:37:1"
}
]
},
"name": "checked_sub_t_uint256",
"nativeSrc": "1563:194:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nativeSrc": "1594:1:1",
"nodeType": "YulTypedName",
"src": "1594:1:1",
"type": ""
},
{
"name": "y",
"nativeSrc": "1597:1:1",
"nodeType": "YulTypedName",
"src": "1597:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "diff",
"nativeSrc": "1603:4:1",
"nodeType": "YulTypedName",
"src": "1603:4:1",
"type": ""
}
],
"src": "1563:194:1"
},
{
"body": {
"nativeSrc": "1807:147:1",
"nodeType": "YulBlock",
"src": "1807:147:1",
"statements": [
{
"nativeSrc": "1817:25:1",
"nodeType": "YulAssignment",
"src": "1817:25:1",
"value": {
"arguments": [
{
"name": "x",
"nativeSrc": "1840:1:1",
"nodeType": "YulIdentifier",
"src": "1840:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "1822:17:1",
"nodeType": "YulIdentifier",
"src": "1822:17:1"
},
"nativeSrc": "1822:20:1",
"nodeType": "YulFunctionCall",
"src": "1822:20:1"
},
"variableNames": [
{
"name": "x",
"nativeSrc": "1817:1:1",
"nodeType": "YulIdentifier",
"src": "1817:1:1"
}
]
},
{
"nativeSrc": "1851:25:1",
"nodeType": "YulAssignment",
"src": "1851:25:1",
"value": {
"arguments": [
{
"name": "y",
"nativeSrc": "1874:1:1",
"nodeType": "YulIdentifier",
"src": "1874:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "1856:17:1",
"nodeType": "YulIdentifier",
"src": "1856:17:1"
},
"nativeSrc": "1856:20:1",
"nodeType": "YulFunctionCall",
"src": "1856:20:1"
},
"variableNames": [
{
"name": "y",
"nativeSrc": "1851:1:1",
"nodeType": "YulIdentifier",
"src": "1851:1:1"
}
]
},
{
"nativeSrc": "1885:16:1",
"nodeType": "YulAssignment",
"src": "1885:16:1",
"value": {
"arguments": [
{
"name": "x",
"nativeSrc": "1896:1:1",
"nodeType": "YulIdentifier",
"src": "1896:1:1"
},
{
"name": "y",
"nativeSrc": "1899:1:1",
"nodeType": "YulIdentifier",
"src": "1899:1:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1892:3:1",
"nodeType": "YulIdentifier",
"src": "1892:3:1"
},
"nativeSrc": "1892:9:1",
"nodeType": "YulFunctionCall",
"src": "1892:9:1"
},
"variableNames": [
{
"name": "sum",
"nativeSrc": "1885:3:1",
"nodeType": "YulIdentifier",
"src": "1885:3:1"
}
]
},
{
"body": {
"nativeSrc": "1925:22:1",
"nodeType": "YulBlock",
"src": "1925:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nativeSrc": "1927:16:1",
"nodeType": "YulIdentifier",
"src": "1927:16:1"
},
"nativeSrc": "1927:18:1",
"nodeType": "YulFunctionCall",
"src": "1927:18:1"
},
"nativeSrc": "1927:18:1",
"nodeType": "YulExpressionStatement",
"src": "1927:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nativeSrc": "1917:1:1",
"nodeType": "YulIdentifier",
"src": "1917:1:1"
},
{
"name": "sum",
"nativeSrc": "1920:3:1",
"nodeType": "YulIdentifier",
"src": "1920:3:1"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "1914:2:1",
"nodeType": "YulIdentifier",
"src": "1914:2:1"
},
"nativeSrc": "1914:10:1",
"nodeType": "YulFunctionCall",
"src": "1914:10:1"
},
"nativeSrc": "1911:36:1",
"nodeType": "YulIf",
"src": "1911:36:1"
}
]
},
"name": "checked_add_t_uint256",
"nativeSrc": "1763:191:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nativeSrc": "1794:1:1",
"nodeType": "YulTypedName",
"src": "1794:1:1",
"type": ""
},
{
"name": "y",
"nativeSrc": "1797:1:1",
"nodeType": "YulTypedName",
"src": "1797:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "sum",
"nativeSrc": "1803:3:1",
"nodeType": "YulTypedName",
"src": "1803:3:1",
"type": ""
}
],
"src": "1763:191:1"
}
]
},
"contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n diff := sub(x, y)\n\n if gt(diff, x) { panic_error_0x11() }\n\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n sum := add(x, y)\n\n if gt(x, sum) { panic_error_0x11() }\n\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561000f575f80fd5b506004361061004a575f3560e01c80633a9ebefd1461004e5780636d4ce63c1461006a5780637cf5dab014610088578063fe4b84df146100a4575b5f80fd5b61006860048036038101906100639190610132565b6100c0565b005b6100726100d5565b60405161007f919061016c565b60405180910390f35b6100a2600480360381019061009d9190610132565b6100dd565b005b6100be60048036038101906100b99190610132565b6100f2565b005b805f546100cd91906101b2565b5f8190555050565b5f8054905090565b805f546100ea91906101e5565b5f8190555050565b805f8190555050565b5f80fd5b5f819050919050565b610111816100ff565b811461011b575f80fd5b50565b5f8135905061012c81610108565b92915050565b5f60208284031215610147576101466100fb565b5b5f6101548482850161011e565b91505092915050565b610166816100ff565b82525050565b5f60208201905061017f5f83018461015d565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6101bc826100ff565b91506101c7836100ff565b92508282039050818111156101df576101de610185565b5b92915050565b5f6101ef826100ff565b91506101fa836100ff565b925082820190508082111561021257610211610185565b5b9291505056fea264697066735822122051b8a940d0b14c9ea24ac86bc80b720542afe7fd1704ed1cd865e0e0396e52f964736f6c63430008180033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4A JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x3A9EBEFD EQ PUSH2 0x4E JUMPI DUP1 PUSH4 0x6D4CE63C EQ PUSH2 0x6A JUMPI DUP1 PUSH4 0x7CF5DAB0 EQ PUSH2 0x88 JUMPI DUP1 PUSH4 0xFE4B84DF EQ PUSH2 0xA4 JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0x68 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x63 SWAP2 SWAP1 PUSH2 0x132 JUMP JUMPDEST PUSH2 0xC0 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x72 PUSH2 0xD5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x7F SWAP2 SWAP1 PUSH2 0x16C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xA2 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x9D SWAP2 SWAP1 PUSH2 0x132 JUMP JUMPDEST PUSH2 0xDD JUMP JUMPDEST STOP JUMPDEST PUSH2 0xBE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xB9 SWAP2 SWAP1 PUSH2 0x132 JUMP JUMPDEST PUSH2 0xF2 JUMP JUMPDEST STOP JUMPDEST DUP1 PUSH0 SLOAD PUSH2 0xCD SWAP2 SWAP1 PUSH2 0x1B2 JUMP JUMPDEST PUSH0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST DUP1 PUSH0 SLOAD PUSH2 0xEA SWAP2 SWAP1 PUSH2 0x1E5 JUMP JUMPDEST PUSH0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST DUP1 PUSH0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x111 DUP2 PUSH2 0xFF JUMP JUMPDEST DUP2 EQ PUSH2 0x11B JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x12C DUP2 PUSH2 0x108 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x147 JUMPI PUSH2 0x146 PUSH2 0xFB JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x154 DUP5 DUP3 DUP6 ADD PUSH2 0x11E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x166 DUP2 PUSH2 0xFF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x17F PUSH0 DUP4 ADD DUP5 PUSH2 0x15D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH2 0x1BC DUP3 PUSH2 0xFF JUMP JUMPDEST SWAP2 POP PUSH2 0x1C7 DUP4 PUSH2 0xFF JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x1DF JUMPI PUSH2 0x1DE PUSH2 0x185 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x1EF DUP3 PUSH2 0xFF JUMP JUMPDEST SWAP2 POP PUSH2 0x1FA DUP4 PUSH2 0xFF JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x212 JUMPI PUSH2 0x211 PUSH2 0x185 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 MLOAD 0xB8 0xA9 BLOCKHASH 0xD0 0xB1 0x4C SWAP15 LOG2 BLOBBASEFEE 0xC8 PUSH12 0xC80B720542AFE7FD1704ED1C 0xD8 PUSH6 0xE0E0396E52F9 PUSH5 0x736F6C6343 STOP ADDMOD XOR STOP CALLER ",
"sourceMap": "131:372:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;430:71;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;244:74;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;324:100;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;174:64;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;430:71;493:1;485:5;;:9;;;;:::i;:::-;477:5;:17;;;;430:71;:::o;244:74::-;280:7;306:5;;299:12;;244:74;:::o;324:100::-;387:1;379:5;;:9;;;;:::i;:::-;371:5;:17;;;;324:100;:::o;174:64::-;230:1;222:5;:9;;;;174:64;:::o;88:117:1:-;197:1;194;187:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:329::-;749:6;798:2;786:9;777:7;773:23;769:32;766:119;;;804:79;;:::i;:::-;766:119;924:1;949:53;994:7;985:6;974:9;970:22;949:53;:::i;:::-;939:63;;895:117;690:329;;;;:::o;1025:118::-;1112:24;1130:5;1112:24;:::i;:::-;1107:3;1100:37;1025:118;;:::o;1149:222::-;1242:4;1280:2;1269:9;1265:18;1257:26;;1293:71;1361:1;1350:9;1346:17;1337:6;1293:71;:::i;:::-;1149:222;;;;:::o;1377:180::-;1425:77;1422:1;1415:88;1522:4;1519:1;1512:15;1546:4;1543:1;1536:15;1563:194;1603:4;1623:20;1641:1;1623:20;:::i;:::-;1618:25;;1657:20;1675:1;1657:20;:::i;:::-;1652:25;;1701:1;1698;1694:9;1686:17;;1725:1;1719:4;1716:11;1713:37;;;1730:18;;:::i;:::-;1713:37;1563:194;;;;:::o;1763:191::-;1803:3;1822:20;1840:1;1822:20;:::i;:::-;1817:25;;1856:20;1874:1;1856:20;:::i;:::-;1851:25;;1899:1;1896;1892:9;1885:16;;1920:3;1917:1;1914:10;1911:36;;;1927:18;;:::i;:::-;1911:36;1763:191;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "118000",
"executionCost": "163",
"totalCost": "118163"
},
"external": {
"decrement(uint256)": "infinite",
"get()": "2432",
"increment(uint256)": "infinite",
"initialize(uint256)": "22558"
}
},
"legacyAssembly": {
".code": [
{
"begin": 131,
"end": 503,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 131,
"end": 503,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 131,
"end": 503,
"name": "MSTORE",
"source": 0
},
{
"begin": 131,
"end": 503,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 131,
"end": 503,
"name": "DUP1",
"source": 0
},
{
"begin": 131,
"end": 503,
"name": "ISZERO",
"source": 0
},
{
"begin": 131,
"end": 503,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 131,
"end": 503,
"name": "JUMPI",
"source": 0
},
{
"begin": 131,
"end": 503,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 131,
"end": 503,
"name": "DUP1",
"source": 0
},
{
"begin": 131,
"end": 503,
"name": "REVERT",
"source": 0
},
{
"begin": 131,
"end": 503,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 131,
"end": 503,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 131,
"end": 503,
"name": "POP",
"source": 0
},
{
"begin": 131,
"end": 503,
"name": "PUSH #[$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 131,
"end": 503,
"name": "DUP1",
"source": 0
},
{
"begin": 131,
"end": 503,
"name": "PUSH [$]",
"source": 0,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 131,
"end": 503,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 131,
"end": 503,
"name": "CODECOPY",
"source": 0
},
{
"begin": 131,
"end": 503,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 131,
"end": 503,
"name": "RETURN",
"source": 0
}
],
".data": {
"0": {
".auxdata": "a264697066735822122051b8a940d0b14c9ea24ac86bc80b720542afe7fd1704ed1cd865e0e0396e52f964736f6c63430008180033",
".code": [
{
"begin": 131,
"end": 503,
"name": "PUSH",
"source": 0,
"value": "80"
},
{
"begin": 131,
"end": 503,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 131,
"end": 503,
"name": "MSTORE",
"source": 0
},
{
"begin": 131,
"end": 503,
"name": "CALLVALUE",
"source": 0
},
{
"begin": 131,
"end": 503,
"name": "DUP1",
"source": 0
},
{
"begin": 131,
"end": 503,
"name": "ISZERO",
"source": 0
},
{
"begin": 131,
"end": 503,
"name": "PUSH [tag]",
"source": 0,
"value": "1"
},
{
"begin": 131,
"end": 503,
"name": "JUMPI",
"source": 0
},
{
"begin": 131,
"end": 503,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 131,
"end": 503,
"name": "DUP1",
"source": 0
},
{
"begin": 131,
"end": 503,
"name": "REVERT",
"source": 0
},
{
"begin": 131,
"end": 503,
"name": "tag",
"source": 0,
"value": "1"
},
{
"begin": 131,
"end": 503,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 131,
"end": 503,
"name": "POP",
"source": 0
},
{
"begin": 131,
"end": 503,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 131,
"end": 503,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 131,
"end": 503,
"name": "LT",
"source": 0
},
{
"begin": 131,
"end": 503,
"name": "PUSH [tag]",
"source": 0,
"value": "2"
},
{
"begin": 131,
"end": 503,
"name": "JUMPI",
"source": 0
},
{
"begin": 131,
"end": 503,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 131,
"end": 503,
"name": "CALLDATALOAD",
"source": 0
},
{
"begin": 131,
"end": 503,
"name": "PUSH",
"source": 0,
"value": "E0"
},
{
"begin": 131,
"end": 503,
"name": "SHR",
"source": 0
},
{
"begin": 131,
"end": 503,
"name": "DUP1",
"source": 0
},
{
"begin": 131,
"end": 503,
"name": "PUSH",
"source": 0,
"value": "3A9EBEFD"
},
{
"begin": 131,
"end": 503,
"name": "EQ",
"source": 0
},
{
"begin": 131,
"end": 503,
"name": "PUSH [tag]",
"source": 0,
"value": "3"
},
{
"begin": 131,
"end": 503,
"name": "JUMPI",
"source": 0
},
{
"begin": 131,
"end": 503,
"name": "DUP1",
"source": 0
},
{
"begin": 131,
"end": 503,
"name": "PUSH",
"source": 0,
"value": "6D4CE63C"
},
{
"begin": 131,
"end": 503,
"name": "EQ",
"source": 0
},
{
"begin": 131,
"end": 503,
"name": "PUSH [tag]",
"source": 0,
"value": "4"
},
{
"begin": 131,
"end": 503,
"name": "JUMPI",
"source": 0
},
{
"begin": 131,
"end": 503,
"name": "DUP1",
"source": 0
},
{
"begin": 131,
"end": 503,
"name": "PUSH",
"source": 0,
"value": "7CF5DAB0"
},
{
"begin": 131,
"end": 503,
"name": "EQ",
"source": 0
},
{
"begin": 131,
"end": 503,
"name": "PUSH [tag]",
"source": 0,
"value": "5"
},
{
"begin": 131,
"end": 503,
"name": "JUMPI",
"source": 0
},
{
"begin": 131,
"end": 503,
"name": "DUP1",
"source": 0
},
{
"begin": 131,
"end": 503,
"name": "PUSH",
"source": 0,
"value": "FE4B84DF"
},
{
"begin": 131,
"end": 503,
"name": "EQ",
"source": 0
},
{
"begin": 131,
"end": 503,
"name": "PUSH [tag]",
"source": 0,
"value": "6"
},
{
"begin": 131,
"end": 503,
"name": "JUMPI",
"source": 0
},
{
"begin": 131,
"end": 503,
"name": "tag",
"source": 0,
"value": "2"
},
{
"begin": 131,
"end": 503,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 131,
"end": 503,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 131,
"end": 503,
"name": "DUP1",
"source": 0
},
{
"begin": 131,
"end": 503,
"name": "REVERT",
"source": 0
},
{
"begin": 430,
"end": 501,
"name": "tag",
"source": 0,
"value": "3"
},
{
"begin": 430,
"end": 501,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 430,
"end": 501,
"name": "PUSH [tag]",
"source": 0,
"value": "7"
},
{
"begin": 430,
"end": 501,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 430,
"end": 501,
"name": "DUP1",
"source": 0
},
{
"begin": 430,
"end": 501,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 430,
"end": 501,
"name": "SUB",
"source": 0
},
{
"begin": 430,
"end": 501,
"name": "DUP2",
"source": 0
},
{
"begin": 430,
"end": 501,
"name": "ADD",
"source": 0
},
{
"begin": 430,
"end": 501,
"name": "SWAP1",
"source": 0
},
{
"begin": 430,
"end": 501,
"name": "PUSH [tag]",
"source": 0,
"value": "8"
},
{
"begin": 430,
"end": 501,
"name": "SWAP2",
"source": 0
},
{
"begin": 430,
"end": 501,
"name": "SWAP1",
"source": 0
},
{
"begin": 430,
"end": 501,
"name": "PUSH [tag]",
"source": 0,
"value": "9"
},
{
"begin": 430,
"end": 501,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 430,
"end": 501,
"name": "tag",
"source": 0,
"value": "8"
},
{
"begin": 430,
"end": 501,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 430,
"end": 501,
"name": "PUSH [tag]",
"source": 0,
"value": "10"
},
{
"begin": 430,
"end": 501,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 430,
"end": 501,
"name": "tag",
"source": 0,
"value": "7"
},
{
"begin": 430,
"end": 501,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 430,
"end": 501,
"name": "STOP",
"source": 0
},
{
"begin": 244,
"end": 318,
"name": "tag",
"source": 0,
"value": "4"
},
{
"begin": 244,
"end": 318,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 244,
"end": 318,
"name": "PUSH [tag]",
"source": 0,
"value": "11"
},
{
"begin": 244,
"end": 318,
"name": "PUSH [tag]",
"source": 0,
"value": "12"
},
{
"begin": 244,
"end": 318,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 244,
"end": 318,
"name": "tag",
"source": 0,
"value": "11"
},
{
"begin": 244,
"end": 318,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 244,
"end": 318,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 244,
"end": 318,
"name": "MLOAD",
"source": 0
},
{
"begin": 244,
"end": 318,
"name": "PUSH [tag]",
"source": 0,
"value": "13"
},
{
"begin": 244,
"end": 318,
"name": "SWAP2",
"source": 0
},
{
"begin": 244,
"end": 318,
"name": "SWAP1",
"source": 0
},
{
"begin": 244,
"end": 318,
"name": "PUSH [tag]",
"source": 0,
"value": "14"
},
{
"begin": 244,
"end": 318,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 244,
"end": 318,
"name": "tag",
"source": 0,
"value": "13"
},
{
"begin": 244,
"end": 318,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 244,
"end": 318,
"name": "PUSH",
"source": 0,
"value": "40"
},
{
"begin": 244,
"end": 318,
"name": "MLOAD",
"source": 0
},
{
"begin": 244,
"end": 318,
"name": "DUP1",
"source": 0
},
{
"begin": 244,
"end": 318,
"name": "SWAP2",
"source": 0
},
{
"begin": 244,
"end": 318,
"name": "SUB",
"source": 0
},
{
"begin": 244,
"end": 318,
"name": "SWAP1",
"source": 0
},
{
"begin": 244,
"end": 318,
"name": "RETURN",
"source": 0
},
{
"begin": 324,
"end": 424,
"name": "tag",
"source": 0,
"value": "5"
},
{
"begin": 324,
"end": 424,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 324,
"end": 424,
"name": "PUSH [tag]",
"source": 0,
"value": "15"
},
{
"begin": 324,
"end": 424,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 324,
"end": 424,
"name": "DUP1",
"source": 0
},
{
"begin": 324,
"end": 424,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 324,
"end": 424,
"name": "SUB",
"source": 0
},
{
"begin": 324,
"end": 424,
"name": "DUP2",
"source": 0
},
{
"begin": 324,
"end": 424,
"name": "ADD",
"source": 0
},
{
"begin": 324,
"end": 424,
"name": "SWAP1",
"source": 0
},
{
"begin": 324,
"end": 424,
"name": "PUSH [tag]",
"source": 0,
"value": "16"
},
{
"begin": 324,
"end": 424,
"name": "SWAP2",
"source": 0
},
{
"begin": 324,
"end": 424,
"name": "SWAP1",
"source": 0
},
{
"begin": 324,
"end": 424,
"name": "PUSH [tag]",
"source": 0,
"value": "9"
},
{
"begin": 324,
"end": 424,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 324,
"end": 424,
"name": "tag",
"source": 0,
"value": "16"
},
{
"begin": 324,
"end": 424,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 324,
"end": 424,
"name": "PUSH [tag]",
"source": 0,
"value": "17"
},
{
"begin": 324,
"end": 424,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 324,
"end": 424,
"name": "tag",
"source": 0,
"value": "15"
},
{
"begin": 324,
"end": 424,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 324,
"end": 424,
"name": "STOP",
"source": 0
},
{
"begin": 174,
"end": 238,
"name": "tag",
"source": 0,
"value": "6"
},
{
"begin": 174,
"end": 238,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 174,
"end": 238,
"name": "PUSH [tag]",
"source": 0,
"value": "18"
},
{
"begin": 174,
"end": 238,
"name": "PUSH",
"source": 0,
"value": "4"
},
{
"begin": 174,
"end": 238,
"name": "DUP1",
"source": 0
},
{
"begin": 174,
"end": 238,
"name": "CALLDATASIZE",
"source": 0
},
{
"begin": 174,
"end": 238,
"name": "SUB",
"source": 0
},
{
"begin": 174,
"end": 238,
"name": "DUP2",
"source": 0
},
{
"begin": 174,
"end": 238,
"name": "ADD",
"source": 0
},
{
"begin": 174,
"end": 238,
"name": "SWAP1",
"source": 0
},
{
"begin": 174,
"end": 238,
"name": "PUSH [tag]",
"source": 0,
"value": "19"
},
{
"begin": 174,
"end": 238,
"name": "SWAP2",
"source": 0
},
{
"begin": 174,
"end": 238,
"name": "SWAP1",
"source": 0
},
{
"begin": 174,
"end": 238,
"name": "PUSH [tag]",
"source": 0,
"value": "9"
},
{
"begin": 174,
"end": 238,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 174,
"end": 238,
"name": "tag",
"source": 0,
"value": "19"
},
{
"begin": 174,
"end": 238,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 174,
"end": 238,
"name": "PUSH [tag]",
"source": 0,
"value": "20"
},
{
"begin": 174,
"end": 238,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 174,
"end": 238,
"name": "tag",
"source": 0,
"value": "18"
},
{
"begin": 174,
"end": 238,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 174,
"end": 238,
"name": "STOP",
"source": 0
},
{
"begin": 430,
"end": 501,
"name": "tag",
"source": 0,
"value": "10"
},
{
"begin": 430,
"end": 501,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 493,
"end": 494,
"name": "DUP1",
"source": 0
},
{
"begin": 485,
"end": 490,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 485,
"end": 490,
"name": "SLOAD",
"source": 0
},
{
"begin": 485,
"end": 494,
"name": "PUSH [tag]",
"source": 0,
"value": "22"
},
{
"begin": 485,
"end": 494,
"name": "SWAP2",
"source": 0
},
{
"begin": 485,
"end": 494,
"name": "SWAP1",
"source": 0
},
{
"begin": 485,
"end": 494,
"name": "PUSH [tag]",
"source": 0,
"value": "23"
},
{
"begin": 485,
"end": 494,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 485,
"end": 494,
"name": "tag",
"source": 0,
"value": "22"
},
{
"begin": 485,
"end": 494,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 477,
"end": 482,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 477,
"end": 494,
"name": "DUP2",
"source": 0
},
{
"begin": 477,
"end": 494,
"name": "SWAP1",
"source": 0
},
{
"begin": 477,
"end": 494,
"name": "SSTORE",
"source": 0
},
{
"begin": 477,
"end": 494,
"name": "POP",
"source": 0
},
{
"begin": 430,
"end": 501,
"name": "POP",
"source": 0
},
{
"begin": 430,
"end": 501,
"jumpType": "[out]",
"name": "JUMP",
"source": 0
},
{
"begin": 244,
"end": 318,
"name": "tag",
"source": 0,
"value": "12"
},
{
"begin": 244,
"end": 318,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 280,
"end": 287,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 306,
"end": 311,
"name": "DUP1",
"source": 0
},
{
"begin": 306,
"end": 311,
"name": "SLOAD",
"source": 0
},
{
"begin": 299,
"end": 311,
"name": "SWAP1",
"source": 0
},
{
"begin": 299,
"end": 311,
"name": "POP",
"source": 0
},
{
"begin": 244,
"end": 318,
"name": "SWAP1",
"source": 0
},
{
"begin": 244,
"end": 318,
"jumpType": "[out]",
"name": "JUMP",
"source": 0
},
{
"begin": 324,
"end": 424,
"name": "tag",
"source": 0,
"value": "17"
},
{
"begin": 324,
"end": 424,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 387,
"end": 388,
"name": "DUP1",
"source": 0
},
{
"begin": 379,
"end": 384,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 379,
"end": 384,
"name": "SLOAD",
"source": 0
},
{
"begin": 379,
"end": 388,
"name": "PUSH [tag]",
"source": 0,
"value": "26"
},
{
"begin": 379,
"end": 388,
"name": "SWAP2",
"source": 0
},
{
"begin": 379,
"end": 388,
"name": "SWAP1",
"source": 0
},
{
"begin": 379,
"end": 388,
"name": "PUSH [tag]",
"source": 0,
"value": "27"
},
{
"begin": 379,
"end": 388,
"jumpType": "[in]",
"name": "JUMP",
"source": 0
},
{
"begin": 379,
"end": 388,
"name": "tag",
"source": 0,
"value": "26"
},
{
"begin": 379,
"end": 388,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 371,
"end": 376,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 371,
"end": 388,
"name": "DUP2",
"source": 0
},
{
"begin": 371,
"end": 388,
"name": "SWAP1",
"source": 0
},
{
"begin": 371,
"end": 388,
"name": "SSTORE",
"source": 0
},
{
"begin": 371,
"end": 388,
"name": "POP",
"source": 0
},
{
"begin": 324,
"end": 424,
"name": "POP",
"source": 0
},
{
"begin": 324,
"end": 424,
"jumpType": "[out]",
"name": "JUMP",
"source": 0
},
{
"begin": 174,
"end": 238,
"name": "tag",
"source": 0,
"value": "20"
},
{
"begin": 174,
"end": 238,
"name": "JUMPDEST",
"source": 0
},
{
"begin": 230,
"end": 231,
"name": "DUP1",
"source": 0
},
{
"begin": 222,
"end": 227,
"name": "PUSH",
"source": 0,
"value": "0"
},
{
"begin": 222,
"end": 231,
"name": "DUP2",
"source": 0
},
{
"begin": 222,
"end": 231,
"name": "SWAP1",
"source": 0
},
{
"begin": 222,
"end": 231,
"name": "SSTORE",
"source": 0
},
{
"begin": 222,
"end": 231,
"name": "POP",
"source": 0
},
{
"begin": 174,
"end": 238,
"name": "POP",
"source": 0
},
{
"begin": 174,
"end": 238,
"jumpType": "[out]",
"name": "JUMP",
"source": 0
},
{
"begin": 88,
"end": 205,
"name": "tag",
"source": 1,
"value": "30"
},
{
"begin": 88,
"end": 205,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 197,
"end": 198,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 194,
"end": 195,
"name": "DUP1",
"source": 1
},
{
"begin": 187,
"end": 199,
"name": "REVERT",
"source": 1
},
{
"begin": 334,
"end": 411,
"name": "tag",
"source": 1,
"value": "32"
},
{
"begin": 334,
"end": 411,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 371,
"end": 378,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 400,
"end": 405,
"name": "DUP2",
"source": 1
},
{
"begin": 389,
"end": 405,
"name": "SWAP1",
"source": 1
},
{
"begin": 389,
"end": 405,
"name": "POP",
"source": 1
},
{
"begin": 334,
"end": 411,
"name": "SWAP2",
"source": 1
},
{
"begin": 334,
"end": 411,
"name": "SWAP1",
"source": 1
},
{
"begin": 334,
"end": 411,
"name": "POP",
"source": 1
},
{
"begin": 334,
"end": 411,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 417,
"end": 539,
"name": "tag",
"source": 1,
"value": "33"
},
{
"begin": 417,
"end": 539,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 490,
"end": 514,
"name": "PUSH [tag]",
"source": 1,
"value": "43"
},
{
"begin": 508,
"end": 513,
"name": "DUP2",
"source": 1
},
{
"begin": 490,
"end": 514,
"name": "PUSH [tag]",
"source": 1,
"value": "32"
},
{
"begin": 490,
"end": 514,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 490,
"end": 514,
"name": "tag",
"source": 1,
"value": "43"
},
{
"begin": 490,
"end": 514,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 483,
"end": 488,
"name": "DUP2",
"source": 1
},
{
"begin": 480,
"end": 515,
"name": "EQ",
"source": 1
},
{
"begin": 470,
"end": 533,
"name": "PUSH [tag]",
"source": 1,
"value": "44"
},
{
"begin": 470,
"end": 533,
"name": "JUMPI",
"source": 1
},
{
"begin": 529,
"end": 530,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 526,
"end": 527,
"name": "DUP1",
"source": 1
},
{
"begin": 519,
"end": 531,
"name": "REVERT",
"source": 1
},
{
"begin": 470,
"end": 533,
"name": "tag",
"source": 1,
"value": "44"
},
{
"begin": 470,
"end": 533,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 417,
"end": 539,
"name": "POP",
"source": 1
},
{
"begin": 417,
"end": 539,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 545,
"end": 684,
"name": "tag",
"source": 1,
"value": "34"
},
{
"begin": 545,
"end": 684,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 591,
"end": 596,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 629,
"end": 635,
"name": "DUP2",
"source": 1
},
{
"begin": 616,
"end": 636,
"name": "CALLDATALOAD",
"source": 1
},
{
"begin": 607,
"end": 636,
"name": "SWAP1",
"source": 1
},
{
"begin": 607,
"end": 636,
"name": "POP",
"source": 1
},
{
"begin": 645,
"end": 678,
"name": "PUSH [tag]",
"source": 1,
"value": "46"
},
{
"begin": 672,
"end": 677,
"name": "DUP2",
"source": 1
},
{
"begin": 645,
"end": 678,
"name": "PUSH [tag]",
"source": 1,
"value": "33"
},
{
"begin": 645,
"end": 678,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 645,
"end": 678,
"name": "tag",
"source": 1,
"value": "46"
},
{
"begin": 645,
"end": 678,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 545,
"end": 684,
"name": "SWAP3",
"source": 1
},
{
"begin": 545,
"end": 684,
"name": "SWAP2",
"source": 1
},
{
"begin": 545,
"end": 684,
"name": "POP",
"source": 1
},
{
"begin": 545,
"end": 684,
"name": "POP",
"source": 1
},
{
"begin": 545,
"end": 684,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 690,
"end": 1019,
"name": "tag",
"source": 1,
"value": "9"
},
{
"begin": 690,
"end": 1019,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 749,
"end": 755,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 798,
"end": 800,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 786,
"end": 795,
"name": "DUP3",
"source": 1
},
{
"begin": 777,
"end": 784,
"name": "DUP5",
"source": 1
},
{
"begin": 773,
"end": 796,
"name": "SUB",
"source": 1
},
{
"begin": 769,
"end": 801,
"name": "SLT",
"source": 1
},
{
"begin": 766,
"end": 885,
"name": "ISZERO",
"source": 1
},
{
"begin": 766,
"end": 885,
"name": "PUSH [tag]",
"source": 1,
"value": "48"
},
{
"begin": 766,
"end": 885,
"name": "JUMPI",
"source": 1
},
{
"begin": 804,
"end": 883,
"name": "PUSH [tag]",
"source": 1,
"value": "49"
},
{
"begin": 804,
"end": 883,
"name": "PUSH [tag]",
"source": 1,
"value": "30"
},
{
"begin": 804,
"end": 883,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 804,
"end": 883,
"name": "tag",
"source": 1,
"value": "49"
},
{
"begin": 804,
"end": 883,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 766,
"end": 885,
"name": "tag",
"source": 1,
"value": "48"
},
{
"begin": 766,
"end": 885,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 924,
"end": 925,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 949,
"end": 1002,
"name": "PUSH [tag]",
"source": 1,
"value": "50"
},
{
"begin": 994,
"end": 1001,
"name": "DUP5",
"source": 1
},
{
"begin": 985,
"end": 991,
"name": "DUP3",
"source": 1
},
{
"begin": 974,
"end": 983,
"name": "DUP6",
"source": 1
},
{
"begin": 970,
"end": 992,
"name": "ADD",
"source": 1
},
{
"begin": 949,
"end": 1002,
"name": "PUSH [tag]",
"source": 1,
"value": "34"
},
{
"begin": 949,
"end": 1002,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 949,
"end": 1002,
"name": "tag",
"source": 1,
"value": "50"
},
{
"begin": 949,
"end": 1002,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 939,
"end": 1002,
"name": "SWAP2",
"source": 1
},
{
"begin": 939,
"end": 1002,
"name": "POP",
"source": 1
},
{
"begin": 895,
"end": 1012,
"name": "POP",
"source": 1
},
{
"begin": 690,
"end": 1019,
"name": "SWAP3",
"source": 1
},
{
"begin": 690,
"end": 1019,
"name": "SWAP2",
"source": 1
},
{
"begin": 690,
"end": 1019,
"name": "POP",
"source": 1
},
{
"begin": 690,
"end": 1019,
"name": "POP",
"source": 1
},
{
"begin": 690,
"end": 1019,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1025,
"end": 1143,
"name": "tag",
"source": 1,
"value": "35"
},
{
"begin": 1025,
"end": 1143,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1112,
"end": 1136,
"name": "PUSH [tag]",
"source": 1,
"value": "52"
},
{
"begin": 1130,
"end": 1135,
"name": "DUP2",
"source": 1
},
{
"begin": 1112,
"end": 1136,
"name": "PUSH [tag]",
"source": 1,
"value": "32"
},
{
"begin": 1112,
"end": 1136,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1112,
"end": 1136,
"name": "tag",
"source": 1,
"value": "52"
},
{
"begin": 1112,
"end": 1136,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1107,
"end": 1110,
"name": "DUP3",
"source": 1
},
{
"begin": 1100,
"end": 1137,
"name": "MSTORE",
"source": 1
},
{
"begin": 1025,
"end": 1143,
"name": "POP",
"source": 1
},
{
"begin": 1025,
"end": 1143,
"name": "POP",
"source": 1
},
{
"begin": 1025,
"end": 1143,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1149,
"end": 1371,
"name": "tag",
"source": 1,
"value": "14"
},
{
"begin": 1149,
"end": 1371,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1242,
"end": 1246,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1280,
"end": 1282,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 1269,
"end": 1278,
"name": "DUP3",
"source": 1
},
{
"begin": 1265,
"end": 1283,
"name": "ADD",
"source": 1
},
{
"begin": 1257,
"end": 1283,
"name": "SWAP1",
"source": 1
},
{
"begin": 1257,
"end": 1283,
"name": "POP",
"source": 1
},
{
"begin": 1293,
"end": 1364,
"name": "PUSH [tag]",
"source": 1,
"value": "54"
},
{
"begin": 1361,
"end": 1362,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1350,
"end": 1359,
"name": "DUP4",
"source": 1
},
{
"begin": 1346,
"end": 1363,
"name": "ADD",
"source": 1
},
{
"begin": 1337,
"end": 1343,
"name": "DUP5",
"source": 1
},
{
"begin": 1293,
"end": 1364,
"name": "PUSH [tag]",
"source": 1,
"value": "35"
},
{
"begin": 1293,
"end": 1364,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1293,
"end": 1364,
"name": "tag",
"source": 1,
"value": "54"
},
{
"begin": 1293,
"end": 1364,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1149,
"end": 1371,
"name": "SWAP3",
"source": 1
},
{
"begin": 1149,
"end": 1371,
"name": "SWAP2",
"source": 1
},
{
"begin": 1149,
"end": 1371,
"name": "POP",
"source": 1
},
{
"begin": 1149,
"end": 1371,
"name": "POP",
"source": 1
},
{
"begin": 1149,
"end": 1371,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1377,
"end": 1557,
"name": "tag",
"source": 1,
"value": "36"
},
{
"begin": 1377,
"end": 1557,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1425,
"end": 1502,
"name": "PUSH",
"source": 1,
"value": "4E487B7100000000000000000000000000000000000000000000000000000000"
},
{
"begin": 1422,
"end": 1423,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1415,
"end": 1503,
"name": "MSTORE",
"source": 1
},
{
"begin": 1522,
"end": 1526,
"name": "PUSH",
"source": 1,
"value": "11"
},
{
"begin": 1519,
"end": 1520,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 1512,
"end": 1527,
"name": "MSTORE",
"source": 1
},
{
"begin": 1546,
"end": 1550,
"name": "PUSH",
"source": 1,
"value": "24"
},
{
"begin": 1543,
"end": 1544,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1536,
"end": 1551,
"name": "REVERT",
"source": 1
},
{
"begin": 1563,
"end": 1757,
"name": "tag",
"source": 1,
"value": "23"
},
{
"begin": 1563,
"end": 1757,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1603,
"end": 1607,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1623,
"end": 1643,
"name": "PUSH [tag]",
"source": 1,
"value": "57"
},
{
"begin": 1641,
"end": 1642,
"name": "DUP3",
"source": 1
},
{
"begin": 1623,
"end": 1643,
"name": "PUSH [tag]",
"source": 1,
"value": "32"
},
{
"begin": 1623,
"end": 1643,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1623,
"end": 1643,
"name": "tag",
"source": 1,
"value": "57"
},
{
"begin": 1623,
"end": 1643,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1618,
"end": 1643,
"name": "SWAP2",
"source": 1
},
{
"begin": 1618,
"end": 1643,
"name": "POP",
"source": 1
},
{
"begin": 1657,
"end": 1677,
"name": "PUSH [tag]",
"source": 1,
"value": "58"
},
{
"begin": 1675,
"end": 1676,
"name": "DUP4",
"source": 1
},
{
"begin": 1657,
"end": 1677,
"name": "PUSH [tag]",
"source": 1,
"value": "32"
},
{
"begin": 1657,
"end": 1677,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1657,
"end": 1677,
"name": "tag",
"source": 1,
"value": "58"
},
{
"begin": 1657,
"end": 1677,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1652,
"end": 1677,
"name": "SWAP3",
"source": 1
},
{
"begin": 1652,
"end": 1677,
"name": "POP",
"source": 1
},
{
"begin": 1701,
"end": 1702,
"name": "DUP3",
"source": 1
},
{
"begin": 1698,
"end": 1699,
"name": "DUP3",
"source": 1
},
{
"begin": 1694,
"end": 1703,
"name": "SUB",
"source": 1
},
{
"begin": 1686,
"end": 1703,
"name": "SWAP1",
"source": 1
},
{
"begin": 1686,
"end": 1703,
"name": "POP",
"source": 1
},
{
"begin": 1725,
"end": 1726,
"name": "DUP2",
"source": 1
},
{
"begin": 1719,
"end": 1723,
"name": "DUP2",
"source": 1
},
{
"begin": 1716,
"end": 1727,
"name": "GT",
"source": 1
},
{
"begin": 1713,
"end": 1750,
"name": "ISZERO",
"source": 1
},
{
"begin": 1713,
"end": 1750,
"name": "PUSH [tag]",
"source": 1,
"value": "59"
},
{
"begin": 1713,
"end": 1750,
"name": "JUMPI",
"source": 1
},
{
"begin": 1730,
"end": 1748,
"name": "PUSH [tag]",
"source": 1,
"value": "60"
},
{
"begin": 1730,
"end": 1748,
"name": "PUSH [tag]",
"source": 1,
"value": "36"
},
{
"begin": 1730,
"end": 1748,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1730,
"end": 1748,
"name": "tag",
"source": 1,
"value": "60"
},
{
"begin": 1730,
"end": 1748,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1713,
"end": 1750,
"name": "tag",
"source": 1,
"value": "59"
},
{
"begin": 1713,
"end": 1750,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1563,
"end": 1757,
"name": "SWAP3",
"source": 1
},
{
"begin": 1563,
"end": 1757,
"name": "SWAP2",
"source": 1
},
{
"begin": 1563,
"end": 1757,
"name": "POP",
"source": 1
},
{
"begin": 1563,
"end": 1757,
"name": "POP",
"source": 1
},
{
"begin": 1563,
"end": 1757,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 1763,
"end": 1954,
"name": "tag",
"source": 1,
"value": "27"
},
{
"begin": 1763,
"end": 1954,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1803,
"end": 1806,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 1822,
"end": 1842,
"name": "PUSH [tag]",
"source": 1,
"value": "62"
},
{
"begin": 1840,
"end": 1841,
"name": "DUP3",
"source": 1
},
{
"begin": 1822,
"end": 1842,
"name": "PUSH [tag]",
"source": 1,
"value": "32"
},
{
"begin": 1822,
"end": 1842,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1822,
"end": 1842,
"name": "tag",
"source": 1,
"value": "62"
},
{
"begin": 1822,
"end": 1842,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1817,
"end": 1842,
"name": "SWAP2",
"source": 1
},
{
"begin": 1817,
"end": 1842,
"name": "POP",
"source": 1
},
{
"begin": 1856,
"end": 1876,
"name": "PUSH [tag]",
"source": 1,
"value": "63"
},
{
"begin": 1874,
"end": 1875,
"name": "DUP4",
"source": 1
},
{
"begin": 1856,
"end": 1876,
"name": "PUSH [tag]",
"source": 1,
"value": "32"
},
{
"begin": 1856,
"end": 1876,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1856,
"end": 1876,
"name": "tag",
"source": 1,
"value": "63"
},
{
"begin": 1856,
"end": 1876,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1851,
"end": 1876,
"name": "SWAP3",
"source": 1
},
{
"begin": 1851,
"end": 1876,
"name": "POP",
"source": 1
},
{
"begin": 1899,
"end": 1900,
"name": "DUP3",
"source": 1
},
{
"begin": 1896,
"end": 1897,
"name": "DUP3",
"source": 1
},
{
"begin": 1892,
"end": 1901,
"name": "ADD",
"source": 1
},
{
"begin": 1885,
"end": 1901,
"name": "SWAP1",
"source": 1
},
{
"begin": 1885,
"end": 1901,
"name": "POP",
"source": 1
},
{
"begin": 1920,
"end": 1923,
"name": "DUP1",
"source": 1
},
{
"begin": 1917,
"end": 1918,
"name": "DUP3",
"source": 1
},
{
"begin": 1914,
"end": 1924,
"name": "GT",
"source": 1
},
{
"begin": 1911,
"end": 1947,
"name": "ISZERO",
"source": 1
},
{
"begin": 1911,
"end": 1947,
"name": "PUSH [tag]",
"source": 1,
"value": "64"
},
{
"begin": 1911,
"end": 1947,
"name": "JUMPI",
"source": 1
},
{
"begin": 1927,
"end": 1945,
"name": "PUSH [tag]",
"source": 1,
"value": "65"
},
{
"begin": 1927,
"end": 1945,
"name": "PUSH [tag]",
"source": 1,
"value": "36"
},
{
"begin": 1927,
"end": 1945,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1927,
"end": 1945,
"name": "tag",
"source": 1,
"value": "65"
},
{
"begin": 1927,
"end": 1945,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1911,
"end": 1947,
"name": "tag",
"source": 1,
"value": "64"
},
{
"begin": 1911,
"end": 1947,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1763,
"end": 1954,
"name": "SWAP3",
"source": 1
},
{
"begin": 1763,
"end": 1954,
"name": "SWAP2",
"source": 1
},
{
"begin": 1763,
"end": 1954,
"name": "POP",
"source": 1
},
{
"begin": 1763,
"end": 1954,
"name": "POP",
"source": 1
},
{
"begin": 1763,
"end": 1954,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
}
]
}
},
"sourceList": [
"contracts/Counter.sol",
"#utility.yul"
]
},
"methodIdentifiers": {
"decrement(uint256)": "3a9ebefd",
"get()": "6d4ce63c",
"increment(uint256)": "7cf5dab0",
"initialize(uint256)": "fe4b84df"
}
},
"metadata": "{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"n\",\"type\":\"uint256\"}],\"name\":\"decrement\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"get\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"n\",\"type\":\"uint256\"}],\"name\":\"increment\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/Counter.sol\":\"Counter\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/Counter.sol\":{\"keccak256\":\"0x95faa70030c88fb7b884d9c3f4cc0080cc667a66a16a57dd196ffa924392dde9\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://8ce8cbf5ede54081da92d8e84c91d3cd3ef7da89f4e9bab3630a645f30a43b9d\",\"dweb:/ipfs/QmSF3LNgGE9hbF3J3whHCxvCKtx6ecMYnLCTXaFBRx5ang\"]}},\"version\":1}",
"storageLayout": {
"storage": [
{
"astId": 3,
"contract": "contracts/Counter.sol:Counter",
"label": "value",
"offset": 0,
"slot": "0",
"type": "t_uint256"
}
],
"types": {
"t_uint256": {
"encoding": "inplace",
"label": "uint256",
"numberOfBytes": "32"
}
}
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
}
}
},
"sources": {
"contracts/Counter.sol": {
"ast": {
"absolutePath": "contracts/Counter.sol",
"exportedSymbols": {
"Counter": [
46
]
},
"id": 47,
"license": "UNLICENSED",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1,
"literals": [
"solidity",
"^",
"0.8",
".24"
],
"nodeType": "PragmaDirective",
"src": "39:24:0"
},
{
"abstract": false,
"baseContracts": [],
"canonicalName": "Counter",
"contractDependencies": [],
"contractKind": "contract",
"fullyImplemented": true,
"id": 46,
"linearizedBaseContracts": [
46
],
"name": "Counter",
"nameLocation": "140:7:0",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"id": 3,
"mutability": "mutable",
"name": "value",
"nameLocation": "162:5:0",
"nodeType": "VariableDeclaration",
"scope": 46,
"src": "154:13:0",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 2,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "154:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
},
{
"body": {
"id": 12,
"nodeType": "Block",
"src": "212:26:0",
"statements": [
{
"expression": {
"id": 10,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 8,
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3,
"src": "222:5:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"id": 9,
"name": "x",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 5,
"src": "230:1:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "222:9:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 11,
"nodeType": "ExpressionStatement",
"src": "222:9:0"
}
]
},
"functionSelector": "fe4b84df",
"id": 13,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "initialize",
"nameLocation": "183:10:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 6,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 5,
"mutability": "mutable",
"name": "x",
"nameLocation": "202:1:0",
"nodeType": "VariableDeclaration",
"scope": 13,
"src": "194:9:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 4,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "194:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "193:11:0"
},
"returnParameters": {
"id": 7,
"nodeType": "ParameterList",
"parameters": [],
"src": "212:0:0"
},
"scope": 46,
"src": "174:64:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
},
{
"body": {
"id": 20,
"nodeType": "Block",
"src": "289:29:0",
"statements": [
{
"expression": {
"id": 18,
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3,
"src": "306:5:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"functionReturnParameters": 17,
"id": 19,
"nodeType": "Return",
"src": "299:12:0"
}
]
},
"functionSelector": "6d4ce63c",
"id": 21,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "get",
"nameLocation": "253:3:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 14,
"nodeType": "ParameterList",
"parameters": [],
"src": "256:2:0"
},
"returnParameters": {
"id": 17,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 16,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 21,
"src": "280:7:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 15,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "280:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "279:9:0"
},
"scope": 46,
"src": "244:74:0",
"stateMutability": "view",
"virtual": false,
"visibility": "public"
},
{
"body": {
"id": 32,
"nodeType": "Block",
"src": "361:63:0",
"statements": [
{
"expression": {
"id": 30,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 26,
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3,
"src": "371:5:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 29,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"id": 27,
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3,
"src": "379:5:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "+",
"rightExpression": {
"id": 28,
"name": "n",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 23,
"src": "387:1:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "379:9:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "371:17:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 31,
"nodeType": "ExpressionStatement",
"src": "371:17:0"
}
]
},
"functionSelector": "7cf5dab0",
"id": 33,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "increment",
"nameLocation": "333:9:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 24,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 23,
"mutability": "mutable",
"name": "n",
"nameLocation": "351:1:0",
"nodeType": "VariableDeclaration",
"scope": 33,
"src": "343:9:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 22,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "343:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "342:11:0"
},
"returnParameters": {
"id": 25,
"nodeType": "ParameterList",
"parameters": [],
"src": "361:0:0"
},
"scope": 46,
"src": "324:100:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
},
{
"body": {
"id": 44,
"nodeType": "Block",
"src": "467:34:0",
"statements": [
{
"expression": {
"id": 42,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"id": 38,
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3,
"src": "477:5:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 41,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"id": 39,
"name": "value",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 3,
"src": "485:5:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "-",
"rightExpression": {
"id": 40,
"name": "n",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 35,
"src": "493:1:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "485:9:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "477:17:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 43,
"nodeType": "ExpressionStatement",
"src": "477:17:0"
}
]
},
"functionSelector": "3a9ebefd",
"id": 45,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "decrement",
"nameLocation": "439:9:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 36,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 35,
"mutability": "mutable",
"name": "n",
"nameLocation": "457:1:0",
"nodeType": "VariableDeclaration",
"scope": 45,
"src": "449:9:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 34,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "449:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "448:11:0"
},
"returnParameters": {
"id": 37,
"nodeType": "ParameterList",
"parameters": [],
"src": "467:0:0"
},
"scope": 46,
"src": "430:71:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "public"
}
],
"scope": 47,
"src": "131:372:0",
"usedErrors": [],
"usedEvents": []
}
],
"src": "39:465:0"
},
"id": 0
}
}
}
}
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"ropsten:3": {
"linkReferences": {},
"autoDeployLib": true
},
"rinkeby:4": {
"linkReferences": {},
"autoDeployLib": true
},
"kovan:42": {
"linkReferences": {},
"autoDeployLib": true
},
"goerli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "608060405234801561000f575f80fd5b5061024e8061001d5f395ff3fe608060405234801561000f575f80fd5b506004361061004a575f3560e01c80633a9ebefd1461004e5780636d4ce63c1461006a5780637cf5dab014610088578063fe4b84df146100a4575b5f80fd5b61006860048036038101906100639190610132565b6100c0565b005b6100726100d5565b60405161007f919061016c565b60405180910390f35b6100a2600480360381019061009d9190610132565b6100dd565b005b6100be60048036038101906100b99190610132565b6100f2565b005b805f546100cd91906101b2565b5f8190555050565b5f8054905090565b805f546100ea91906101e5565b5f8190555050565b805f8190555050565b5f80fd5b5f819050919050565b610111816100ff565b811461011b575f80fd5b50565b5f8135905061012c81610108565b92915050565b5f60208284031215610147576101466100fb565b5b5f6101548482850161011e565b91505092915050565b610166816100ff565b82525050565b5f60208201905061017f5f83018461015d565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6101bc826100ff565b91506101c7836100ff565b92508282039050818111156101df576101de610185565b5b92915050565b5f6101ef826100ff565b91506101fa836100ff565b925082820190508082111561021257610211610185565b5b9291505056fea264697066735822122051b8a940d0b14c9ea24ac86bc80b720542afe7fd1704ed1cd865e0e0396e52f964736f6c63430008180033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0x24E DUP1 PUSH2 0x1D PUSH0 CODECOPY PUSH0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4A JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x3A9EBEFD EQ PUSH2 0x4E JUMPI DUP1 PUSH4 0x6D4CE63C EQ PUSH2 0x6A JUMPI DUP1 PUSH4 0x7CF5DAB0 EQ PUSH2 0x88 JUMPI DUP1 PUSH4 0xFE4B84DF EQ PUSH2 0xA4 JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0x68 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x63 SWAP2 SWAP1 PUSH2 0x132 JUMP JUMPDEST PUSH2 0xC0 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x72 PUSH2 0xD5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x7F SWAP2 SWAP1 PUSH2 0x16C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xA2 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x9D SWAP2 SWAP1 PUSH2 0x132 JUMP JUMPDEST PUSH2 0xDD JUMP JUMPDEST STOP JUMPDEST PUSH2 0xBE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xB9 SWAP2 SWAP1 PUSH2 0x132 JUMP JUMPDEST PUSH2 0xF2 JUMP JUMPDEST STOP JUMPDEST DUP1 PUSH0 SLOAD PUSH2 0xCD SWAP2 SWAP1 PUSH2 0x1B2 JUMP JUMPDEST PUSH0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST DUP1 PUSH0 SLOAD PUSH2 0xEA SWAP2 SWAP1 PUSH2 0x1E5 JUMP JUMPDEST PUSH0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST DUP1 PUSH0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x111 DUP2 PUSH2 0xFF JUMP JUMPDEST DUP2 EQ PUSH2 0x11B JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x12C DUP2 PUSH2 0x108 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x147 JUMPI PUSH2 0x146 PUSH2 0xFB JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x154 DUP5 DUP3 DUP6 ADD PUSH2 0x11E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x166 DUP2 PUSH2 0xFF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x17F PUSH0 DUP4 ADD DUP5 PUSH2 0x15D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH2 0x1BC DUP3 PUSH2 0xFF JUMP JUMPDEST SWAP2 POP PUSH2 0x1C7 DUP4 PUSH2 0xFF JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x1DF JUMPI PUSH2 0x1DE PUSH2 0x185 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x1EF DUP3 PUSH2 0xFF JUMP JUMPDEST SWAP2 POP PUSH2 0x1FA DUP4 PUSH2 0xFF JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x212 JUMPI PUSH2 0x211 PUSH2 0x185 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 MLOAD 0xB8 0xA9 BLOCKHASH 0xD0 0xB1 0x4C SWAP15 LOG2 BLOBBASEFEE 0xC8 PUSH12 0xC80B720542AFE7FD1704ED1C 0xD8 PUSH6 0xE0E0396E52F9 PUSH5 0x736F6C6343 STOP ADDMOD XOR STOP CALLER ",
"sourceMap": "131:372:0:-:0;;;;;;;;;;;;;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@decrement_45": {
"entryPoint": 192,
"id": 45,
"parameterSlots": 1,
"returnSlots": 0
},
"@get_21": {
"entryPoint": 213,
"id": 21,
"parameterSlots": 0,
"returnSlots": 1
},
"@increment_33": {
"entryPoint": 221,
"id": 33,
"parameterSlots": 1,
"returnSlots": 0
},
"@initialize_13": {
"entryPoint": 242,
"id": 13,
"parameterSlots": 1,
"returnSlots": 0
},
"abi_decode_t_uint256": {
"entryPoint": 286,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 306,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 349,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 364,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"checked_add_t_uint256": {
"entryPoint": 485,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_sub_t_uint256": {
"entryPoint": 434,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 255,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x11": {
"entryPoint": 389,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 251,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 264,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nativeSrc": "0:1957:1",
"nodeType": "YulBlock",
"src": "0:1957:1",
"statements": [
{
"body": {
"nativeSrc": "47:35:1",
"nodeType": "YulBlock",
"src": "47:35:1",
"statements": [
{
"nativeSrc": "57:19:1",
"nodeType": "YulAssignment",
"src": "57:19:1",
"value": {
"arguments": [
{
"kind": "number",
"nativeSrc": "73:2:1",
"nodeType": "YulLiteral",
"src": "73:2:1",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nativeSrc": "67:5:1",
"nodeType": "YulIdentifier",
"src": "67:5:1"
},
"nativeSrc": "67:9:1",
"nodeType": "YulFunctionCall",
"src": "67:9:1"
},
"variableNames": [
{
"name": "memPtr",
"nativeSrc": "57:6:1",
"nodeType": "YulIdentifier",
"src": "57:6:1"
}
]
}
]
},
"name": "allocate_unbounded",
"nativeSrc": "7:75:1",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nativeSrc": "40:6:1",
"nodeType": "YulTypedName",
"src": "40:6:1",
"type": ""
}
],
"src": "7:75:1"
},
{
"body": {
"nativeSrc": "177:28:1",
"nodeType": "YulBlock",
"src": "177:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "194:1:1",
"nodeType": "YulLiteral",
"src": "194:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "197:1:1",
"nodeType": "YulLiteral",
"src": "197:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "187:6:1",
"nodeType": "YulIdentifier",
"src": "187:6:1"
},
"nativeSrc": "187:12:1",
"nodeType": "YulFunctionCall",
"src": "187:12:1"
},
"nativeSrc": "187:12:1",
"nodeType": "YulExpressionStatement",
"src": "187:12:1"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "88:117:1",
"nodeType": "YulFunctionDefinition",
"src": "88:117:1"
},
{
"body": {
"nativeSrc": "300:28:1",
"nodeType": "YulBlock",
"src": "300:28:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "317:1:1",
"nodeType": "YulLiteral",
"src": "317:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "320:1:1",
"nodeType": "YulLiteral",
"src": "320:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "310:6:1",
"nodeType": "YulIdentifier",
"src": "310:6:1"
},
"nativeSrc": "310:12:1",
"nodeType": "YulFunctionCall",
"src": "310:12:1"
},
"nativeSrc": "310:12:1",
"nodeType": "YulExpressionStatement",
"src": "310:12:1"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nativeSrc": "211:117:1",
"nodeType": "YulFunctionDefinition",
"src": "211:117:1"
},
{
"body": {
"nativeSrc": "379:32:1",
"nodeType": "YulBlock",
"src": "379:32:1",
"statements": [
{
"nativeSrc": "389:16:1",
"nodeType": "YulAssignment",
"src": "389:16:1",
"value": {
"name": "value",
"nativeSrc": "400:5:1",
"nodeType": "YulIdentifier",
"src": "400:5:1"
},
"variableNames": [
{
"name": "cleaned",
"nativeSrc": "389:7:1",
"nodeType": "YulIdentifier",
"src": "389:7:1"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nativeSrc": "334:77:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "361:5:1",
"nodeType": "YulTypedName",
"src": "361:5:1",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nativeSrc": "371:7:1",
"nodeType": "YulTypedName",
"src": "371:7:1",
"type": ""
}
],
"src": "334:77:1"
},
{
"body": {
"nativeSrc": "460:79:1",
"nodeType": "YulBlock",
"src": "460:79:1",
"statements": [
{
"body": {
"nativeSrc": "517:16:1",
"nodeType": "YulBlock",
"src": "517:16:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "526:1:1",
"nodeType": "YulLiteral",
"src": "526:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "529:1:1",
"nodeType": "YulLiteral",
"src": "529:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "519:6:1",
"nodeType": "YulIdentifier",
"src": "519:6:1"
},
"nativeSrc": "519:12:1",
"nodeType": "YulFunctionCall",
"src": "519:12:1"
},
"nativeSrc": "519:12:1",
"nodeType": "YulExpressionStatement",
"src": "519:12:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nativeSrc": "483:5:1",
"nodeType": "YulIdentifier",
"src": "483:5:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "508:5:1",
"nodeType": "YulIdentifier",
"src": "508:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "490:17:1",
"nodeType": "YulIdentifier",
"src": "490:17:1"
},
"nativeSrc": "490:24:1",
"nodeType": "YulFunctionCall",
"src": "490:24:1"
}
],
"functionName": {
"name": "eq",
"nativeSrc": "480:2:1",
"nodeType": "YulIdentifier",
"src": "480:2:1"
},
"nativeSrc": "480:35:1",
"nodeType": "YulFunctionCall",
"src": "480:35:1"
}
],
"functionName": {
"name": "iszero",
"nativeSrc": "473:6:1",
"nodeType": "YulIdentifier",
"src": "473:6:1"
},
"nativeSrc": "473:43:1",
"nodeType": "YulFunctionCall",
"src": "473:43:1"
},
"nativeSrc": "470:63:1",
"nodeType": "YulIf",
"src": "470:63:1"
}
]
},
"name": "validator_revert_t_uint256",
"nativeSrc": "417:122:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "453:5:1",
"nodeType": "YulTypedName",
"src": "453:5:1",
"type": ""
}
],
"src": "417:122:1"
},
{
"body": {
"nativeSrc": "597:87:1",
"nodeType": "YulBlock",
"src": "597:87:1",
"statements": [
{
"nativeSrc": "607:29:1",
"nodeType": "YulAssignment",
"src": "607:29:1",
"value": {
"arguments": [
{
"name": "offset",
"nativeSrc": "629:6:1",
"nodeType": "YulIdentifier",
"src": "629:6:1"
}
],
"functionName": {
"name": "calldataload",
"nativeSrc": "616:12:1",
"nodeType": "YulIdentifier",
"src": "616:12:1"
},
"nativeSrc": "616:20:1",
"nodeType": "YulFunctionCall",
"src": "616:20:1"
},
"variableNames": [
{
"name": "value",
"nativeSrc": "607:5:1",
"nodeType": "YulIdentifier",
"src": "607:5:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nativeSrc": "672:5:1",
"nodeType": "YulIdentifier",
"src": "672:5:1"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nativeSrc": "645:26:1",
"nodeType": "YulIdentifier",
"src": "645:26:1"
},
"nativeSrc": "645:33:1",
"nodeType": "YulFunctionCall",
"src": "645:33:1"
},
"nativeSrc": "645:33:1",
"nodeType": "YulExpressionStatement",
"src": "645:33:1"
}
]
},
"name": "abi_decode_t_uint256",
"nativeSrc": "545:139:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nativeSrc": "575:6:1",
"nodeType": "YulTypedName",
"src": "575:6:1",
"type": ""
},
{
"name": "end",
"nativeSrc": "583:3:1",
"nodeType": "YulTypedName",
"src": "583:3:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nativeSrc": "591:5:1",
"nodeType": "YulTypedName",
"src": "591:5:1",
"type": ""
}
],
"src": "545:139:1"
},
{
"body": {
"nativeSrc": "756:263:1",
"nodeType": "YulBlock",
"src": "756:263:1",
"statements": [
{
"body": {
"nativeSrc": "802:83:1",
"nodeType": "YulBlock",
"src": "802:83:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nativeSrc": "804:77:1",
"nodeType": "YulIdentifier",
"src": "804:77:1"
},
"nativeSrc": "804:79:1",
"nodeType": "YulFunctionCall",
"src": "804:79:1"
},
"nativeSrc": "804:79:1",
"nodeType": "YulExpressionStatement",
"src": "804:79:1"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nativeSrc": "777:7:1",
"nodeType": "YulIdentifier",
"src": "777:7:1"
},
{
"name": "headStart",
"nativeSrc": "786:9:1",
"nodeType": "YulIdentifier",
"src": "786:9:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "773:3:1",
"nodeType": "YulIdentifier",
"src": "773:3:1"
},
"nativeSrc": "773:23:1",
"nodeType": "YulFunctionCall",
"src": "773:23:1"
},
{
"kind": "number",
"nativeSrc": "798:2:1",
"nodeType": "YulLiteral",
"src": "798:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nativeSrc": "769:3:1",
"nodeType": "YulIdentifier",
"src": "769:3:1"
},
"nativeSrc": "769:32:1",
"nodeType": "YulFunctionCall",
"src": "769:32:1"
},
"nativeSrc": "766:119:1",
"nodeType": "YulIf",
"src": "766:119:1"
},
{
"nativeSrc": "895:117:1",
"nodeType": "YulBlock",
"src": "895:117:1",
"statements": [
{
"nativeSrc": "910:15:1",
"nodeType": "YulVariableDeclaration",
"src": "910:15:1",
"value": {
"kind": "number",
"nativeSrc": "924:1:1",
"nodeType": "YulLiteral",
"src": "924:1:1",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nativeSrc": "914:6:1",
"nodeType": "YulTypedName",
"src": "914:6:1",
"type": ""
}
]
},
{
"nativeSrc": "939:63:1",
"nodeType": "YulAssignment",
"src": "939:63:1",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "974:9:1",
"nodeType": "YulIdentifier",
"src": "974:9:1"
},
{
"name": "offset",
"nativeSrc": "985:6:1",
"nodeType": "YulIdentifier",
"src": "985:6:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "970:3:1",
"nodeType": "YulIdentifier",
"src": "970:3:1"
},
"nativeSrc": "970:22:1",
"nodeType": "YulFunctionCall",
"src": "970:22:1"
},
{
"name": "dataEnd",
"nativeSrc": "994:7:1",
"nodeType": "YulIdentifier",
"src": "994:7:1"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nativeSrc": "949:20:1",
"nodeType": "YulIdentifier",
"src": "949:20:1"
},
"nativeSrc": "949:53:1",
"nodeType": "YulFunctionCall",
"src": "949:53:1"
},
"variableNames": [
{
"name": "value0",
"nativeSrc": "939:6:1",
"nodeType": "YulIdentifier",
"src": "939:6:1"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nativeSrc": "690:329:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "726:9:1",
"nodeType": "YulTypedName",
"src": "726:9:1",
"type": ""
},
{
"name": "dataEnd",
"nativeSrc": "737:7:1",
"nodeType": "YulTypedName",
"src": "737:7:1",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nativeSrc": "749:6:1",
"nodeType": "YulTypedName",
"src": "749:6:1",
"type": ""
}
],
"src": "690:329:1"
},
{
"body": {
"nativeSrc": "1090:53:1",
"nodeType": "YulBlock",
"src": "1090:53:1",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nativeSrc": "1107:3:1",
"nodeType": "YulIdentifier",
"src": "1107:3:1"
},
{
"arguments": [
{
"name": "value",
"nativeSrc": "1130:5:1",
"nodeType": "YulIdentifier",
"src": "1130:5:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "1112:17:1",
"nodeType": "YulIdentifier",
"src": "1112:17:1"
},
"nativeSrc": "1112:24:1",
"nodeType": "YulFunctionCall",
"src": "1112:24:1"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1100:6:1",
"nodeType": "YulIdentifier",
"src": "1100:6:1"
},
"nativeSrc": "1100:37:1",
"nodeType": "YulFunctionCall",
"src": "1100:37:1"
},
"nativeSrc": "1100:37:1",
"nodeType": "YulExpressionStatement",
"src": "1100:37:1"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nativeSrc": "1025:118:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nativeSrc": "1078:5:1",
"nodeType": "YulTypedName",
"src": "1078:5:1",
"type": ""
},
{
"name": "pos",
"nativeSrc": "1085:3:1",
"nodeType": "YulTypedName",
"src": "1085:3:1",
"type": ""
}
],
"src": "1025:118:1"
},
{
"body": {
"nativeSrc": "1247:124:1",
"nodeType": "YulBlock",
"src": "1247:124:1",
"statements": [
{
"nativeSrc": "1257:26:1",
"nodeType": "YulAssignment",
"src": "1257:26:1",
"value": {
"arguments": [
{
"name": "headStart",
"nativeSrc": "1269:9:1",
"nodeType": "YulIdentifier",
"src": "1269:9:1"
},
{
"kind": "number",
"nativeSrc": "1280:2:1",
"nodeType": "YulLiteral",
"src": "1280:2:1",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1265:3:1",
"nodeType": "YulIdentifier",
"src": "1265:3:1"
},
"nativeSrc": "1265:18:1",
"nodeType": "YulFunctionCall",
"src": "1265:18:1"
},
"variableNames": [
{
"name": "tail",
"nativeSrc": "1257:4:1",
"nodeType": "YulIdentifier",
"src": "1257:4:1"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nativeSrc": "1337:6:1",
"nodeType": "YulIdentifier",
"src": "1337:6:1"
},
{
"arguments": [
{
"name": "headStart",
"nativeSrc": "1350:9:1",
"nodeType": "YulIdentifier",
"src": "1350:9:1"
},
{
"kind": "number",
"nativeSrc": "1361:1:1",
"nodeType": "YulLiteral",
"src": "1361:1:1",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1346:3:1",
"nodeType": "YulIdentifier",
"src": "1346:3:1"
},
"nativeSrc": "1346:17:1",
"nodeType": "YulFunctionCall",
"src": "1346:17:1"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nativeSrc": "1293:43:1",
"nodeType": "YulIdentifier",
"src": "1293:43:1"
},
"nativeSrc": "1293:71:1",
"nodeType": "YulFunctionCall",
"src": "1293:71:1"
},
"nativeSrc": "1293:71:1",
"nodeType": "YulExpressionStatement",
"src": "1293:71:1"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nativeSrc": "1149:222:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nativeSrc": "1219:9:1",
"nodeType": "YulTypedName",
"src": "1219:9:1",
"type": ""
},
{
"name": "value0",
"nativeSrc": "1231:6:1",
"nodeType": "YulTypedName",
"src": "1231:6:1",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nativeSrc": "1242:4:1",
"nodeType": "YulTypedName",
"src": "1242:4:1",
"type": ""
}
],
"src": "1149:222:1"
},
{
"body": {
"nativeSrc": "1405:152:1",
"nodeType": "YulBlock",
"src": "1405:152:1",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1422:1:1",
"nodeType": "YulLiteral",
"src": "1422:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "1425:77:1",
"nodeType": "YulLiteral",
"src": "1425:77:1",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1415:6:1",
"nodeType": "YulIdentifier",
"src": "1415:6:1"
},
"nativeSrc": "1415:88:1",
"nodeType": "YulFunctionCall",
"src": "1415:88:1"
},
"nativeSrc": "1415:88:1",
"nodeType": "YulExpressionStatement",
"src": "1415:88:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1519:1:1",
"nodeType": "YulLiteral",
"src": "1519:1:1",
"type": "",
"value": "4"
},
{
"kind": "number",
"nativeSrc": "1522:4:1",
"nodeType": "YulLiteral",
"src": "1522:4:1",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nativeSrc": "1512:6:1",
"nodeType": "YulIdentifier",
"src": "1512:6:1"
},
"nativeSrc": "1512:15:1",
"nodeType": "YulFunctionCall",
"src": "1512:15:1"
},
"nativeSrc": "1512:15:1",
"nodeType": "YulExpressionStatement",
"src": "1512:15:1"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nativeSrc": "1543:1:1",
"nodeType": "YulLiteral",
"src": "1543:1:1",
"type": "",
"value": "0"
},
{
"kind": "number",
"nativeSrc": "1546:4:1",
"nodeType": "YulLiteral",
"src": "1546:4:1",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nativeSrc": "1536:6:1",
"nodeType": "YulIdentifier",
"src": "1536:6:1"
},
"nativeSrc": "1536:15:1",
"nodeType": "YulFunctionCall",
"src": "1536:15:1"
},
"nativeSrc": "1536:15:1",
"nodeType": "YulExpressionStatement",
"src": "1536:15:1"
}
]
},
"name": "panic_error_0x11",
"nativeSrc": "1377:180:1",
"nodeType": "YulFunctionDefinition",
"src": "1377:180:1"
},
{
"body": {
"nativeSrc": "1608:149:1",
"nodeType": "YulBlock",
"src": "1608:149:1",
"statements": [
{
"nativeSrc": "1618:25:1",
"nodeType": "YulAssignment",
"src": "1618:25:1",
"value": {
"arguments": [
{
"name": "x",
"nativeSrc": "1641:1:1",
"nodeType": "YulIdentifier",
"src": "1641:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "1623:17:1",
"nodeType": "YulIdentifier",
"src": "1623:17:1"
},
"nativeSrc": "1623:20:1",
"nodeType": "YulFunctionCall",
"src": "1623:20:1"
},
"variableNames": [
{
"name": "x",
"nativeSrc": "1618:1:1",
"nodeType": "YulIdentifier",
"src": "1618:1:1"
}
]
},
{
"nativeSrc": "1652:25:1",
"nodeType": "YulAssignment",
"src": "1652:25:1",
"value": {
"arguments": [
{
"name": "y",
"nativeSrc": "1675:1:1",
"nodeType": "YulIdentifier",
"src": "1675:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "1657:17:1",
"nodeType": "YulIdentifier",
"src": "1657:17:1"
},
"nativeSrc": "1657:20:1",
"nodeType": "YulFunctionCall",
"src": "1657:20:1"
},
"variableNames": [
{
"name": "y",
"nativeSrc": "1652:1:1",
"nodeType": "YulIdentifier",
"src": "1652:1:1"
}
]
},
{
"nativeSrc": "1686:17:1",
"nodeType": "YulAssignment",
"src": "1686:17:1",
"value": {
"arguments": [
{
"name": "x",
"nativeSrc": "1698:1:1",
"nodeType": "YulIdentifier",
"src": "1698:1:1"
},
{
"name": "y",
"nativeSrc": "1701:1:1",
"nodeType": "YulIdentifier",
"src": "1701:1:1"
}
],
"functionName": {
"name": "sub",
"nativeSrc": "1694:3:1",
"nodeType": "YulIdentifier",
"src": "1694:3:1"
},
"nativeSrc": "1694:9:1",
"nodeType": "YulFunctionCall",
"src": "1694:9:1"
},
"variableNames": [
{
"name": "diff",
"nativeSrc": "1686:4:1",
"nodeType": "YulIdentifier",
"src": "1686:4:1"
}
]
},
{
"body": {
"nativeSrc": "1728:22:1",
"nodeType": "YulBlock",
"src": "1728:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nativeSrc": "1730:16:1",
"nodeType": "YulIdentifier",
"src": "1730:16:1"
},
"nativeSrc": "1730:18:1",
"nodeType": "YulFunctionCall",
"src": "1730:18:1"
},
"nativeSrc": "1730:18:1",
"nodeType": "YulExpressionStatement",
"src": "1730:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "diff",
"nativeSrc": "1719:4:1",
"nodeType": "YulIdentifier",
"src": "1719:4:1"
},
{
"name": "x",
"nativeSrc": "1725:1:1",
"nodeType": "YulIdentifier",
"src": "1725:1:1"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "1716:2:1",
"nodeType": "YulIdentifier",
"src": "1716:2:1"
},
"nativeSrc": "1716:11:1",
"nodeType": "YulFunctionCall",
"src": "1716:11:1"
},
"nativeSrc": "1713:37:1",
"nodeType": "YulIf",
"src": "1713:37:1"
}
]
},
"name": "checked_sub_t_uint256",
"nativeSrc": "1563:194:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nativeSrc": "1594:1:1",
"nodeType": "YulTypedName",
"src": "1594:1:1",
"type": ""
},
{
"name": "y",
"nativeSrc": "1597:1:1",
"nodeType": "YulTypedName",
"src": "1597:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "diff",
"nativeSrc": "1603:4:1",
"nodeType": "YulTypedName",
"src": "1603:4:1",
"type": ""
}
],
"src": "1563:194:1"
},
{
"body": {
"nativeSrc": "1807:147:1",
"nodeType": "YulBlock",
"src": "1807:147:1",
"statements": [
{
"nativeSrc": "1817:25:1",
"nodeType": "YulAssignment",
"src": "1817:25:1",
"value": {
"arguments": [
{
"name": "x",
"nativeSrc": "1840:1:1",
"nodeType": "YulIdentifier",
"src": "1840:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "1822:17:1",
"nodeType": "YulIdentifier",
"src": "1822:17:1"
},
"nativeSrc": "1822:20:1",
"nodeType": "YulFunctionCall",
"src": "1822:20:1"
},
"variableNames": [
{
"name": "x",
"nativeSrc": "1817:1:1",
"nodeType": "YulIdentifier",
"src": "1817:1:1"
}
]
},
{
"nativeSrc": "1851:25:1",
"nodeType": "YulAssignment",
"src": "1851:25:1",
"value": {
"arguments": [
{
"name": "y",
"nativeSrc": "1874:1:1",
"nodeType": "YulIdentifier",
"src": "1874:1:1"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nativeSrc": "1856:17:1",
"nodeType": "YulIdentifier",
"src": "1856:17:1"
},
"nativeSrc": "1856:20:1",
"nodeType": "YulFunctionCall",
"src": "1856:20:1"
},
"variableNames": [
{
"name": "y",
"nativeSrc": "1851:1:1",
"nodeType": "YulIdentifier",
"src": "1851:1:1"
}
]
},
{
"nativeSrc": "1885:16:1",
"nodeType": "YulAssignment",
"src": "1885:16:1",
"value": {
"arguments": [
{
"name": "x",
"nativeSrc": "1896:1:1",
"nodeType": "YulIdentifier",
"src": "1896:1:1"
},
{
"name": "y",
"nativeSrc": "1899:1:1",
"nodeType": "YulIdentifier",
"src": "1899:1:1"
}
],
"functionName": {
"name": "add",
"nativeSrc": "1892:3:1",
"nodeType": "YulIdentifier",
"src": "1892:3:1"
},
"nativeSrc": "1892:9:1",
"nodeType": "YulFunctionCall",
"src": "1892:9:1"
},
"variableNames": [
{
"name": "sum",
"nativeSrc": "1885:3:1",
"nodeType": "YulIdentifier",
"src": "1885:3:1"
}
]
},
{
"body": {
"nativeSrc": "1925:22:1",
"nodeType": "YulBlock",
"src": "1925:22:1",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nativeSrc": "1927:16:1",
"nodeType": "YulIdentifier",
"src": "1927:16:1"
},
"nativeSrc": "1927:18:1",
"nodeType": "YulFunctionCall",
"src": "1927:18:1"
},
"nativeSrc": "1927:18:1",
"nodeType": "YulExpressionStatement",
"src": "1927:18:1"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nativeSrc": "1917:1:1",
"nodeType": "YulIdentifier",
"src": "1917:1:1"
},
{
"name": "sum",
"nativeSrc": "1920:3:1",
"nodeType": "YulIdentifier",
"src": "1920:3:1"
}
],
"functionName": {
"name": "gt",
"nativeSrc": "1914:2:1",
"nodeType": "YulIdentifier",
"src": "1914:2:1"
},
"nativeSrc": "1914:10:1",
"nodeType": "YulFunctionCall",
"src": "1914:10:1"
},
"nativeSrc": "1911:36:1",
"nodeType": "YulIf",
"src": "1911:36:1"
}
]
},
"name": "checked_add_t_uint256",
"nativeSrc": "1763:191:1",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nativeSrc": "1794:1:1",
"nodeType": "YulTypedName",
"src": "1794:1:1",
"type": ""
},
{
"name": "y",
"nativeSrc": "1797:1:1",
"nodeType": "YulTypedName",
"src": "1797:1:1",
"type": ""
}
],
"returnVariables": [
{
"name": "sum",
"nativeSrc": "1803:3:1",
"nodeType": "YulTypedName",
"src": "1803:3:1",
"type": ""
}
],
"src": "1763:191:1"
}
]
},
"contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n diff := sub(x, y)\n\n if gt(diff, x) { panic_error_0x11() }\n\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n sum := add(x, y)\n\n if gt(x, sum) { panic_error_0x11() }\n\n }\n\n}\n",
"id": 1,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561000f575f80fd5b506004361061004a575f3560e01c80633a9ebefd1461004e5780636d4ce63c1461006a5780637cf5dab014610088578063fe4b84df146100a4575b5f80fd5b61006860048036038101906100639190610132565b6100c0565b005b6100726100d5565b60405161007f919061016c565b60405180910390f35b6100a2600480360381019061009d9190610132565b6100dd565b005b6100be60048036038101906100b99190610132565b6100f2565b005b805f546100cd91906101b2565b5f8190555050565b5f8054905090565b805f546100ea91906101e5565b5f8190555050565b805f8190555050565b5f80fd5b5f819050919050565b610111816100ff565b811461011b575f80fd5b50565b5f8135905061012c81610108565b92915050565b5f60208284031215610147576101466100fb565b5b5f6101548482850161011e565b91505092915050565b610166816100ff565b82525050565b5f60208201905061017f5f83018461015d565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6101bc826100ff565b91506101c7836100ff565b92508282039050818111156101df576101de610185565b5b92915050565b5f6101ef826100ff565b91506101fa836100ff565b925082820190508082111561021257610211610185565b5b9291505056fea264697066735822122051b8a940d0b14c9ea24ac86bc80b720542afe7fd1704ed1cd865e0e0396e52f964736f6c63430008180033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4A JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x3A9EBEFD EQ PUSH2 0x4E JUMPI DUP1 PUSH4 0x6D4CE63C EQ PUSH2 0x6A JUMPI DUP1 PUSH4 0x7CF5DAB0 EQ PUSH2 0x88 JUMPI DUP1 PUSH4 0xFE4B84DF EQ PUSH2 0xA4 JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0x68 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x63 SWAP2 SWAP1 PUSH2 0x132 JUMP JUMPDEST PUSH2 0xC0 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x72 PUSH2 0xD5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x7F SWAP2 SWAP1 PUSH2 0x16C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xA2 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x9D SWAP2 SWAP1 PUSH2 0x132 JUMP JUMPDEST PUSH2 0xDD JUMP JUMPDEST STOP JUMPDEST PUSH2 0xBE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xB9 SWAP2 SWAP1 PUSH2 0x132 JUMP JUMPDEST PUSH2 0xF2 JUMP JUMPDEST STOP JUMPDEST DUP1 PUSH0 SLOAD PUSH2 0xCD SWAP2 SWAP1 PUSH2 0x1B2 JUMP JUMPDEST PUSH0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST DUP1 PUSH0 SLOAD PUSH2 0xEA SWAP2 SWAP1 PUSH2 0x1E5 JUMP JUMPDEST PUSH0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST DUP1 PUSH0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x111 DUP2 PUSH2 0xFF JUMP JUMPDEST DUP2 EQ PUSH2 0x11B JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x12C DUP2 PUSH2 0x108 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x147 JUMPI PUSH2 0x146 PUSH2 0xFB JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x154 DUP5 DUP3 DUP6 ADD PUSH2 0x11E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x166 DUP2 PUSH2 0xFF JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x17F PUSH0 DUP4 ADD DUP5 PUSH2 0x15D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH2 0x1BC DUP3 PUSH2 0xFF JUMP JUMPDEST SWAP2 POP PUSH2 0x1C7 DUP4 PUSH2 0xFF JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0x1DF JUMPI PUSH2 0x1DE PUSH2 0x185 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH2 0x1EF DUP3 PUSH2 0xFF JUMP JUMPDEST SWAP2 POP PUSH2 0x1FA DUP4 PUSH2 0xFF JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0x212 JUMPI PUSH2 0x211 PUSH2 0x185 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 MLOAD 0xB8 0xA9 BLOCKHASH 0xD0 0xB1 0x4C SWAP15 LOG2 BLOBBASEFEE 0xC8 PUSH12 0xC80B720542AFE7FD1704ED1C 0xD8 PUSH6 0xE0E0396E52F9 PUSH5 0x736F6C6343 STOP ADDMOD XOR STOP CALLER ",
"sourceMap": "131:372:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;430:71;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;244:74;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;324:100;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;174:64;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;430:71;493:1;485:5;;:9;;;;:::i;:::-;477:5;:17;;;;430:71;:::o;244:74::-;280:7;306:5;;299:12;;244:74;:::o;324:100::-;387:1;379:5;;:9;;;;:::i;:::-;371:5;:17;;;;324:100;:::o;174:64::-;230:1;222:5;:9;;;;174:64;:::o;88:117:1:-;197:1;194;187:12;334:77;371:7;400:5;389:16;;334:77;;;:::o;417:122::-;490:24;508:5;490:24;:::i;:::-;483:5;480:35;470:63;;529:1;526;519:12;470:63;417:122;:::o;545:139::-;591:5;629:6;616:20;607:29;;645:33;672:5;645:33;:::i;:::-;545:139;;;;:::o;690:329::-;749:6;798:2;786:9;777:7;773:23;769:32;766:119;;;804:79;;:::i;:::-;766:119;924:1;949:53;994:7;985:6;974:9;970:22;949:53;:::i;:::-;939:63;;895:117;690:329;;;;:::o;1025:118::-;1112:24;1130:5;1112:24;:::i;:::-;1107:3;1100:37;1025:118;;:::o;1149:222::-;1242:4;1280:2;1269:9;1265:18;1257:26;;1293:71;1361:1;1350:9;1346:17;1337:6;1293:71;:::i;:::-;1149:222;;;;:::o;1377:180::-;1425:77;1422:1;1415:88;1522:4;1519:1;1512:15;1546:4;1543:1;1536:15;1563:194;1603:4;1623:20;1641:1;1623:20;:::i;:::-;1618:25;;1657:20;1675:1;1657:20;:::i;:::-;1652:25;;1701:1;1698;1694:9;1686:17;;1725:1;1719:4;1716:11;1713:37;;;1730:18;;:::i;:::-;1713:37;1563:194;;;;:::o;1763:191::-;1803:3;1822:20;1840:1;1822:20;:::i;:::-;1817:25;;1856:20;1874:1;1856:20;:::i;:::-;1851:25;;1899:1;1896;1892:9;1885:16;;1920:3;1917:1;1914:10;1911:36;;;1927:18;;:::i;:::-;1911:36;1763:191;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "118000",
"executionCost": "163",
"totalCost": "118163"
},
"external": {
"decrement(uint256)": "infinite",
"get()": "2432",
"increment(uint256)": "infinite",
"initialize(uint256)": "22558"
}
},
"methodIdentifiers": {
"decrement(uint256)": "3a9ebefd",
"get()": "6d4ce63c",
"increment(uint256)": "7cf5dab0",
"initialize(uint256)": "fe4b84df"
}
},
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "n",
"type": "uint256"
}
],
"name": "decrement",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "get",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "n",
"type": "uint256"
}
],
"name": "increment",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "x",
"type": "uint256"
}
],
"name": "initialize",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.24+commit.e11b9ed9"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "n",
"type": "uint256"
}
],
"name": "decrement",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "get",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "n",
"type": "uint256"
}
],
"name": "increment",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "x",
"type": "uint256"
}
],
"name": "initialize",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"contracts/Counter.sol": "Counter"
},
"evmVersion": "shanghai",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"contracts/Counter.sol": {
"keccak256": "0x95faa70030c88fb7b884d9c3f4cc0080cc667a66a16a57dd196ffa924392dde9",
"license": "UNLICENSED",
"urls": [
"bzz-raw://8ce8cbf5ede54081da92d8e84c91d3cd3ef7da89f4e9bab3630a645f30a43b9d",
"dweb:/ipfs/QmSF3LNgGE9hbF3J3whHCxvCKtx6ecMYnLCTXaFBRx5ang"
]
}
},
"version": 1
}
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.24;
// imagine a big integer counter that the whole world could share
contract Counter {
uint256 value;
function initialize(uint256 x) public {
value = x;
}
function get() public view returns (uint256) {
return value;
}
function increment(uint256 n) public {
value = value + n;
// return (optional)
}
function decrement(uint256 n) public {
value = value - n;
}
}
{
"accounts": {
"account{0}": "0x5B38Da6a701c568545dCfcB03FcB875f56beddC4"
},
"linkReferences": {},
"transactions": [
{
"timestamp": 1710059907469,
"record": {
"value": "0",
"inputs": "()",
"parameters": [],
"name": "",
"type": "constructor",
"abi": "0x9870e0f2cfa040ff5a2d69ae1f1bb4a7abc5ccb31a1a9f901d195b9f2d3526f9",
"contractName": "Counter",
"bytecode": "608060405234801561000f575f80fd5b5061024e8061001d5f395ff3fe608060405234801561000f575f80fd5b506004361061004a575f3560e01c80633a9ebefd1461004e5780636d4ce63c1461006a5780637cf5dab014610088578063fe4b84df146100a4575b5f80fd5b61006860048036038101906100639190610132565b6100c0565b005b6100726100d5565b60405161007f919061016c565b60405180910390f35b6100a2600480360381019061009d9190610132565b6100dd565b005b6100be60048036038101906100b99190610132565b6100f2565b005b805f546100cd91906101b2565b5f8190555050565b5f8054905090565b805f546100ea91906101e5565b5f8190555050565b805f8190555050565b5f80fd5b5f819050919050565b610111816100ff565b811461011b575f80fd5b50565b5f8135905061012c81610108565b92915050565b5f60208284031215610147576101466100fb565b5b5f6101548482850161011e565b91505092915050565b610166816100ff565b82525050565b5f60208201905061017f5f83018461015d565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6101bc826100ff565b91506101c7836100ff565b92508282039050818111156101df576101de610185565b5b92915050565b5f6101ef826100ff565b91506101fa836100ff565b925082820190508082111561021257610211610185565b5b9291505056fea264697066735822122051b8a940d0b14c9ea24ac86bc80b720542afe7fd1704ed1cd865e0e0396e52f964736f6c63430008180033",
"linkReferences": {},
"from": "account{0}"
}
},
{
"timestamp": 1710059922870,
"record": {
"value": "0",
"inputs": "(uint256)",
"parameters": [
"200"
],
"name": "decrement",
"type": "function",
"to": "created{1710059907469}",
"abi": "0x9870e0f2cfa040ff5a2d69ae1f1bb4a7abc5ccb31a1a9f901d195b9f2d3526f9",
"from": "account{0}"
}
},
{
"timestamp": 1710059941905,
"record": {
"value": "0",
"inputs": "(uint256)",
"parameters": [
"100"
],
"name": "increment",
"type": "function",
"to": "created{1710059907469}",
"abi": "0x9870e0f2cfa040ff5a2d69ae1f1bb4a7abc5ccb31a1a9f901d195b9f2d3526f9",
"from": "account{0}"
}
},
{
"timestamp": 1710059960169,
"record": {
"value": "0",
"inputs": "(uint256)",
"parameters": [
"400"
],
"name": "initialize",
"type": "function",
"to": "created{1710059907469}",
"abi": "0x9870e0f2cfa040ff5a2d69ae1f1bb4a7abc5ccb31a1a9f901d195b9f2d3526f9",
"from": "account{0}"
}
},
{
"timestamp": 1710059962470,
"record": {
"value": "0",
"inputs": "(uint256)",
"parameters": [
"100"
],
"name": "increment",
"type": "function",
"to": "created{1710059907469}",
"abi": "0x9870e0f2cfa040ff5a2d69ae1f1bb4a7abc5ccb31a1a9f901d195b9f2d3526f9",
"from": "account{0}"
}
},
{
"timestamp": 1710059963860,
"record": {
"value": "0",
"inputs": "(uint256)",
"parameters": [
"200"
],
"name": "decrement",
"type": "function",
"to": "created{1710059907469}",
"abi": "0x9870e0f2cfa040ff5a2d69ae1f1bb4a7abc5ccb31a1a9f901d195b9f2d3526f9",
"from": "account{0}"
}
},
{
"timestamp": 1710059992764,
"record": {
"value": "0",
"inputs": "()",
"parameters": [],
"name": "",
"type": "constructor",
"abi": "0x7ec186b29a1ddf87bcf50ae3b94a4931861dd85e0947a166d9e857ab0e914cb8",
"contractName": "Counter",
"bytecode": "608060405234801561000f575f80fd5b5061024e8061001d5f395ff3fe608060405234801561000f575f80fd5b506004361061004a575f3560e01c80633a9ebefd1461004e5780636d4ce63c1461006a5780637cf5dab014610088578063fe4b84df146100a4575b5f80fd5b61006860048036038101906100639190610132565b6100c0565b005b6100726100d5565b60405161007f919061016c565b60405180910390f35b6100a2600480360381019061009d9190610132565b6100dd565b005b6100be60048036038101906100b99190610132565b6100f2565b005b805f546100cd91906101b2565b5f8190555050565b5f8054905090565b805f546100ea91906101e5565b5f8190555050565b805f8190555050565b5f80fd5b5f819050919050565b610111816100ff565b811461011b575f80fd5b50565b5f8135905061012c81610108565b92915050565b5f60208284031215610147576101466100fb565b5b5f6101548482850161011e565b91505092915050565b610166816100ff565b82525050565b5f60208201905061017f5f83018461015d565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6101bc826100ff565b91506101c7836100ff565b92508282039050818111156101df576101de610185565b5b92915050565b5f6101ef826100ff565b91506101fa836100ff565b925082820190508082111561021257610211610185565b5b9291505056fea264697066735822122051b8a940d0b14c9ea24ac86bc80b720542afe7fd1704ed1cd865e0e0396e52f964736f6c63430008180033",
"linkReferences": {},
"from": "account{0}"
}
},
{
"timestamp": 1710060023134,
"record": {
"value": "0",
"inputs": "(uint256)",
"parameters": [
"100"
],
"name": "initialize",
"type": "function",
"to": "created{1710059992764}",
"abi": "0x7ec186b29a1ddf87bcf50ae3b94a4931861dd85e0947a166d9e857ab0e914cb8",
"from": "account{0}"
}
},
{
"timestamp": 1710060037021,
"record": {
"value": "0",
"inputs": "(uint256)",
"parameters": [
"20"
],
"name": "increment",
"type": "function",
"to": "created{1710059992764}",
"abi": "0x7ec186b29a1ddf87bcf50ae3b94a4931861dd85e0947a166d9e857ab0e914cb8",
"from": "account{0}"
}
},
{
"timestamp": 1710060049013,
"record": {
"value": "0",
"inputs": "(uint256)",
"parameters": [
"30"
],
"name": "decrement",
"type": "function",
"to": "created{1710059992764}",
"abi": "0x7ec186b29a1ddf87bcf50ae3b94a4931861dd85e0947a166d9e857ab0e914cb8",
"from": "account{0}"
}
}
],
"abis": {
"0x9870e0f2cfa040ff5a2d69ae1f1bb4a7abc5ccb31a1a9f901d195b9f2d3526f9": [
{
"inputs": [
{
"internalType": "uint256",
"name": "n",
"type": "uint256"
}
],
"name": "decrement",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "n",
"type": "uint256"
}
],
"name": "increment",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "x",
"type": "uint256"
}
],
"name": "initialize",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "get",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
}
],
"0x7ec186b29a1ddf87bcf50ae3b94a4931861dd85e0947a166d9e857ab0e914cb8": [
{
"inputs": [
{
"internalType": "uint256",
"name": "n",
"type": "uint256"
}
],
"name": "decrement",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "n",
"type": "uint256"
}
],
"name": "increment",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "x",
"type": "uint256"
}
],
"name": "initialize",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "get",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
}
]
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment