{
  "_format": "hh-sol-artifact-1",
  "contractName": "Assets",
  "sourceName": "contracts/asset/Assets.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "asset",
          "type": "address"
        }
      ],
      "name": "AssetIsAlreadyRegistered",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "asset",
          "type": "address"
        }
      ],
      "name": "AssetIsNotRegistered",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "ASSET_ID_TYPEHASH",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "ASSET_TYPEHASH",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "ERC1155",
      "outputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "ERC721",
      "outputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x610f8061003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100925760003560e01c806376946fcf1161006557806376946fcf1461013e5780638425abff1461015f57806388f38d7114610186578063fcd0d9d3146101bb57600080fd5b80632d255471146100975780633b54459e146100dc578063443df606146100fe5780635fbd140f1461011e575b600080fd5b6100be7f973bb64086f173ec8099b7ed3d43da984f4a332e4417a08bc6a286e6402b058681565b6040516001600160e01b031990911681526020015b60405180910390f35b8180156100e857600080fd5b506100fc6100f7366004610ab4565b6101e2565b005b81801561010a57600080fd5b506100fc610119366004610b0f565b6102f0565b81801561012a57600080fd5b506100fc610139366004610b5d565b61038a565b61015161014c366004610b92565b6104a5565b6040516100d3929190610bbe565b6100be7f73ad2146b3d3a286642c794379d750360a2d53a3459a11b3e5d6cc900f55f44a81565b6101ad7fe572bf63c99d807e749180ef2e095adf03b28545e8b411e85f0b71d2fcf65f8681565b6040519081526020016100d3565b6101ad7fc1e035fcb221225ef966d4008a390785191e1c26721308fd5349fd62539d5f2881565b60006101ed836106ed565b90506101f98482610711565b610226576040516306c8a08b60e21b81526001600160a01b03821660048201526024015b60405180910390fd5b6001600160a01b03818116600090815260038601602090815260409182902082516060810184528154808616808352600160a01b90910460e01b6001600160e01b0319169382019390935260019091015490931683830181905291519091906102e69063e4f75ad360e01b906102a490899089908690602401610cca565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526001600160a01b03841690610727565b5050505050505050565b60006103036102fe83610d2e565b6106ed565b6001600160a01b03818116600090815260038601602090815260409182902082516060810184528154808616808352600160a01b90910460e01b6001600160e01b0319169382019390935260019091015490931683830181905291519394509192610381906334dede8760e11b906102a49088908590602401610d3a565b50505050505050565b610397600184018261074c565b156104a0578254604051630b42144760e41b81526001600160e01b0319841660048201526000916001600160a01b03169063b4214470906024016040805180830381865afa1580156103ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104119190610e04565b604080516060810182526020808401516001600160a01b0390811683526001600160e01b0319881682840190815294518116838501908152878216600090815260038b019093529390912091518254945160e01c600160a01b026001600160c01b031990951690821617939093178155905160019091018054919092166001600160a01b031991909116179055505b505050565b60608060006104b686600101610761565b9050808510610515576040805160008082526020820181815282840190935290919061050a565b60408051606081018252600080825260208083018290529282015282526000199092019101816104dd5790505b5092509250506106e5565b61051f8582610e79565b841115610533576105308582610e79565b93505b60008467ffffffffffffffff81111561054e5761054e610928565b60405190808252806020026020018201604052801561059957816020015b604080516060810182526000808252602080830182905292820152825260001990920191018161056c5790505b50905060008567ffffffffffffffff8111156105b7576105b7610928565b6040519080825280602002602001820160405280156105e0578160200160208202803683370190505b50905060005b868110156106de576106056105fb828a610e90565b60018b019061076b565b82828151811061061757610617610ea8565b60200260200101906001600160a01b031690816001600160a01b03168152505088600301600083838151811061064f5761064f610ea8565b6020908102919091018101516001600160a01b039081168352828201939093526040918201600020825160608101845281548086168252600160a01b900460e01b6001600160e01b03191692810192909252600101549092169082015283518490839081106106c0576106c0610ea8565b602002602001018190525080806106d690610ebe565b9150506105e6565b5093509150505b935093915050565b600081600001516020015180602001905181019061070b9190610ed7565b92915050565b60006107206001840183610777565b9392505050565b60606107208383604051806060016040528060278152602001610f2460279139610799565b6000610720836001600160a01b038416610876565b600061070b825490565b600061072083836108c5565b6001600160a01b03811660009081526001830160205260408120541515610720565b60606001600160a01b0384163b6108015760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b606482015260840161021d565b600080856001600160a01b03168560405161081c9190610ef4565b600060405180830381855af49150503d8060008114610857576040519150601f19603f3d011682016040523d82523d6000602084013e61085c565b606091505b509150915061086c8282866108ef565b9695505050505050565b60008181526001830160205260408120546108bd5750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561070b565b50600061070b565b60008260000182815481106108dc576108dc610ea8565b9060005260206000200154905092915050565b606083156108fe575081610720565b82511561090e5782518084602001fd5b8160405162461bcd60e51b815260040161021d9190610f10565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561096157610961610928565b60405290565b604051601f8201601f1916810167ffffffffffffffff8111828210171561099057610990610928565b604052919050565b80356001600160e01b0319811681146109b057600080fd5b919050565b6000604082840312156109c757600080fd5b6109cf61093e565b9050813567ffffffffffffffff808211156109e957600080fd5b90830190604082860312156109fd57600080fd5b610a0561093e565b610a0e83610998565b815260208084013583811115610a2357600080fd5b80850194505086601f850112610a3857600080fd5b833583811115610a4a57610a4a610928565b610a5c601f8201601f19168301610967565b93508084528782828701011115610a7257600080fd5b80828601838601376000908401820152818101929092528352928301359282019290925292915050565b6001600160a01b0381168114610ab157600080fd5b50565b600080600060608486031215610ac957600080fd5b83359250602084013567ffffffffffffffff811115610ae757600080fd5b610af3868287016109b5565b9250506040840135610b0481610a9c565b809150509250925092565b60008060408385031215610b2257600080fd5b82359150602083013567ffffffffffffffff811115610b4057600080fd5b830160408186031215610b5257600080fd5b809150509250929050565b600080600060608486031215610b7257600080fd5b83359250610b8260208501610998565b91506040840135610b0481610a9c565b600080600060608486031215610ba757600080fd5b505081359360208301359350604090920135919050565b6040808252835182820181905260009190606090818501906020808901865b83811015610c025781516001600160a01b031685529382019390820190600101610bdd565b5050868303818801528751808452888201938201925060005b81811015610c5f57845180516001600160a01b039081168652848201516001600160e01b031916858701529088015116878501529382019392850192600101610c1b565b50919998505050505050505050565b60005b83811015610c89578181015183820152602001610c71565b83811115610c98576000848401525b50505050565b60008151808452610cb6816020860160208601610c6e565b601f01601f19169290920160200192915050565b60608152600084516040606084015263ffffffff60e01b81511660a084015260208101519050604060c0840152610d0460e0840182610c9e565b60209687015160808501526001600160a01b03958616968401969096525050911660409091015290565b600061070b36836109b5565b6040815260008335603e19853603018112610d5457600080fd5b60408381015284016001600160e01b0319610d6e82610998565b1660808401526020810135601e19823603018112610d8b57600080fd5b8101803567ffffffffffffffff811115610da457600080fd5b803603831315610db357600080fd5b604060a08601528060c0860152806020830160e0870137600060e082870101526020870135606086015260e0601f19601f830116860101935050505061072060208301846001600160a01b03169052565b600060408284031215610e1657600080fd5b6040516040810181811067ffffffffffffffff82111715610e3957610e39610928565b6040528251610e4781610a9c565b81526020830151610e5781610a9c565b60208201529392505050565b634e487b7160e01b600052601160045260246000fd5b600082821015610e8b57610e8b610e63565b500390565b60008219821115610ea357610ea3610e63565b500190565b634e487b7160e01b600052603260045260246000fd5b600060018201610ed057610ed0610e63565b5060010190565b600060208284031215610ee957600080fd5b815161072081610a9c565b60008251610f06818460208701610c6e565b9190910192915050565b6020815260006107206020830184610c9e56fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220398bb31eda7b52c35425f4f984f664f7ca3b0e96e0b9be56db4cbe80c0814d6f64736f6c634300080d0033",
  "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100925760003560e01c806376946fcf1161006557806376946fcf1461013e5780638425abff1461015f57806388f38d7114610186578063fcd0d9d3146101bb57600080fd5b80632d255471146100975780633b54459e146100dc578063443df606146100fe5780635fbd140f1461011e575b600080fd5b6100be7f973bb64086f173ec8099b7ed3d43da984f4a332e4417a08bc6a286e6402b058681565b6040516001600160e01b031990911681526020015b60405180910390f35b8180156100e857600080fd5b506100fc6100f7366004610ab4565b6101e2565b005b81801561010a57600080fd5b506100fc610119366004610b0f565b6102f0565b81801561012a57600080fd5b506100fc610139366004610b5d565b61038a565b61015161014c366004610b92565b6104a5565b6040516100d3929190610bbe565b6100be7f73ad2146b3d3a286642c794379d750360a2d53a3459a11b3e5d6cc900f55f44a81565b6101ad7fe572bf63c99d807e749180ef2e095adf03b28545e8b411e85f0b71d2fcf65f8681565b6040519081526020016100d3565b6101ad7fc1e035fcb221225ef966d4008a390785191e1c26721308fd5349fd62539d5f2881565b60006101ed836106ed565b90506101f98482610711565b610226576040516306c8a08b60e21b81526001600160a01b03821660048201526024015b60405180910390fd5b6001600160a01b03818116600090815260038601602090815260409182902082516060810184528154808616808352600160a01b90910460e01b6001600160e01b0319169382019390935260019091015490931683830181905291519091906102e69063e4f75ad360e01b906102a490899089908690602401610cca565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526001600160a01b03841690610727565b5050505050505050565b60006103036102fe83610d2e565b6106ed565b6001600160a01b03818116600090815260038601602090815260409182902082516060810184528154808616808352600160a01b90910460e01b6001600160e01b0319169382019390935260019091015490931683830181905291519394509192610381906334dede8760e11b906102a49088908590602401610d3a565b50505050505050565b610397600184018261074c565b156104a0578254604051630b42144760e41b81526001600160e01b0319841660048201526000916001600160a01b03169063b4214470906024016040805180830381865afa1580156103ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104119190610e04565b604080516060810182526020808401516001600160a01b0390811683526001600160e01b0319881682840190815294518116838501908152878216600090815260038b019093529390912091518254945160e01c600160a01b026001600160c01b031990951690821617939093178155905160019091018054919092166001600160a01b031991909116179055505b505050565b60608060006104b686600101610761565b9050808510610515576040805160008082526020820181815282840190935290919061050a565b60408051606081018252600080825260208083018290529282015282526000199092019101816104dd5790505b5092509250506106e5565b61051f8582610e79565b841115610533576105308582610e79565b93505b60008467ffffffffffffffff81111561054e5761054e610928565b60405190808252806020026020018201604052801561059957816020015b604080516060810182526000808252602080830182905292820152825260001990920191018161056c5790505b50905060008567ffffffffffffffff8111156105b7576105b7610928565b6040519080825280602002602001820160405280156105e0578160200160208202803683370190505b50905060005b868110156106de576106056105fb828a610e90565b60018b019061076b565b82828151811061061757610617610ea8565b60200260200101906001600160a01b031690816001600160a01b03168152505088600301600083838151811061064f5761064f610ea8565b6020908102919091018101516001600160a01b039081168352828201939093526040918201600020825160608101845281548086168252600160a01b900460e01b6001600160e01b03191692810192909252600101549092169082015283518490839081106106c0576106c0610ea8565b602002602001018190525080806106d690610ebe565b9150506105e6565b5093509150505b935093915050565b600081600001516020015180602001905181019061070b9190610ed7565b92915050565b60006107206001840183610777565b9392505050565b60606107208383604051806060016040528060278152602001610f2460279139610799565b6000610720836001600160a01b038416610876565b600061070b825490565b600061072083836108c5565b6001600160a01b03811660009081526001830160205260408120541515610720565b60606001600160a01b0384163b6108015760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b606482015260840161021d565b600080856001600160a01b03168560405161081c9190610ef4565b600060405180830381855af49150503d8060008114610857576040519150601f19603f3d011682016040523d82523d6000602084013e61085c565b606091505b509150915061086c8282866108ef565b9695505050505050565b60008181526001830160205260408120546108bd5750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561070b565b50600061070b565b60008260000182815481106108dc576108dc610ea8565b9060005260206000200154905092915050565b606083156108fe575081610720565b82511561090e5782518084602001fd5b8160405162461bcd60e51b815260040161021d9190610f10565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff8111828210171561096157610961610928565b60405290565b604051601f8201601f1916810167ffffffffffffffff8111828210171561099057610990610928565b604052919050565b80356001600160e01b0319811681146109b057600080fd5b919050565b6000604082840312156109c757600080fd5b6109cf61093e565b9050813567ffffffffffffffff808211156109e957600080fd5b90830190604082860312156109fd57600080fd5b610a0561093e565b610a0e83610998565b815260208084013583811115610a2357600080fd5b80850194505086601f850112610a3857600080fd5b833583811115610a4a57610a4a610928565b610a5c601f8201601f19168301610967565b93508084528782828701011115610a7257600080fd5b80828601838601376000908401820152818101929092528352928301359282019290925292915050565b6001600160a01b0381168114610ab157600080fd5b50565b600080600060608486031215610ac957600080fd5b83359250602084013567ffffffffffffffff811115610ae757600080fd5b610af3868287016109b5565b9250506040840135610b0481610a9c565b809150509250925092565b60008060408385031215610b2257600080fd5b82359150602083013567ffffffffffffffff811115610b4057600080fd5b830160408186031215610b5257600080fd5b809150509250929050565b600080600060608486031215610b7257600080fd5b83359250610b8260208501610998565b91506040840135610b0481610a9c565b600080600060608486031215610ba757600080fd5b505081359360208301359350604090920135919050565b6040808252835182820181905260009190606090818501906020808901865b83811015610c025781516001600160a01b031685529382019390820190600101610bdd565b5050868303818801528751808452888201938201925060005b81811015610c5f57845180516001600160a01b039081168652848201516001600160e01b031916858701529088015116878501529382019392850192600101610c1b565b50919998505050505050505050565b60005b83811015610c89578181015183820152602001610c71565b83811115610c98576000848401525b50505050565b60008151808452610cb6816020860160208601610c6e565b601f01601f19169290920160200192915050565b60608152600084516040606084015263ffffffff60e01b81511660a084015260208101519050604060c0840152610d0460e0840182610c9e565b60209687015160808501526001600160a01b03958616968401969096525050911660409091015290565b600061070b36836109b5565b6040815260008335603e19853603018112610d5457600080fd5b60408381015284016001600160e01b0319610d6e82610998565b1660808401526020810135601e19823603018112610d8b57600080fd5b8101803567ffffffffffffffff811115610da457600080fd5b803603831315610db357600080fd5b604060a08601528060c0860152806020830160e0870137600060e082870101526020870135606086015260e0601f19601f830116860101935050505061072060208301846001600160a01b03169052565b600060408284031215610e1657600080fd5b6040516040810181811067ffffffffffffffff82111715610e3957610e39610928565b6040528251610e4781610a9c565b81526020830151610e5781610a9c565b60208201529392505050565b634e487b7160e01b600052601160045260246000fd5b600082821015610e8b57610e8b610e63565b500390565b60008219821115610ea357610ea3610e63565b500190565b634e487b7160e01b600052603260045260246000fd5b600060018201610ed057610ed0610e63565b5060010190565b600060208284031215610ee957600080fd5b815161072081610a9c565b60008251610f06818460208701610c6e565b9190910192915050565b6020815260006107206020830184610c9e56fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220398bb31eda7b52c35425f4f984f664f7ca3b0e96e0b9be56db4cbe80c0814d6f64736f6c634300080d0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
