{
  "_format": "hh-sol-artifact-1",
  "contractName": "ClusterFormulaArea",
  "sourceName": "contracts/V3/ClusterFormulaArea.sol",
  "abi": [
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint8",
          "name": "version",
          "type": "uint8"
        }
      ],
      "name": "Initialized",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferred",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "cname",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        }
      ],
      "name": "formulaDescription",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        },
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "formulaList",
      "outputs": [
        {
          "internalType": "int256",
          "name": "",
          "type": "int256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        }
      ],
      "name": "formulaName",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "name": "formulaState",
      "outputs": [
        {
          "internalType": "uint8",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "clusterArea_",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "engine_",
          "type": "address"
        }
      ],
      "name": "initialize",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "renounceOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint32",
          "name": "clusterId",
          "type": "uint32"
        },
        {
          "internalType": "string[]",
          "name": "nameList",
          "type": "string[]"
        },
        {
          "internalType": "string[]",
          "name": "descriptionList",
          "type": "string[]"
        },
        {
          "internalType": "int256[][]",
          "name": "formulaItemList",
          "type": "int256[][]"
        }
      ],
      "name": "setFormulaList",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "version",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b50610ead806100206000396000f3fe608060405234801561001057600080fd5b50600436106100995760003560e01c80632bae8c911461009e57806334c76b25146100d8578063485cc9551461010f57806354fd4d5014610124578063715018a6146101355780638da5cb5b1461013d5780639adf9a3a14610158578063ba5543221461016b578063defd902c1461017e578063e1ad66e014610191578063f2fde38b146101a4575b600080fd5b6100c16100ac36600461093b565b606b6020526000908152604090205460ff1681565b60405160ff90911681526020015b60405180910390f35b604080518082019091526012815271436c7573746572466f726d756c614172656160701b60208201525b6040516100cf9190610954565b61012261011d3660046109c5565b6101b7565b005b60015b6040519081526020016100cf565b610122610307565b6033546040516001600160a01b0390911681526020016100cf565b610102610166366004610a10565b61031b565b610122610179366004610b83565b6103b5565b61012761018c366004610cf7565b6106a2565b61010261019f366004610a10565b6106d3565b6101226101b2366004610d21565b6106ec565b600054610100900460ff16158080156101d75750600054600160ff909116105b806101f15750303b1580156101f1575060005460ff166001145b6102595760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff19166001179055801561027c576000805461ff0019166101001790555b610284610765565b61028c61078c565b606680546001600160a01b038085166001600160a01b03199283161790925560678054928616929091169190911790558015610302576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b61030f6107bc565b6103196000610816565b565b6069602052600090815260409020805461033490610d3c565b80601f016020809104026020016040519081016040528092919081815260200182805461036090610d3c565b80156103ad5780601f10610382576101008083540402835291602001916103ad565b820191906000526020600020905b81548152906001019060200180831161039057829003601f168201915b505050505081565b606754604080516378d0973360e11b815263ffffffff871660048201526002602482015233604482015290516001600160a01b039092169163f1a12e6691606480820192602092909190829003018186803b15801561041357600080fd5b505afa158015610427573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061044b9190610d77565b6104a85760405162461bcd60e51b815260206004820152602860248201527f63616c6c20736574466f726d756c614c697374206d75737420636c75737465726044820152672232b83637bcb2b960c11b6064820152608401610250565b81518351146105105760405162461bcd60e51b815260206004820152602e60248201527f6d757374206e616d654c6973742e6c656e677468203d3d20646573637269707460448201526d0d2dedc98d2e6e85cd8cadccee8d60931b6064820152608401610250565b80518351146105745760405162461bcd60e51b815260206004820152602a60248201527f6d757374206e616d654c6973742e6c656e677468203d3d20666f726d756c614c6044820152690d2e6e85cd8cadccee8d60b31b6064820152608401610250565b60005b835181101561069b57600082828151811061059457610594610d99565b60200260200101519050600086826040516020016105b3929190610daf565b60408051601f1981840301815291815281516020928301206001600160e01b031981166000908152606884529190912084519193506105f792909190850190610868565b5085838151811061060a5761060a610d99565b6020908102919091018101516001600160e01b0319831660009081526069835260409020815161063f939192909101906108b3565b5084838151811061065257610652610d99565b6020908102919091018101516001600160e01b031983166000908152606a8352604090208151610687939192909101906108b3565b5050508061069490610e03565b9050610577565b5050505050565b606860205281600052604060002081815481106106be57600080fd5b90600052602060002001600091509150505481565b606a602052600090815260409020805461033490610d3c565b6106f46107bc565b6001600160a01b0381166107595760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610250565b61076281610816565b50565b600054610100900460ff166103195760405162461bcd60e51b815260040161025090610e2c565b600054610100900460ff166107b35760405162461bcd60e51b815260040161025090610e2c565b61031933610816565b6033546001600160a01b031633146103195760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610250565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b8280548282559060005260206000209081019282156108a3579160200282015b828111156108a3578251825591602001919060010190610888565b506108af929150610926565b5090565b8280546108bf90610d3c565b90600052602060002090601f0160209004810192826108e157600085556108a3565b82601f106108fa57805160ff19168380011785556108a3565b828001600101855582156108a357918201828111156108a3578251825591602001919060010190610888565b5b808211156108af5760008155600101610927565b60006020828403121561094d57600080fd5b5035919050565b600060208083528351808285015260005b8181101561098157858101830151858201604001528201610965565b81811115610993576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b03811681146109c057600080fd5b919050565b600080604083850312156109d857600080fd5b6109e1836109a9565b91506109ef602084016109a9565b90509250929050565b80356001600160e01b0319811681146109c057600080fd5b600060208284031215610a2257600080fd5b610a2b826109f8565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715610a7057610a70610a32565b604052919050565b60006001600160401b03821115610a9157610a91610a32565b5060051b60200190565b6000601f8381840112610aad57600080fd5b82356020610ac2610abd83610a78565b610a48565b82815260059290921b85018101918181019087841115610ae157600080fd5b8287015b84811015610b775780356001600160401b0380821115610b055760008081fd5b818a0191508a603f830112610b1a5760008081fd5b85820135604082821115610b3057610b30610a32565b610b41828b01601f19168901610a48565b92508183528c81838601011115610b585760008081fd5b8181850189850137506000908201870152845250918301918301610ae5565b50979650505050505050565b60008060008060808587031215610b9957600080fd5b843563ffffffff811614610bac57600080fd5b8435935060208501356001600160401b0380821115610bca57600080fd5b610bd688838901610a9b565b94506040870135915080821115610bec57600080fd5b610bf888838901610a9b565b93506060870135915080821115610c0e57600080fd5b818701915087601f830112610c2257600080fd5b610c2f610abd8335610a78565b82358082526020808301929160051b8501018a811115610c4e57600080fd5b602085015b81811015610ce5578481351115610c6957600080fd5b803586018c603f820112610c7c57600080fd5b6020810135610c8d610abd82610a78565b81815260059190911b82016040019060208101908f831115610cae57600080fd5b6040840193505b82841015610cd0578335825260209384019390910190610cb5565b87525050602094850194919091019050610c53565b50508094505050505092959194509250565b60008060408385031215610d0a57600080fd5b610d13836109f8565b946020939093013593505050565b600060208284031215610d3357600080fd5b610a2b826109a9565b600181811c90821680610d5057607f821691505b60208210811415610d7157634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215610d8957600080fd5b81518015158114610a2b57600080fd5b634e487b7160e01b600052603260045260246000fd5b60006040820163ffffffff851683526020604081850152818551808452606086019150828701935060005b81811015610df657845183529383019391830191600101610dda565b5090979650505050505050565b6000600019821415610e2557634e487b7160e01b600052601160045260246000fd5b5060010190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fea26469706673582212203ea53adf9731e0f79dd185627e75bf5ac6353ea1453d2fe9ca8361817c5ca27864736f6c63430008080033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100995760003560e01c80632bae8c911461009e57806334c76b25146100d8578063485cc9551461010f57806354fd4d5014610124578063715018a6146101355780638da5cb5b1461013d5780639adf9a3a14610158578063ba5543221461016b578063defd902c1461017e578063e1ad66e014610191578063f2fde38b146101a4575b600080fd5b6100c16100ac36600461093b565b606b6020526000908152604090205460ff1681565b60405160ff90911681526020015b60405180910390f35b604080518082019091526012815271436c7573746572466f726d756c614172656160701b60208201525b6040516100cf9190610954565b61012261011d3660046109c5565b6101b7565b005b60015b6040519081526020016100cf565b610122610307565b6033546040516001600160a01b0390911681526020016100cf565b610102610166366004610a10565b61031b565b610122610179366004610b83565b6103b5565b61012761018c366004610cf7565b6106a2565b61010261019f366004610a10565b6106d3565b6101226101b2366004610d21565b6106ec565b600054610100900460ff16158080156101d75750600054600160ff909116105b806101f15750303b1580156101f1575060005460ff166001145b6102595760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff19166001179055801561027c576000805461ff0019166101001790555b610284610765565b61028c61078c565b606680546001600160a01b038085166001600160a01b03199283161790925560678054928616929091169190911790558015610302576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b61030f6107bc565b6103196000610816565b565b6069602052600090815260409020805461033490610d3c565b80601f016020809104026020016040519081016040528092919081815260200182805461036090610d3c565b80156103ad5780601f10610382576101008083540402835291602001916103ad565b820191906000526020600020905b81548152906001019060200180831161039057829003601f168201915b505050505081565b606754604080516378d0973360e11b815263ffffffff871660048201526002602482015233604482015290516001600160a01b039092169163f1a12e6691606480820192602092909190829003018186803b15801561041357600080fd5b505afa158015610427573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061044b9190610d77565b6104a85760405162461bcd60e51b815260206004820152602860248201527f63616c6c20736574466f726d756c614c697374206d75737420636c75737465726044820152672232b83637bcb2b960c11b6064820152608401610250565b81518351146105105760405162461bcd60e51b815260206004820152602e60248201527f6d757374206e616d654c6973742e6c656e677468203d3d20646573637269707460448201526d0d2dedc98d2e6e85cd8cadccee8d60931b6064820152608401610250565b80518351146105745760405162461bcd60e51b815260206004820152602a60248201527f6d757374206e616d654c6973742e6c656e677468203d3d20666f726d756c614c6044820152690d2e6e85cd8cadccee8d60b31b6064820152608401610250565b60005b835181101561069b57600082828151811061059457610594610d99565b60200260200101519050600086826040516020016105b3929190610daf565b60408051601f1981840301815291815281516020928301206001600160e01b031981166000908152606884529190912084519193506105f792909190850190610868565b5085838151811061060a5761060a610d99565b6020908102919091018101516001600160e01b0319831660009081526069835260409020815161063f939192909101906108b3565b5084838151811061065257610652610d99565b6020908102919091018101516001600160e01b031983166000908152606a8352604090208151610687939192909101906108b3565b5050508061069490610e03565b9050610577565b5050505050565b606860205281600052604060002081815481106106be57600080fd5b90600052602060002001600091509150505481565b606a602052600090815260409020805461033490610d3c565b6106f46107bc565b6001600160a01b0381166107595760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610250565b61076281610816565b50565b600054610100900460ff166103195760405162461bcd60e51b815260040161025090610e2c565b600054610100900460ff166107b35760405162461bcd60e51b815260040161025090610e2c565b61031933610816565b6033546001600160a01b031633146103195760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610250565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b8280548282559060005260206000209081019282156108a3579160200282015b828111156108a3578251825591602001919060010190610888565b506108af929150610926565b5090565b8280546108bf90610d3c565b90600052602060002090601f0160209004810192826108e157600085556108a3565b82601f106108fa57805160ff19168380011785556108a3565b828001600101855582156108a357918201828111156108a3578251825591602001919060010190610888565b5b808211156108af5760008155600101610927565b60006020828403121561094d57600080fd5b5035919050565b600060208083528351808285015260005b8181101561098157858101830151858201604001528201610965565b81811115610993576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b03811681146109c057600080fd5b919050565b600080604083850312156109d857600080fd5b6109e1836109a9565b91506109ef602084016109a9565b90509250929050565b80356001600160e01b0319811681146109c057600080fd5b600060208284031215610a2257600080fd5b610a2b826109f8565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715610a7057610a70610a32565b604052919050565b60006001600160401b03821115610a9157610a91610a32565b5060051b60200190565b6000601f8381840112610aad57600080fd5b82356020610ac2610abd83610a78565b610a48565b82815260059290921b85018101918181019087841115610ae157600080fd5b8287015b84811015610b775780356001600160401b0380821115610b055760008081fd5b818a0191508a603f830112610b1a5760008081fd5b85820135604082821115610b3057610b30610a32565b610b41828b01601f19168901610a48565b92508183528c81838601011115610b585760008081fd5b8181850189850137506000908201870152845250918301918301610ae5565b50979650505050505050565b60008060008060808587031215610b9957600080fd5b843563ffffffff811614610bac57600080fd5b8435935060208501356001600160401b0380821115610bca57600080fd5b610bd688838901610a9b565b94506040870135915080821115610bec57600080fd5b610bf888838901610a9b565b93506060870135915080821115610c0e57600080fd5b818701915087601f830112610c2257600080fd5b610c2f610abd8335610a78565b82358082526020808301929160051b8501018a811115610c4e57600080fd5b602085015b81811015610ce5578481351115610c6957600080fd5b803586018c603f820112610c7c57600080fd5b6020810135610c8d610abd82610a78565b81815260059190911b82016040019060208101908f831115610cae57600080fd5b6040840193505b82841015610cd0578335825260209384019390910190610cb5565b87525050602094850194919091019050610c53565b50508094505050505092959194509250565b60008060408385031215610d0a57600080fd5b610d13836109f8565b946020939093013593505050565b600060208284031215610d3357600080fd5b610a2b826109a9565b600181811c90821680610d5057607f821691505b60208210811415610d7157634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215610d8957600080fd5b81518015158114610a2b57600080fd5b634e487b7160e01b600052603260045260246000fd5b60006040820163ffffffff851683526020604081850152818551808452606086019150828701935060005b81811015610df657845183529383019391830191600101610dda565b5090979650505050505050565b6000600019821415610e2557634e487b7160e01b600052601160045260246000fd5b5060010190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fea26469706673582212203ea53adf9731e0f79dd185627e75bf5ac6353ea1453d2fe9ca8361817c5ca27864736f6c63430008080033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
