{"abi":[{"type":"function","name":"addInput","inputs":[{"name":"appContract","type":"address","internalType":"address"},{"name":"payload","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"getDeploymentBlockNumber","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getInputHash","inputs":[{"name":"appContract","type":"address","internalType":"address"},{"name":"index","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getNumberOfInputs","inputs":[{"name":"appContract","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"InputAdded","inputs":[{"name":"appContract","type":"address","indexed":true,"internalType":"address"},{"name":"index","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"input","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"InputTooLarge","inputs":[{"name":"appContract","type":"address","internalType":"address"},{"name":"inputLength","type":"uint256","internalType":"uint256"},{"name":"maxInputLength","type":"uint256","internalType":"uint256"}]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"addInput(address,bytes)":"1789cd63","getDeploymentBlockNumber()":"b3a1acd8","getInputHash(address,uint256)":"677087c9","getNumberOfInputs(address)":"61a93c87"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"appContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"inputLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxInputLength\",\"type\":\"uint256\"}],\"name\":\"InputTooLarge\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"appContract\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"input\",\"type\":\"bytes\"}],\"name\":\"InputAdded\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"appContract\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"payload\",\"type\":\"bytes\"}],\"name\":\"addInput\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDeploymentBlockNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"appContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"getInputHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"appContract\",\"type\":\"address\"}],\"name\":\"getNumberOfInputs\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"InputTooLarge(address,uint256,uint256)\":[{\"params\":{\"appContract\":\"The application contract address\",\"inputLength\":\"The input length\",\"maxInputLength\":\"The maximum input length\"}}]},\"events\":{\"InputAdded(address,uint256,bytes)\":{\"params\":{\"appContract\":\"The application contract address\",\"index\":\"The input index\",\"input\":\"The input blob\"}}},\"kind\":\"dev\",\"methods\":{\"addInput(address,bytes)\":{\"details\":\"MUST fire an `InputAdded` event.\",\"params\":{\"appContract\":\"The application contract address\",\"payload\":\"The input payload\"},\"returns\":{\"_0\":\"The hash of the input blob\"}},\"getInputHash(address,uint256)\":{\"details\":\"The provided index must be valid.\",\"params\":{\"appContract\":\"The application contract address\",\"index\":\"The input index\"}},\"getNumberOfInputs(address)\":{\"params\":{\"appContract\":\"The application contract address\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"InputTooLarge(address,uint256,uint256)\":[{\"notice\":\"Input is too large.\"}]},\"events\":{\"InputAdded(address,uint256,bytes)\":{\"notice\":\"MUST trigger when an input is added.\"}},\"kind\":\"user\",\"methods\":{\"addInput(address,bytes)\":{\"notice\":\"Send an input to an application.\"},\"getDeploymentBlockNumber()\":{\"notice\":\"Get number of block in which contract was deployed\"},\"getInputHash(address,uint256)\":{\"notice\":\"Get the hash of an input in an application's input box.\"},\"getNumberOfInputs(address)\":{\"notice\":\"Get the number of inputs sent to an application.\"}},\"notice\":\"Provides data availability of inputs for applications.Each application has its own append-only list of inputs.Off-chain, inputs can be retrieved via events.On-chain, only the input hashes are stored.See `LibInput` for more details on how such hashes are computed.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/inputs/IInputBox.sol\":\"IInputBox\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin-contracts-5.2.0/=dependencies/@openzeppelin-contracts-5.2.0/\",\":forge-std-1.9.6/=dependencies/forge-std-1.9.6/\"],\"viaIR\":true},\"sources\":{\"src/inputs/IInputBox.sol\":{\"keccak256\":\"0x960495e2fc963df610c0152c9a3d34038da51d1e8fcee8eb8ec85890b74b0940\",\"license\":\"Apache-2.0 (see LICENSE)\",\"urls\":[\"bzz-raw://c0a1a72fe4331032c23101a6026a61f5926744f7e2c189f557165ba6597b0de8\",\"dweb:/ipfs/QmU7ZuL7gcQYA7vDV37xArLBqzZ3c9k5pFDYPRd3rn9jgY\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.30+commit.73712a01"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"appContract","type":"address"},{"internalType":"uint256","name":"inputLength","type":"uint256"},{"internalType":"uint256","name":"maxInputLength","type":"uint256"}],"type":"error","name":"InputTooLarge"},{"inputs":[{"internalType":"address","name":"appContract","type":"address","indexed":true},{"internalType":"uint256","name":"index","type":"uint256","indexed":true},{"internalType":"bytes","name":"input","type":"bytes","indexed":false}],"type":"event","name":"InputAdded","anonymous":false},{"inputs":[{"internalType":"address","name":"appContract","type":"address"},{"internalType":"bytes","name":"payload","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"addInput","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDeploymentBlockNumber","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"appContract","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"stateMutability":"view","type":"function","name":"getInputHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"appContract","type":"address"}],"stateMutability":"view","type":"function","name":"getNumberOfInputs","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"addInput(address,bytes)":{"details":"MUST fire an `InputAdded` event.","params":{"appContract":"The application contract address","payload":"The input payload"},"returns":{"_0":"The hash of the input blob"}},"getInputHash(address,uint256)":{"details":"The provided index must be valid.","params":{"appContract":"The application contract address","index":"The input index"}},"getNumberOfInputs(address)":{"params":{"appContract":"The application contract address"}}},"version":1},"userdoc":{"kind":"user","methods":{"addInput(address,bytes)":{"notice":"Send an input to an application."},"getDeploymentBlockNumber()":{"notice":"Get number of block in which contract was deployed"},"getInputHash(address,uint256)":{"notice":"Get the hash of an input in an application's input box."},"getNumberOfInputs(address)":{"notice":"Get the number of inputs sent to an application."}},"version":1}},"settings":{"remappings":["@openzeppelin-contracts-5.2.0/=dependencies/@openzeppelin-contracts-5.2.0/","forge-std-1.9.6/=dependencies/forge-std-1.9.6/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/inputs/IInputBox.sol":"IInputBox"},"evmVersion":"prague","libraries":{},"viaIR":true},"sources":{"src/inputs/IInputBox.sol":{"keccak256":"0x960495e2fc963df610c0152c9a3d34038da51d1e8fcee8eb8ec85890b74b0940","urls":["bzz-raw://c0a1a72fe4331032c23101a6026a61f5926744f7e2c189f557165ba6597b0de8","dweb:/ipfs/QmU7ZuL7gcQYA7vDV37xArLBqzZ3c9k5pFDYPRd3rn9jgY"],"license":"Apache-2.0 (see LICENSE)"}},"version":1},"id":44}