{
  "compiler": {
    "version": "0.8.30+commit.73712a01"
  },
  "language": "Solidity",
  "output": {
    "abi": [
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "purchaser",
            "type": "address",
            "indexed": true
          },
          {
            "internalType": "address",
            "name": "beneficiary",
            "type": "address",
            "indexed": true
          },
          {
            "internalType": "uint256",
            "name": "value",
            "type": "uint256",
            "indexed": false
          },
          {
            "internalType": "uint256",
            "name": "amount",
            "type": "uint256",
            "indexed": false
          }
        ],
        "type": "event",
        "name": "TokensPurchased",
        "anonymous": false
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "beneficiary",
            "type": "address"
          }
        ],
        "stateMutability": "payable",
        "type": "function",
        "name": "buyTokens"
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "beneficiary",
            "type": "address"
          },
          {
            "internalType": "uint256",
            "name": "tokenAmount",
            "type": "uint256"
          }
        ],
        "stateMutability": "nonpayable",
        "type": "function",
        "name": "externalBuyTokens"
      },
      {
        "inputs": [],
        "stateMutability": "view",
        "type": "function",
        "name": "fundsRaised",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "",
            "type": "uint256"
          }
        ]
      },
      {
        "inputs": [],
        "stateMutability": "view",
        "type": "function",
        "name": "token",
        "outputs": [
          {
            "internalType": "contract IERC20",
            "name": "",
            "type": "address"
          }
        ]
      },
      {
        "inputs": [],
        "stateMutability": "view",
        "type": "function",
        "name": "tokensAvailable",
        "outputs": [
          {
            "internalType": "uint256",
            "name": "",
            "type": "uint256"
          }
        ]
      },
      {
        "inputs": [],
        "stateMutability": "view",
        "type": "function",
        "name": "wallet",
        "outputs": [
          {
            "internalType": "address payable",
            "name": "",
            "type": "address"
          }
        ]
      }
    ],
    "devdoc": {
      "kind": "dev",
      "methods": {},
      "version": 1
    },
    "userdoc": {
      "kind": "user",
      "methods": {},
      "version": 1
    }
  },
  "settings": {
    "remappings": [
      "@openzeppelin/=node_modules/@openzeppelin/",
      "forge-std/=lib/forge-std/src/",
      "hardhat/=node_modules/hardhat/"
    ],
    "optimizer": {
      "enabled": true,
      "runs": 200
    },
    "metadata": {
      "bytecodeHash": "ipfs"
    },
    "compilationTarget": {
      "contracts/library/ICrowdSale.sol": "ICrowdSale"
    },
    "evmVersion": "cancun",
    "libraries": {},
    "viaIR": true
  },
  "sources": {
    "contracts/library/ICrowdSale.sol": {
      "keccak256": "0xe5539638218e0e027b15b9c236cb9d2dcffcb0ea3ed79d8374e11d120d1b1d4d",
      "urls": [
        "bzz-raw://3600a70cc759026e923c594f69fd68d5ad3476fcfaa5945245ce08fe94b0a953",
        "dweb:/ipfs/QmRq9A3iei2J1ocWDoq1xL5xLdnSAgxfuktuC3XsFhFUqh"
      ],
      "license": "FSL-1.1-MIT"
    },
    "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": {
      "keccak256": "0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2",
      "urls": [
        "bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303",
        "dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV"
      ],
      "license": "MIT"
    }
  },
  "version": 1
}