{"abi":[{"type":"constructor","inputs":[{"name":"inputBox","type":"address","internalType":"contract IInputBox"}],"stateMutability":"nonpayable"},{"type":"function","name":"depositSingleERC1155Token","inputs":[{"name":"token","type":"address","internalType":"contract IERC1155"},{"name":"appContract","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"baseLayerData","type":"bytes","internalType":"bytes"},{"name":"execLayerData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getInputBox","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IInputBox"}],"stateMutability":"view"}],"bytecode":{"object":"0x60a034606d57601f61042738819003918201601f19168301916001600160401b03831184841017607157808492602094604052833981010312606d57516001600160a01b0381168103606d576080526040516103a1908161008682396080518181816101f001526102b80152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe6080806040526004361015610012575f80fd5b5f905f3560e01c908162aace9a146102a6575063dec07dca14610033575f80fd5b346102a25760c03660031901126102a2576004356001600160a01b0381168082036102a2576024356001600160a01b038116908190036102a2576044356064359260843567ffffffffffffffff81116102a2576100949036906004016102e7565b9160a43567ffffffffffffffff81116102a2576100b59036906004016102e7565b9091803b156102a2575f6040518092637921219560e11b82523360048301528960248301528860448301528a606483015260a060848301528183816100fe60a482018c8c61034b565b03925af180156102975761025e575b5093602096959361013f61015f6101ae9561015160889660649a6040519586948f86019860408a52606087019161034b565b848103601f190160408601529161034b565b03601f198101835282610315565b6040519788938a85019b6bffffffffffffffffffffffff199060601b168c523360601b6034860152604885015260688401525180918484015e810189838201520301601f198101855284610315565b6040519485938492631789cd6360e01b84526004840152604060248401525180918160448501528484015e8181018301879052601f01601f19168101030181857f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1801561025357610228575080f35b602090813d831161024c575b61023e8183610315565b810103126102495780f35b80fd5b503d610234565b6040513d84823e3d90fd5b6064959199509361013f61015f6101ae956101516088966102835f60209e9d9b610315565b5f9e969a509650509550505093959661010d565b6040513d5f823e3d90fd5b5f80fd5b346102a2575f3660031901126102a2577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156102a25782359167ffffffffffffffff83116102a257602083818601950101116102a257565b90601f8019910116810190811067ffffffffffffffff82111761033757604052565b634e487b7160e01b5f52604160045260245ffd5b908060209392818452848401375f828201840152601f01601f191601019056fea2646970667358221220000bcca33477b4a6b7ffa52c8672ded0c094f65b3936e4777fb133c246466d7764736f6c634300081e0033","sourceMap":"632:769:51:-:0;;;;;;;;;;;;;-1:-1:-1;;632:769:51;;;;-1:-1:-1;;;;;632:769:51;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;632:769:51;;;;;;567:20:61;;632:769:51;;;;;;;;567:20:61;632:769:51;;;;;;;;;;;;-1:-1:-1;632:769:51;;;;;;-1:-1:-1;632:769:51;;;;;-1:-1:-1;632:769:51","linkReferences":{}},"deployedBytecode":{"object":"0x6080806040526004361015610012575f80fd5b5f905f3560e01c908162aace9a146102a6575063dec07dca14610033575f80fd5b346102a25760c03660031901126102a2576004356001600160a01b0381168082036102a2576024356001600160a01b038116908190036102a2576044356064359260843567ffffffffffffffff81116102a2576100949036906004016102e7565b9160a43567ffffffffffffffff81116102a2576100b59036906004016102e7565b9091803b156102a2575f6040518092637921219560e11b82523360048301528960248301528860448301528a606483015260a060848301528183816100fe60a482018c8c61034b565b03925af180156102975761025e575b5093602096959361013f61015f6101ae9561015160889660649a6040519586948f86019860408a52606087019161034b565b848103601f190160408601529161034b565b03601f198101835282610315565b6040519788938a85019b6bffffffffffffffffffffffff199060601b168c523360601b6034860152604885015260688401525180918484015e810189838201520301601f198101855284610315565b6040519485938492631789cd6360e01b84526004840152604060248401525180918160448501528484015e8181018301879052601f01601f19168101030181857f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1801561025357610228575080f35b602090813d831161024c575b61023e8183610315565b810103126102495780f35b80fd5b503d610234565b6040513d84823e3d90fd5b6064959199509361013f61015f6101ae956101516088966102835f60209e9d9b610315565b5f9e969a509650509550505093959661010d565b6040513d5f823e3d90fd5b5f80fd5b346102a2575f3660031901126102a2577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156102a25782359167ffffffffffffffff83116102a257602083818601950101116102a257565b90601f8019910116810190811067ffffffffffffffff82111761033757604052565b634e487b7160e01b5f52604160045260245ffd5b908060209392818452848401375f828201840152601f01601f191601019056fea2646970667358221220000bcca33477b4a6b7ffa52c8672ded0c094f65b3936e4777fb133c246466d7764736f6c634300081e0033","sourceMap":"632:769:51:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;632:769:51;;;;;;-1:-1:-1;;;;;632:769:51;;;;;;;;;-1:-1:-1;;;;;632:769:51;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;1098:78;;;;;;;632:769;;;;;;;;1098:78;;1121:10;632:769;1098:78;;632:769;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1098:78;;;;;;;;;;632:769;;;;;;;;3631:40:22;3688:238;632:769:51;;;;;;;;3631:40:22;;;;;;632:769:51;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;632:769:51;;;;;;;:::i;:::-;3631:40:22;632:769:51;;3631:40:22;;;;;;:::i;:::-;632:769:51;;3688:238:22;;;;;;632:769:51;;;;;;;;;1121:10;632:769;;;;;;;;;;;;;;;;;;;;;;;;;;;;3688:238:22;;632:769:51;;3688:238:22;;;;;;:::i;:::-;632:769:51;;;;;;;;;;1348:44;;632:769;1348:44;;632:769;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;632:769:51;;;1348:44;;632:769;;681:9:61;-1:-1:-1;;;;;632:769:51;1348:44;;;;;;;;632:769;;;1348:44;632:769;1348:44;;;;;;;;;;;;:::i;:::-;;;632:769;;;;;;;;;1348:44;;;;;;632:769;;;;;;;;;1098:78;632:769;1098:78;;;;;632:769;3631:40:22;3688:238;1098:78:51;632:769;;1098:78;;632:769;;1098:78;;;;:::i;:::-;632:769;1098:78;;;;;;;;;;;;;;;;;632:769;;;;;;;;;1098:78;632:769;;;;;;;;;-1:-1:-1;;632:769:51;;;;681:9:61;-1:-1:-1;;;;;632:769:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;632:769:51;;;;;-1:-1:-1;632:769:51;;;;;;;;;;;;;;-1:-1:-1;632:769:51;;;;;;;;-1:-1:-1;;632:769:51;;;;:::o","linkReferences":{},"immutableReferences":{"5443":[{"start":496,"length":32},{"start":696,"length":32}]}},"methodIdentifiers":{"depositSingleERC1155Token(address,address,uint256,uint256,bytes,bytes)":"dec07dca","getInputBox()":"00aace9a"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IInputBox\",\"name\":\"inputBox\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"contract IERC1155\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"appContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"baseLayerData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"execLayerData\",\"type\":\"bytes\"}],\"name\":\"depositSingleERC1155Token\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getInputBox\",\"outputs\":[{\"internalType\":\"contract IInputBox\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"constructor\":{\"params\":{\"inputBox\":\"The input box used by the portal\"}},\"depositSingleERC1155Token(address,address,uint256,uint256,bytes,bytes)\":{\"params\":{\"appContract\":\"The application contract address\",\"baseLayerData\":\"Additional data to be interpreted by the base layer\",\"execLayerData\":\"Additional data to be interpreted by the execution layer\",\"token\":\"The ERC-1155 token contract\",\"tokenId\":\"The identifier of the token being transferred\",\"value\":\"Transfer amount\"}},\"getInputBox()\":{\"returns\":{\"_0\":\"The input box\"}}},\"title\":\"ERC-1155 Single Transfer Portal\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"constructor\":{\"notice\":\"Constructs the portal.\"},\"depositSingleERC1155Token(address,address,uint256,uint256,bytes,bytes)\":{\"notice\":\"Transfer ERC-1155 tokens of a single type to an application contract and add an input to the application's input box to signal such operation. The caller must enable approval for the portal to manage all of their tokens beforehand, by calling the `setApprovalForAll` function in the token contract.\"},\"getInputBox()\":{\"notice\":\"Get the input box used by this portal.\"}},\"notice\":\"This contract allows anyone to perform single transfers of ERC-1155 tokens to an application contract while informing the off-chain machine.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/portals/ERC1155SinglePortal.sol\":\"ERC1155SinglePortal\"},\"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\":{\"dependencies/@openzeppelin-contracts-5.2.0/token/ERC1155/IERC1155.sol\":{\"keccak256\":\"0x68d6fdbeb467192c3627a46aa7bf5cbb73267363b740abc511f521a5a41a446e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7ce608c19d5e917c60f9c8aa3e5f0eb05b326280ac0a235e8bb9a848a3a64a91\",\"dweb:/ipfs/QmdLPsWQJj7JvRae8MM13GEo4PBXaEFmD4b4heqcyMJNPG\"]},\"dependencies/@openzeppelin-contracts-5.2.0/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"dependencies/@openzeppelin-contracts-5.2.0/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5dc63d1c6a12fe1b17793e1745877b2fcbe1964c3edfd0a482fac21ca8f18261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6b7f97c5960a50fd1822cb298551ffc908e37b7893a68d6d08bce18a11cb0f11\",\"dweb:/ipfs/QmQQvxBytoY1eBt3pRQDmvH2hZ2yjhs12YqVfzGm7KSURq\"]},\"dependencies/@openzeppelin-contracts-5.2.0/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"src/common/InputEncoding.sol\":{\"keccak256\":\"0xd041b3bb0de75e8415fb1976b1269a396053e7f43975449d0b172bf096f032c1\",\"license\":\"Apache-2.0 (see LICENSE)\",\"urls\":[\"bzz-raw://d954aaea18fcfcd72ff7180551629e40a60a625445ecb0e01ffdf225c7048cc5\",\"dweb:/ipfs/QmeuK58dJc8tD2Tm5ygf9Chf5wVQ73wtuGibf8wtKQd8oX\"]},\"src/inputs/IInputBox.sol\":{\"keccak256\":\"0x960495e2fc963df610c0152c9a3d34038da51d1e8fcee8eb8ec85890b74b0940\",\"license\":\"Apache-2.0 (see LICENSE)\",\"urls\":[\"bzz-raw://c0a1a72fe4331032c23101a6026a61f5926744f7e2c189f557165ba6597b0de8\",\"dweb:/ipfs/QmU7ZuL7gcQYA7vDV37xArLBqzZ3c9k5pFDYPRd3rn9jgY\"]},\"src/portals/ERC1155SinglePortal.sol\":{\"keccak256\":\"0x9d0c19610ae21d0735f3e258979dad5540d878748f522ddeac63090ee0a95607\",\"license\":\"Apache-2.0 (see LICENSE)\",\"urls\":[\"bzz-raw://5463155baa90ec9ed84119354c5c772ac55e598751e44671da36ad629bc6f02e\",\"dweb:/ipfs/QmNVjmCnDNRh5CiTBrUS8E31rUt1uwML3D4vmdbnfcc2HC\"]},\"src/portals/IERC1155SinglePortal.sol\":{\"keccak256\":\"0x2f4042c3d4d6d44303819bcb96a3f605788e3dbf59d078179a2552c7a9f1216a\",\"license\":\"Apache-2.0 (see LICENSE)\",\"urls\":[\"bzz-raw://857b05ec1a2eb36c105df0feaec8601fb8890deee3fba8a5d3b8c5ea2dd04095\",\"dweb:/ipfs/QmZcCWxZintGWNqEJYtPNaknMHGGmNmRiaHs8zC7piXTue\"]},\"src/portals/IPortal.sol\":{\"keccak256\":\"0x390bc7ed84639e38e40bef8085486119d6c42057f91f3ab8286a9246198682e2\",\"license\":\"Apache-2.0 (see LICENSE)\",\"urls\":[\"bzz-raw://382a0d34ef36bde5b783849c21105b25a8d6909809c21cad267ed34e9d0f8afa\",\"dweb:/ipfs/QmfQMKGcz2jjzh2krTCSgcGBMQZE9uRVB5QUSsT3gF1oTs\"]},\"src/portals/Portal.sol\":{\"keccak256\":\"0x856903fa5afea5caaae8418f3c7f9314d88825ddec9177f6d4a9f0defe685c45\",\"license\":\"Apache-2.0 (see LICENSE)\",\"urls\":[\"bzz-raw://e99efb07ff4e54dd4b0aa0f1f0908e280e2a842aa75824e0328aa1e7e8f0d1c0\",\"dweb:/ipfs/QmUftUnphDm5DjCxBxsUYCJfEdUCLNYcStK2Q4j5kW58N1\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.30+commit.73712a01"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"contract IInputBox","name":"inputBox","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"contract IERC1155","name":"token","type":"address"},{"internalType":"address","name":"appContract","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"baseLayerData","type":"bytes"},{"internalType":"bytes","name":"execLayerData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"depositSingleERC1155Token"},{"inputs":[],"stateMutability":"view","type":"function","name":"getInputBox","outputs":[{"internalType":"contract IInputBox","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{"constructor":{"params":{"inputBox":"The input box used by the portal"}},"depositSingleERC1155Token(address,address,uint256,uint256,bytes,bytes)":{"params":{"appContract":"The application contract address","baseLayerData":"Additional data to be interpreted by the base layer","execLayerData":"Additional data to be interpreted by the execution layer","token":"The ERC-1155 token contract","tokenId":"The identifier of the token being transferred","value":"Transfer amount"}},"getInputBox()":{"returns":{"_0":"The input box"}}},"version":1},"userdoc":{"kind":"user","methods":{"constructor":{"notice":"Constructs the portal."},"depositSingleERC1155Token(address,address,uint256,uint256,bytes,bytes)":{"notice":"Transfer ERC-1155 tokens of a single type to an application contract and add an input to the application's input box to signal such operation. The caller must enable approval for the portal to manage all of their tokens beforehand, by calling the `setApprovalForAll` function in the token contract."},"getInputBox()":{"notice":"Get the input box used by this portal."}},"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/portals/ERC1155SinglePortal.sol":"ERC1155SinglePortal"},"evmVersion":"prague","libraries":{},"viaIR":true},"sources":{"dependencies/@openzeppelin-contracts-5.2.0/token/ERC1155/IERC1155.sol":{"keccak256":"0x68d6fdbeb467192c3627a46aa7bf5cbb73267363b740abc511f521a5a41a446e","urls":["bzz-raw://7ce608c19d5e917c60f9c8aa3e5f0eb05b326280ac0a235e8bb9a848a3a64a91","dweb:/ipfs/QmdLPsWQJj7JvRae8MM13GEo4PBXaEFmD4b4heqcyMJNPG"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.2.0/token/ERC20/IERC20.sol":{"keccak256":"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7","urls":["bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db","dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.2.0/token/ERC721/IERC721.sol":{"keccak256":"0x5dc63d1c6a12fe1b17793e1745877b2fcbe1964c3edfd0a482fac21ca8f18261","urls":["bzz-raw://6b7f97c5960a50fd1822cb298551ffc908e37b7893a68d6d08bce18a11cb0f11","dweb:/ipfs/QmQQvxBytoY1eBt3pRQDmvH2hZ2yjhs12YqVfzGm7KSURq"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.2.0/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"},"src/common/InputEncoding.sol":{"keccak256":"0xd041b3bb0de75e8415fb1976b1269a396053e7f43975449d0b172bf096f032c1","urls":["bzz-raw://d954aaea18fcfcd72ff7180551629e40a60a625445ecb0e01ffdf225c7048cc5","dweb:/ipfs/QmeuK58dJc8tD2Tm5ygf9Chf5wVQ73wtuGibf8wtKQd8oX"],"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/portals/ERC1155SinglePortal.sol":{"keccak256":"0x9d0c19610ae21d0735f3e258979dad5540d878748f522ddeac63090ee0a95607","urls":["bzz-raw://5463155baa90ec9ed84119354c5c772ac55e598751e44671da36ad629bc6f02e","dweb:/ipfs/QmNVjmCnDNRh5CiTBrUS8E31rUt1uwML3D4vmdbnfcc2HC"],"license":"Apache-2.0 (see LICENSE)"},"src/portals/IERC1155SinglePortal.sol":{"keccak256":"0x2f4042c3d4d6d44303819bcb96a3f605788e3dbf59d078179a2552c7a9f1216a","urls":["bzz-raw://857b05ec1a2eb36c105df0feaec8601fb8890deee3fba8a5d3b8c5ea2dd04095","dweb:/ipfs/QmZcCWxZintGWNqEJYtPNaknMHGGmNmRiaHs8zC7piXTue"],"license":"Apache-2.0 (see LICENSE)"},"src/portals/IPortal.sol":{"keccak256":"0x390bc7ed84639e38e40bef8085486119d6c42057f91f3ab8286a9246198682e2","urls":["bzz-raw://382a0d34ef36bde5b783849c21105b25a8d6909809c21cad267ed34e9d0f8afa","dweb:/ipfs/QmfQMKGcz2jjzh2krTCSgcGBMQZE9uRVB5QUSsT3gF1oTs"],"license":"Apache-2.0 (see LICENSE)"},"src/portals/Portal.sol":{"keccak256":"0x856903fa5afea5caaae8418f3c7f9314d88825ddec9177f6d4a9f0defe685c45","urls":["bzz-raw://e99efb07ff4e54dd4b0aa0f1f0908e280e2a842aa75824e0328aa1e7e8f0d1c0","dweb:/ipfs/QmUftUnphDm5DjCxBxsUYCJfEdUCLNYcStK2Q4j5kW58N1"],"license":"Apache-2.0 (see LICENSE)"}},"version":1},"id":51}