{
  "abi": [
    {
      "inputs": [],
      "name": "increment",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "number",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "newNumber",
          "type": "uint256"
        }
      ],
      "name": "setNumber",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": {
    "object": "0x608060405234801561001057600080fd5b5060f78061001f6000396000f3fe6080604052348015600f57600080fd5b5060043610603c5760003560e01c80633fb5c1cb1460415780638381f58a146053578063d09de08a14606d575b600080fd5b6051604c3660046083565b600055565b005b605b60005481565b60405190815260200160405180910390f35b6051600080549080607c83609b565b9190505550565b600060208284031215609457600080fd5b5035919050565b60006001820160ba57634e487b7160e01b600052601160045260246000fd5b506001019056fea26469706673582212208fe2d9e04b045477f5760a998d5008e60f9cd79be7197e337e6e8084a1e3f7c664736f6c63430008110033",
    "sourceMap": "65:192:16:-:0;;;;;;;;;;;;;;;;;;;",
    "linkReferences": {}
  },
  "deployedBytecode": {
    "object": "0x6080604052348015600f57600080fd5b5060043610603c5760003560e01c80633fb5c1cb1460415780638381f58a146053578063d09de08a14606d575b600080fd5b6051604c3660046083565b600055565b005b605b60005481565b60405190815260200160405180910390f35b6051600080549080607c83609b565b9190505550565b600060208284031215609457600080fd5b5035919050565b60006001820160ba57634e487b7160e01b600052601160045260246000fd5b506001019056fea26469706673582212208fe2d9e04b045477f5760a998d5008e60f9cd79be7197e337e6e8084a1e3f7c664736f6c63430008110033",
    "sourceMap": "65:192:16:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;116:80;;;;;;:::i;:::-;171:6;:18;116:80;;;88:21;;;;;;;;;345:25:18;;;333:2;318:18;88:21:16;;;;;;;202:53;;240:6;:8;;;:6;:8;;;:::i;:::-;;;;;;202:53::o;14:180:18:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:18;;14:180;-1:-1:-1;14:180:18:o;381:232::-;420:3;441:17;;;438:140;;500:10;495:3;491:20;488:1;481:31;535:4;532:1;525:15;563:4;560:1;553:15;438:140;-1:-1:-1;605:1:18;594:13;;381:232::o",
    "linkReferences": {}
  },
  "methodIdentifiers": {
    "increment()": "d09de08a",
    "number()": "8381f58a",
    "setNumber(uint256)": "3fb5c1cb"
  },
  "rawMetadata": "{\"compiler\":{\"version\":\"0.8.17+commit.8df45f5f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"increment\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"number\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newNumber\",\"type\":\"uint256\"}],\"name\":\"setNumber\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/Counter.sol\":\"Counter\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\"]},\"sources\":{\"src/Counter.sol\":{\"keccak256\":\"0x09277f949d59a9521708c870dc39c2c434ad8f86a5472efda6a732ef728c0053\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://94cd5258357da018bf911aeda60ed9f5b130dce27445669ee200313cd3389200\",\"dweb:/ipfs/QmNbEfWAqXCtfQpk6u7TpGa8sTHXFLpUz7uebz2FVbchSC\"]}},\"version\":1}",
  "metadata": {
    "compiler": {
      "version": "0.8.17+commit.8df45f5f"
    },
    "language": "Solidity",
    "output": {
      "abi": [
        {
          "inputs": [],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "increment"
        },
        {
          "inputs": [],
          "stateMutability": "view",
          "type": "function",
          "name": "number",
          "outputs": [
            {
              "internalType": "uint256",
              "name": "",
              "type": "uint256"
            }
          ]
        },
        {
          "inputs": [
            {
              "internalType": "uint256",
              "name": "newNumber",
              "type": "uint256"
            }
          ],
          "stateMutability": "nonpayable",
          "type": "function",
          "name": "setNumber"
        }
      ],
      "devdoc": {
        "kind": "dev",
        "methods": {},
        "version": 1
      },
      "userdoc": {
        "kind": "user",
        "methods": {},
        "version": 1
      }
    },
    "settings": {
      "remappings": [
        ":ds-test/=lib/forge-std/lib/ds-test/src/",
        ":forge-std/=lib/forge-std/src/"
      ],
      "optimizer": {
        "enabled": true,
        "runs": 200
      },
      "metadata": {
        "bytecodeHash": "ipfs"
      },
      "compilationTarget": {
        "src/Counter.sol": "Counter"
      },
      "libraries": {}
    },
    "sources": {
      "src/Counter.sol": {
        "keccak256": "0x09277f949d59a9521708c870dc39c2c434ad8f86a5472efda6a732ef728c0053",
        "urls": [
          "bzz-raw://94cd5258357da018bf911aeda60ed9f5b130dce27445669ee200313cd3389200",
          "dweb:/ipfs/QmNbEfWAqXCtfQpk6u7TpGa8sTHXFLpUz7uebz2FVbchSC"
        ],
        "license": "UNLICENSED"
      }
    },
    "version": 1
  },
  "ast": {
    "absolutePath": "src/Counter.sol",
    "id": 24486,
    "exportedSymbols": {
      "Counter": [
        24485
      ]
    },
    "nodeType": "SourceUnit",
    "src": "39:219:16",
    "nodes": [
      {
        "id": 24465,
        "nodeType": "PragmaDirective",
        "src": "39:24:16",
        "literals": [
          "solidity",
          "^",
          "0.8",
          ".13"
        ]
      },
      {
        "id": 24485,
        "nodeType": "ContractDefinition",
        "src": "65:192:16",
        "nodes": [
          {
            "id": 24467,
            "nodeType": "VariableDeclaration",
            "src": "88:21:16",
            "constant": false,
            "functionSelector": "8381f58a",
            "mutability": "mutable",
            "name": "number",
            "nameLocation": "103:6:16",
            "scope": 24485,
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 24466,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "88:7:16",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "visibility": "public"
          },
          {
            "id": 24477,
            "nodeType": "FunctionDefinition",
            "src": "116:80:16",
            "body": {
              "id": 24476,
              "nodeType": "Block",
              "src": "161:35:16",
              "statements": [
                {
                  "expression": {
                    "id": 24474,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 24472,
                      "name": "number",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 24467,
                      "src": "171:6:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "id": 24473,
                      "name": "newNumber",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 24469,
                      "src": "180:9:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "171:18:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 24475,
                  "nodeType": "ExpressionStatement",
                  "src": "171:18:16"
                }
              ]
            },
            "functionSelector": "3fb5c1cb",
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "setNumber",
            "nameLocation": "125:9:16",
            "parameters": {
              "id": 24470,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 24469,
                  "mutability": "mutable",
                  "name": "newNumber",
                  "nameLocation": "143:9:16",
                  "nodeType": "VariableDeclaration",
                  "scope": 24477,
                  "src": "135:17:16",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 24468,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "135:7:16",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "134:19:16"
            },
            "returnParameters": {
              "id": 24471,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "161:0:16"
            },
            "scope": 24485,
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "id": 24484,
            "nodeType": "FunctionDefinition",
            "src": "202:53:16",
            "body": {
              "id": 24483,
              "nodeType": "Block",
              "src": "230:25:16",
              "statements": [
                {
                  "expression": {
                    "id": 24481,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "UnaryOperation",
                    "operator": "++",
                    "prefix": false,
                    "src": "240:8:16",
                    "subExpression": {
                      "id": 24480,
                      "name": "number",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 24467,
                      "src": "240:6:16",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 24482,
                  "nodeType": "ExpressionStatement",
                  "src": "240:8:16"
                }
              ]
            },
            "functionSelector": "d09de08a",
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "increment",
            "nameLocation": "211:9:16",
            "parameters": {
              "id": 24478,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "220:2:16"
            },
            "returnParameters": {
              "id": 24479,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "230:0:16"
            },
            "scope": 24485,
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          }
        ],
        "abstract": false,
        "baseContracts": [],
        "canonicalName": "Counter",
        "contractDependencies": [],
        "contractKind": "contract",
        "fullyImplemented": true,
        "linearizedBaseContracts": [
          24485
        ],
        "name": "Counter",
        "nameLocation": "74:7:16",
        "scope": 24486,
        "usedErrors": []
      }
    ],
    "license": "UNLICENSED"
  },
  "id": 16
}