{"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":"0x60a08060405234602157436080526103439081610026823960805181605f0152f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c9081631789cd63146101055750806361a93c87146100ce578063677087c9146100865763b3a1acd814610048575f80fd5b34610082575f3660031901126100825760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b5f80fd5b34610082576040366003190112610082576001600160a01b036100a76102ce565b165f525f60205260206100bf60243560405f206102e4565b90549060031b1c604051908152f35b34610082576020366003190112610082576001600160a01b036100ef6102ce565b165f525f602052602060405f2054604051908152f35b346100825760403660031901126100825761011e6102ce565b6024359067ffffffffffffffff821161008257366023830112156100825781600401359067ffffffffffffffff82116100825736602483850101116100825760018060a01b0316805f525f60205260405f209361014481865494806024602084019863415bf36360e01b8a5246828601528760448601523360648601524360848601524260a48601524460c48601528860e48601526101006101048601528261012486015201848401375f838284010152601f801991011681010301601f1981018252601f8019910116810181811067ffffffffffffffff82111761029d5760405280516201000081116102b1575080518420936801000000000000000084101561029d5760407fc05d337121a6e8605c6ec0b72aa29c4210ffe6e5b9cefdd6a7058188a8f66f9892610259866020996001820181556102e4565b81549060031b9089821b915f19901b19161790558151928391898352518091818b8501528484015e5f828201840152601f01601f19168101030190a3604051908152f35b634e487b7160e01b5f52604160045260245ffd5b826304f90dc560e51b5f526004526024526201000060445260645ffd5b600435906001600160a01b038216820361008257565b80548210156102f9575f5260205f2001905f90565b634e487b7160e01b5f52603260045260245ffdfea2646970667358221220740e707924e66901499926e120c4cd36be0acfdb674fa0a53a2a8e759c6771cb64736f6c634300081e0033","sourceMap":"286:1918:45:-:0;;;;;;;407:12;;;286:1918;;;;;;407:12;286:1918;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080806040526004361015610012575f80fd5b5f3560e01c9081631789cd63146101055750806361a93c87146100ce578063677087c9146100865763b3a1acd814610048575f80fd5b34610082575f3660031901126100825760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b5f80fd5b34610082576040366003190112610082576001600160a01b036100a76102ce565b165f525f60205260206100bf60243560405f206102e4565b90549060031b1c604051908152f35b34610082576020366003190112610082576001600160a01b036100ef6102ce565b165f525f602052602060405f2054604051908152f35b346100825760403660031901126100825761011e6102ce565b6024359067ffffffffffffffff821161008257366023830112156100825781600401359067ffffffffffffffff82116100825736602483850101116100825760018060a01b0316805f525f60205260405f209361014481865494806024602084019863415bf36360e01b8a5246828601528760448601523360648601524360848601524260a48601524460c48601528860e48601526101006101048601528261012486015201848401375f838284010152601f801991011681010301601f1981018252601f8019910116810181811067ffffffffffffffff82111761029d5760405280516201000081116102b1575080518420936801000000000000000084101561029d5760407fc05d337121a6e8605c6ec0b72aa29c4210ffe6e5b9cefdd6a7058188a8f66f9892610259866020996001820181556102e4565b81549060031b9089821b915f19901b19161790558151928391898352518091818b8501528484015e5f828201840152601f01601f19168101030190a3604051908152f35b634e487b7160e01b5f52604160045260245ffd5b826304f90dc560e51b5f526004526024526201000060445260645ffd5b600435906001600160a01b038216820361008257565b80548210156102f9575f5260205f2001905f90565b634e487b7160e01b5f52603260045260245ffdfea2646970667358221220740e707924e66901499926e120c4cd36be0acfdb674fa0a53a2a8e759c6771cb64736f6c634300081e0033","sourceMap":"286:1918:45:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;286:1918:45;;;;;;;2172:23;286:1918;;;;;;;;;;;;;-1:-1:-1;;286:1918:45;;;;-1:-1:-1;;;;;286:1918:45;;:::i;:::-;;;;;;;;2004:31;286:1918;;;;;2004:31;:::i;:::-;286:1918;;;;;;;;;;;;;;;;;;-1:-1:-1;;286:1918:45;;;;-1:-1:-1;;;;;286:1918:45;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;286:1918:45;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;861:316;;286:1918;;861:316;;;;;;;;938:13;861:316;;;286:1918;;;;;;998:10;286:1918;;;;1026:12;286:1918;;;;1056:15;286:1918;;;;1089:16;286:1918;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;861:316;;286:1918;;861:316;;;;286:1918;;;;;;;;;;;;;;;;;;;;;456:7:20;1192:46:45;;1188:187;;286:1918;;;1462:16;;456:7:20;;;;;;;286:1918:45;1529:37;456:7:20;;;286:1918:45;456:7:20;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;286:1918:45;;456:7:20;;;;;;286:1918:45;456:7:20;;;;;;286:1918:45;;;;456:7:20;286:1918:45;456:7:20;;;;;;286:1918:45;;-1:-1:-1;;286:1918:45;456:7:20;;1529:37:45;;;;286:1918;;;;;;456:7:20;286:1918:45;;;;;;;;;;;1188:187;1261:103;;;;286:1918;1261:103;286:1918;;;;456:7:20;286:1918:45;;;;1261:103;286:1918;;;;-1:-1:-1;;;;;286:1918:45;;;;;;:::o;456:7:20:-;286:1918:45;;456:7:20;;;;;-1:-1:-1;456:7:20;;-1:-1:-1;456:7:20;;;-1:-1:-1;456:7:20;:::o;:::-;286:1918:45;;;456:7:20;;;;;;;","linkReferences":{},"immutableReferences":{"4265":[{"start":95,"length":32}]}},"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.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/inputs/InputBox.sol\":\"InputBox\"},\"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/common/CanonicalMachine.sol\":{\"keccak256\":\"0xbc26506585fc40fc4dbb8aa963e6bc25da0c727ccfbb7ac31d6c066ccb0595eb\",\"license\":\"Apache-2.0 (see LICENSE)\",\"urls\":[\"bzz-raw://dc7459179ec69a61bf30e0e55e2486b5f20b5a96108a3e337bb9cb50ff141cdb\",\"dweb:/ipfs/QmfFknWWyVTYwjDEEHfL9Bjuda3Arn3B9fNrUxPRXZuWSh\"]},\"src/common/Inputs.sol\":{\"keccak256\":\"0x806c7dc09e325796a063c257a2e7c7f13136c3366681c105b9d7fbcceeea4d91\",\"license\":\"Apache-2.0 (see LICENSE)\",\"urls\":[\"bzz-raw://456832c662db90ec46317e10bf8be5fcec6739cf481a609ffc11c22ed4384d9b\",\"dweb:/ipfs/QmPv1NjkbCu5M2Zw9P7dWLG33bS4jCAjh2Xq6Qe95RLWoE\"]},\"src/inputs/IInputBox.sol\":{\"keccak256\":\"0x960495e2fc963df610c0152c9a3d34038da51d1e8fcee8eb8ec85890b74b0940\",\"license\":\"Apache-2.0 (see LICENSE)\",\"urls\":[\"bzz-raw://c0a1a72fe4331032c23101a6026a61f5926744f7e2c189f557165ba6597b0de8\",\"dweb:/ipfs/QmU7ZuL7gcQYA7vDV37xArLBqzZ3c9k5pFDYPRd3rn9jgY\"]},\"src/inputs/InputBox.sol\":{\"keccak256\":\"0x78353fd9a4d31683561a9601992f03480a3cba4a2064e7abf5080f26568583c4\",\"license\":\"Apache-2.0 (see LICENSE)\",\"urls\":[\"bzz-raw://2263a1907a2ba12c33cfb14b78a10ccf9a83a63796dd8d9276998d069e47191f\",\"dweb:/ipfs/QmchDJttFVD7s13yffptcU1Uurt6UGh14K2m8wDrjhbbBS\"]}},\"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/InputBox.sol":"InputBox"},"evmVersion":"prague","libraries":{},"viaIR":true},"sources":{"src/common/CanonicalMachine.sol":{"keccak256":"0xbc26506585fc40fc4dbb8aa963e6bc25da0c727ccfbb7ac31d6c066ccb0595eb","urls":["bzz-raw://dc7459179ec69a61bf30e0e55e2486b5f20b5a96108a3e337bb9cb50ff141cdb","dweb:/ipfs/QmfFknWWyVTYwjDEEHfL9Bjuda3Arn3B9fNrUxPRXZuWSh"],"license":"Apache-2.0 (see LICENSE)"},"src/common/Inputs.sol":{"keccak256":"0x806c7dc09e325796a063c257a2e7c7f13136c3366681c105b9d7fbcceeea4d91","urls":["bzz-raw://456832c662db90ec46317e10bf8be5fcec6739cf481a609ffc11c22ed4384d9b","dweb:/ipfs/QmPv1NjkbCu5M2Zw9P7dWLG33bS4jCAjh2Xq6Qe95RLWoE"],"license":"Apache-2.0 (see LICENSE)"},"src/inputs/IInputBox.sol":{"keccak256":"0x960495e2fc963df610c0152c9a3d34038da51d1e8fcee8eb8ec85890b74b0940","urls":["bzz-raw://c0a1a72fe4331032c23101a6026a61f5926744f7e2c189f557165ba6597b0de8","dweb:/ipfs/QmU7ZuL7gcQYA7vDV37xArLBqzZ3c9k5pFDYPRd3rn9jgY"],"license":"Apache-2.0 (see LICENSE)"},"src/inputs/InputBox.sol":{"keccak256":"0x78353fd9a4d31683561a9601992f03480a3cba4a2064e7abf5080f26568583c4","urls":["bzz-raw://2263a1907a2ba12c33cfb14b78a10ccf9a83a63796dd8d9276998d069e47191f","dweb:/ipfs/QmchDJttFVD7s13yffptcU1Uurt6UGh14K2m8wDrjhbbBS"],"license":"Apache-2.0 (see LICENSE)"}},"version":1},"id":45}