{
  "contractName": "TokenCapGC",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "contract IERC20",
          "name": "_token",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_cap",
          "type": "uint256"
        }
      ],
      "name": "initialize",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "parameters",
      "outputs": [
        {
          "internalType": "contract IERC20",
          "name": "token",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "cap",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "post",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "pre",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "when",
      "outputs": [
        {
          "internalType": "enum GlobalConstraintInterface.CallPhase",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b50610359806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c8063890357301461005c578063c63b7d0914610087578063cd6dc687146100c7578063d57a58fa146100f5578063e2b0caef14610121575b600080fd5b61006461014d565b604080516001600160a01b03909316835260208301919091528051918290030190f35b6100b36004803603604081101561009d57600080fd5b506001600160a01b038135169060200135610162565b604080519115158252519081900360200190f35b6100f3600480360360408110156100dd57600080fd5b506001600160a01b03813516906020013561016b565b005b6100b36004803603604081101561010b57600080fd5b506001600160a01b038135169060200135610246565b6101296102ea565b6040518082600281111561013957fe5b60ff16815260200191505060405180910390f35b6033546034546001600160a01b039091169082565b60015b92915050565b600054610100900460ff168061018457506101846102ef565b80610192575060005460ff16155b6101cd5760405162461bcd60e51b815260040180806020018281038252602e8152602001806102f6602e913960400191505060405180910390fd5b600054610100900460ff161580156101f8576000805460ff1961ff0019909116610100171660011790555b604080518082019091526001600160a01b0384168082526020909101839052603380546001600160a01b031916909117905560348290558015610241576000805461ff00191690555b505050565b6033546000906001600160a01b0316158015906102d45750603454603354604080516318160ddd60e01b815290516001600160a01b03909216916318160ddd91600480820192602092909190829003018186803b1580156102a657600080fd5b505afa1580156102ba573d6000803e3d6000fd5b505050506040513d60208110156102d057600080fd5b5051115b156102e157506000610165565b50600192915050565b600190565b303b159056fe436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a2646970667358221220ab59d2c5bee0dd307e209b51164ec82bc1d6aa86e4a1a572cb06dc5f1de6e47c64736f6c634300060a0033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c8063890357301461005c578063c63b7d0914610087578063cd6dc687146100c7578063d57a58fa146100f5578063e2b0caef14610121575b600080fd5b61006461014d565b604080516001600160a01b03909316835260208301919091528051918290030190f35b6100b36004803603604081101561009d57600080fd5b506001600160a01b038135169060200135610162565b604080519115158252519081900360200190f35b6100f3600480360360408110156100dd57600080fd5b506001600160a01b03813516906020013561016b565b005b6100b36004803603604081101561010b57600080fd5b506001600160a01b038135169060200135610246565b6101296102ea565b6040518082600281111561013957fe5b60ff16815260200191505060405180910390f35b6033546034546001600160a01b039091169082565b60015b92915050565b600054610100900460ff168061018457506101846102ef565b80610192575060005460ff16155b6101cd5760405162461bcd60e51b815260040180806020018281038252602e8152602001806102f6602e913960400191505060405180910390fd5b600054610100900460ff161580156101f8576000805460ff1961ff0019909116610100171660011790555b604080518082019091526001600160a01b0384168082526020909101839052603380546001600160a01b031916909117905560348290558015610241576000805461ff00191690555b505050565b6033546000906001600160a01b0316158015906102d45750603454603354604080516318160ddd60e01b815290516001600160a01b03909216916318160ddd91600480820192602092909190829003018186803b1580156102a657600080fd5b505afa1580156102ba573d6000803e3d6000fd5b505050506040513d60208110156102d057600080fd5b5051115b156102e157506000610165565b50600192915050565b600190565b303b159056fe436f6e747261637420696e7374616e63652068617320616c7265616479206265656e20696e697469616c697a6564a2646970667358221220ab59d2c5bee0dd307e209b51164ec82bc1d6aa86e4a1a572cb06dc5f1de6e47c64736f6c634300060a0033"
}