{"abi":[{"type":"constructor","inputs":[{"name":"admin","type":"address","internalType":"address"},{"name":"metadataUri","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"ISSUER_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"id","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"balanceOfBatch","inputs":[{"name":"accounts","type":"address[]","internalType":"address[]"},{"name":"ids","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isApprovedForAll","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"metadataHashes","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"metadataHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"mint","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"metadataHash","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"callerConfirmation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeBatchTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"ids","type":"uint256[]","internalType":"uint256[]"},{"name":"values","type":"uint256[]","internalType":"uint256[]"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"id","type":"uint256","internalType":"uint256"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setApprovalForAll","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"uri","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"event","name":"ApprovalForAll","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"DemoAssetMinted","inputs":[{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"metadataHash","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"TransferBatch","inputs":[{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"ids","type":"uint256[]","indexed":false,"internalType":"uint256[]"},{"name":"values","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"TransferSingle","inputs":[{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"id","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"URI","inputs":[{"name":"value","type":"string","indexed":false,"internalType":"string"},{"name":"id","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"AccessControlBadConfirmation","inputs":[]},{"type":"error","name":"AccessControlUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"neededRole","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"ERC1155InsufficientBalance","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"},{"name":"tokenId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC1155InvalidApprover","inputs":[{"name":"approver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1155InvalidArrayLength","inputs":[{"name":"idsLength","type":"uint256","internalType":"uint256"},{"name":"valuesLength","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC1155InvalidOperator","inputs":[{"name":"operator","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1155InvalidReceiver","inputs":[{"name":"receiver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1155InvalidSender","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1155MissingApprovalForAll","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"owner","type":"address","internalType":"address"}]}],"bytecode":{"object":"0x608060405234801561000f575f5ffd5b5060405161194538038061194583398101604081905261002e91610147565b8061003881610076565b506100435f83610086565b5061006e7f114e74f6ea3bd819998f78687bfcb11b140da08e9b7d222fa9c1f1ba1f2aa12283610086565b505050610369565b600261008282826102af565b5050565b5f8281526003602090815260408083206001600160a01b038516845290915281205460ff1661012a575f8381526003602090815260408083206001600160a01b03861684529091529020805460ff191660011790556100e23390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a450600161012d565b505f5b92915050565b634e487b7160e01b5f52604160045260245ffd5b5f5f60408385031215610158575f5ffd5b82516001600160a01b038116811461016e575f5ffd5b60208401519092506001600160401b03811115610189575f5ffd5b8301601f81018513610199575f5ffd5b80516001600160401b038111156101b2576101b2610133565b604051601f8201601f19908116603f011681016001600160401b03811182821017156101e0576101e0610133565b6040528181528282016020018710156101f7575f5ffd5b5f5b82811015610215576020818501810151838301820152016101f9565b505f602083830101528093505050509250929050565b600181811c9082168061023f57607f821691505b60208210810361025d57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102aa57805f5260205f20601f840160051c810160208510156102885750805b601f840160051c820191505b818110156102a7575f8155600101610294565b50505b505050565b81516001600160401b038111156102c8576102c8610133565b6102dc816102d6845461022b565b84610263565b6020601f82116001811461030e575f83156102f75750848201515b5f19600385901b1c1916600184901b1784556102a7565b5f84815260208120601f198516915b8281101561033d578785015182556020948501946001909201910161031d565b508482101561035a57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b6115cf806103765f395ff3fe608060405234801561000f575f5ffd5b5060043610610105575f3560e01c806382aefa241161009e578063d547741f1161006e578063d547741f14610243578063e985e9c514610256578063f242432a14610269578063f9fd78c81461027c578063ffd4397e1461029b575f5ffd5b806382aefa24146101ef57806391d1485414610216578063a217fddf14610229578063a22cb46514610230575f5ffd5b80632eb2c2d6116100d95780632eb2c2d6146101945780632f2ff15d146101a957806336568abe146101bc5780634e1273f4146101cf575f5ffd5b8062fdd58e1461010957806301ffc9a71461012f5780630e89341c14610152578063248a9ca314610172575b5f5ffd5b61011c610117366004610f69565b6102ae565b6040519081526020015b60405180910390f35b61014261013d366004610fa6565b6102d5565b6040519015158152602001610126565b610165610160366004610fc8565b6102df565b6040516101269190611022565b61011c610180366004610fc8565b5f9081526003602052604090206001015490565b6101a76101a2366004611172565b610371565b005b6101a76101b7366004611221565b6103dd565b6101a76101ca366004611221565b610407565b6101e26101dd36600461124b565b61043f565b6040516101269190611348565b61011c7f114e74f6ea3bd819998f78687bfcb11b140da08e9b7d222fa9c1f1ba1f2aa12281565b610142610224366004611221565b61050a565b61011c5f81565b6101a761023e36600461135a565b610534565b6101a7610251366004611221565b610543565b610142610264366004611393565b610567565b6101a76102773660046113bb565b610594565b61011c61028a366004610fc8565b60046020525f908152604090205481565b6101a76102a936600461140f565b6105f3565b5f818152602081815260408083206001600160a01b03861684529091529020545b92915050565b5f6102cf8261074f565b6060600280546102ee90611445565b80601f016020809104026020016040519081016040528092919081815260200182805461031a90611445565b80156103655780601f1061033c57610100808354040283529160200191610365565b820191905f5260205f20905b81548152906001019060200180831161034857829003601f168201915b50505050509050919050565b336001600160a01b038616811480159061039257506103908682610567565b155b156103c85760405163711bec9160e11b81526001600160a01b038083166004830152871660248201526044015b60405180910390fd5b6103d58686868686610773565b505050505050565b5f828152600360205260409020600101546103f7816107d8565b61040183836107e5565b50505050565b6001600160a01b03811633146104305760405163334bd91960e11b815260040160405180910390fd5b61043a8282610876565b505050565b606081518351146104705781518351604051635b05999160e01b8152600481019290925260248201526044016103bf565b5f835167ffffffffffffffff81111561048b5761048b611034565b6040519080825280602002602001820160405280156104b4578160200160208202803683370190505b5090505f5b8451811015610502576020808202860101516104dd906020808402870101516102ae565b8282815181106104ef576104ef61147d565b60209081029190910101526001016104b9565b509392505050565b5f9182526003602090815260408084206001600160a01b0393909316845291905290205460ff1690565b61053f3383836108e1565b5050565b5f8281526003602052604090206001015461055d816107d8565b6104018383610876565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205460ff1690565b336001600160a01b03861681148015906105b557506105b38682610567565b155b156105e65760405163711bec9160e11b81526001600160a01b038083166004830152871660248201526044016103bf565b6103d58686868686610975565b7f114e74f6ea3bd819998f78687bfcb11b140da08e9b7d222fa9c1f1ba1f2aa12261061d816107d8565b6001600160a01b0385161580159061063457508215155b801561063f57508115155b61067a5760405162461bcd60e51b815260206004820152600c60248201526b1253959053125117d352539560a21b60448201526064016103bf565b5f8481526004602052604090205480158061069457508281145b6106d55760405162461bcd60e51b81526020600482015260126024820152714d455441444154415f494d4d555441424c4560701b60448201526064016103bf565b5f8581526004602090815260408083208690558051918201905290815261070190879087908790610a01565b604080518581526020810185905286916001600160a01b038916917f9abc81e0123200464556b46b58e6fda2b15097af0579a8a59d1d8b99525e1001910160405180910390a3505050505050565b5f6001600160e01b03198216637965db0b60e01b14806102cf57506102cf82610a5c565b6001600160a01b03841661079c57604051632bfa23e760e11b81525f60048201526024016103bf565b6001600160a01b0385166107c457604051626a0d4560e21b81525f60048201526024016103bf565b6107d18585858585610aab565b5050505050565b6107e28133610afe565b50565b5f6107f0838361050a565b61086f575f8381526003602090815260408083206001600160a01b03861684529091529020805460ff191660011790556108273390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45060016102cf565b505f6102cf565b5f610881838361050a565b1561086f575f8381526003602090815260408083206001600160a01b0386168085529252808320805460ff1916905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45060016102cf565b6001600160a01b0382166109095760405162ced3e160e81b81525f60048201526024016103bf565b6001600160a01b038381165f81815260016020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b03841661099e57604051632bfa23e760e11b81525f60048201526024016103bf565b6001600160a01b0385166109c657604051626a0d4560e21b81525f60048201526024016103bf565b604080516001808252602082018690528183019081526060820185905260808201909252906109f88787848487610aab565b50505050505050565b6001600160a01b038416610a2a57604051632bfa23e760e11b81525f60048201526024016103bf565b604080516001808252602082018690528183019081526060820185905260808201909252906103d55f87848487610aab565b5f6001600160e01b03198216636cdb3d1360e11b1480610a8c57506001600160e01b031982166303a24d0760e21b145b806102cf57506301ffc9a760e01b6001600160e01b03198316146102cf565b610ab785858585610b37565b6001600160a01b038416156107d15782513390600103610af05760208481015190840151610ae9838989858589610d46565b50506103d5565b6103d5818787878787610e67565b610b08828261050a565b61053f5760405163e2517d3f60e01b81526001600160a01b0382166004820152602481018390526044016103bf565b8051825114610b665781518151604051635b05999160e01b8152600481019290925260248201526044016103bf565b335f5b8351811015610c68576020818102858101820151908501909101516001600160a01b03881615610c1a575f828152602081815260408083206001600160a01b038c16845290915290205481811015610bf4576040516303dee4c560e01b81526001600160a01b038a1660048201526024810182905260448101839052606481018490526084016103bf565b5f838152602081815260408083206001600160a01b038d16845290915290209082900390555b6001600160a01b03871615610c5e575f828152602081815260408083206001600160a01b038b16845290915281208054839290610c58908490611491565b90915550505b5050600101610b69565b508251600103610ce85760208301515f906020840151909150856001600160a01b0316876001600160a01b0316846001600160a01b03167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628585604051610cd9929190918252602082015260400190565b60405180910390a450506107d1565b836001600160a01b0316856001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051610d379291906114b0565b60405180910390a45050505050565b6001600160a01b0384163b156103d55760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e6190610d8a90899089908890889088906004016114dd565b6020604051808303815f875af1925050508015610dc4575060408051601f3d908101601f19168201909252610dc191810190611521565b60015b610e2b573d808015610df1576040519150601f19603f3d011682016040523d82523d5f602084013e610df6565b606091505b5080515f03610e2357604051632bfa23e760e11b81526001600160a01b03861660048201526024016103bf565b805160208201fd5b6001600160e01b0319811663f23a6e6160e01b146109f857604051632bfa23e760e11b81526001600160a01b03861660048201526024016103bf565b6001600160a01b0384163b156103d55760405163bc197c8160e01b81526001600160a01b0385169063bc197c8190610eab908990899088908890889060040161153c565b6020604051808303815f875af1925050508015610ee5575060408051601f3d908101601f19168201909252610ee291810190611521565b60015b610f12573d808015610df1576040519150601f19603f3d011682016040523d82523d5f602084013e610df6565b6001600160e01b0319811663bc197c8160e01b146109f857604051632bfa23e760e11b81526001600160a01b03861660048201526024016103bf565b80356001600160a01b0381168114610f64575f5ffd5b919050565b5f5f60408385031215610f7a575f5ffd5b610f8383610f4e565b946020939093013593505050565b6001600160e01b0319811681146107e2575f5ffd5b5f60208284031215610fb6575f5ffd5b8135610fc181610f91565b9392505050565b5f60208284031215610fd8575f5ffd5b5035919050565b5f81518084525f5b8181101561100357602081850181015186830182015201610fe7565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f610fc16020830184610fdf565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561107157611071611034565b604052919050565b5f67ffffffffffffffff82111561109257611092611034565b5060051b60200190565b5f82601f8301126110ab575f5ffd5b81356110be6110b982611079565b611048565b8082825260208201915060208360051b8601019250858311156110df575f5ffd5b602085015b838110156110fc5780358352602092830192016110e4565b5095945050505050565b5f82601f830112611115575f5ffd5b813567ffffffffffffffff81111561112f5761112f611034565b611142601f8201601f1916602001611048565b818152846020838601011115611156575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f5f5f5f60a08688031215611186575f5ffd5b61118f86610f4e565b945061119d60208701610f4e565b9350604086013567ffffffffffffffff8111156111b8575f5ffd5b6111c48882890161109c565b935050606086013567ffffffffffffffff8111156111e0575f5ffd5b6111ec8882890161109c565b925050608086013567ffffffffffffffff811115611208575f5ffd5b61121488828901611106565b9150509295509295909350565b5f5f60408385031215611232575f5ffd5b8235915061124260208401610f4e565b90509250929050565b5f5f6040838503121561125c575f5ffd5b823567ffffffffffffffff811115611272575f5ffd5b8301601f81018513611282575f5ffd5b80356112906110b982611079565b8082825260208201915060208360051b8501019250878311156112b1575f5ffd5b6020840193505b828410156112da576112c984610f4e565b8252602093840193909101906112b8565b9450505050602083013567ffffffffffffffff8111156112f8575f5ffd5b6113048582860161109c565b9150509250929050565b5f8151808452602084019350602083015f5b8281101561133e578151865260209586019590910190600101611320565b5093949350505050565b602081525f610fc1602083018461130e565b5f5f6040838503121561136b575f5ffd5b61137483610f4e565b915060208301358015158114611388575f5ffd5b809150509250929050565b5f5f604083850312156113a4575f5ffd5b6113ad83610f4e565b915061124260208401610f4e565b5f5f5f5f5f60a086880312156113cf575f5ffd5b6113d886610f4e565b94506113e660208701610f4e565b93506040860135925060608601359150608086013567ffffffffffffffff811115611208575f5ffd5b5f5f5f5f60808587031215611422575f5ffd5b61142b85610f4e565b966020860135965060408601359560600135945092505050565b600181811c9082168061145957607f821691505b60208210810361147757634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b808201808211156102cf57634e487b7160e01b5f52601160045260245ffd5b604081525f6114c2604083018561130e565b82810360208401526114d4818561130e565b95945050505050565b6001600160a01b03868116825285166020820152604081018490526060810183905260a0608082018190525f9061151690830184610fdf565b979650505050505050565b5f60208284031215611531575f5ffd5b8151610fc181610f91565b6001600160a01b0386811682528516602082015260a0604082018190525f906115679083018661130e565b8281036060840152611579818661130e565b9050828103608084015261158d8185610fdf565b9897505050505050505056fea26469706673582212208f71761c04aa4d3b490505d265049fb5387b5eb5f0e184ff88226d29dba5499d64736f6c634300081e0033","sourceMap":"292:1165:2:-:0;;;596:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;658:11;1291:13:8;658:11:2;1291:7:8;:13::i;:::-;-1:-1:-1;681:37:2::1;2241:4:5;712:5:2::0;681:10:::1;:37::i;:::-;-1:-1:-1::0;728:30:2::1;379:24;752:5:::0;728:10:::1;:30::i;:::-;;596:169:::0;;292:1165;;10098:86:8;10164:4;:13;10171:6;10164:4;:13;:::i;:::-;;10098:86;:::o;6155:316:5:-;6232:4;2930:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;2930:29:5;;;;;;;;;;;;6248:217;;6291:12;;;;:6;:12;;;;;;;;-1:-1:-1;;;;;6291:29:5;;;;;;;;;:36;;-1:-1:-1;;6291:36:5;6323:4;6291:36;;;6373:12;735:10:16;;656:96;6373:12:5;-1:-1:-1;;;;;6346:40:5;6364:7;-1:-1:-1;;;;;6346:40:5;6358:4;6346:40;;;;;;;;;;-1:-1:-1;6407:4:5;6400:11;;6248:217;-1:-1:-1;6449:5:5;6248:217;6155:316;;;;:::o;14:127:25:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:1211;235:6;243;296:2;284:9;275:7;271:23;267:32;264:52;;;312:1;309;302:12;264:52;338:16;;-1:-1:-1;;;;;383:31:25;;373:42;;363:70;;429:1;426;419:12;363:70;501:2;486:18;;480:25;452:5;;-1:-1:-1;;;;;;517:30:25;;514:50;;;560:1;557;550:12;514:50;583:22;;636:4;628:13;;624:27;-1:-1:-1;614:55:25;;665:1;662;655:12;614:55;692:9;;-1:-1:-1;;;;;713:30:25;;710:56;;;746:18;;:::i;:::-;795:2;789:9;887:2;849:17;;-1:-1:-1;;845:31:25;;;878:2;841:40;837:54;825:67;;-1:-1:-1;;;;;907:34:25;;943:22;;;904:62;901:88;;;969:18;;:::i;:::-;1005:2;998:22;1029;;;1070:15;;;1087:2;1066:24;1063:37;-1:-1:-1;1060:57:25;;;1113:1;1110;1103:12;1060:57;1135:1;1145:133;1159:6;1156:1;1153:13;1145:133;;;1263:2;1251:10;;;1247:19;;1241:26;1220:14;;;1216:23;;1209:59;1174:10;1145:133;;;1149:3;1324:1;1319:2;1310:6;1302;1298:19;1294:28;1287:39;1345:6;1335:16;;;;;146:1211;;;;;:::o;1362:380::-;1441:1;1437:12;;;;1484;;;1505:61;;1559:4;1551:6;1547:17;1537:27;;1505:61;1612:2;1604:6;1601:14;1581:18;1578:38;1575:161;;1658:10;1653:3;1649:20;1646:1;1639:31;1693:4;1690:1;1683:15;1721:4;1718:1;1711:15;1575:161;;1362:380;;;:::o;1873:518::-;1975:2;1970:3;1967:11;1964:421;;;2011:5;2008:1;2001:16;2055:4;2052:1;2042:18;2125:2;2113:10;2109:19;2106:1;2102:27;2096:4;2092:38;2161:4;2149:10;2146:20;2143:47;;;-1:-1:-1;2184:4:25;2143:47;2239:2;2234:3;2230:12;2227:1;2223:20;2217:4;2213:31;2203:41;;2294:81;2312:2;2305:5;2302:13;2294:81;;;2371:1;2357:16;;2338:1;2327:13;2294:81;;;2298:3;;1964:421;1873:518;;;:::o;2567:1299::-;2687:10;;-1:-1:-1;;;;;2709:30:25;;2706:56;;;2742:18;;:::i;:::-;2771:97;2861:6;2821:38;2853:4;2847:11;2821:38;:::i;:::-;2815:4;2771:97;:::i;:::-;2917:4;2948:2;2937:14;;2965:1;2960:649;;;;3653:1;3670:6;3667:89;;;-1:-1:-1;3722:19:25;;;3716:26;3667:89;-1:-1:-1;;2524:1:25;2520:11;;;2516:24;2512:29;2502:40;2548:1;2544:11;;;2499:57;3769:81;;2930:930;;2960:649;1820:1;1813:14;;;1857:4;1844:18;;-1:-1:-1;;2996:20:25;;;3114:222;3128:7;3125:1;3122:14;3114:222;;;3210:19;;;3204:26;3189:42;;3317:4;3302:20;;;;3270:1;3258:14;;;;3144:12;3114:222;;;3118:3;3364:6;3355:7;3352:19;3349:201;;;3425:19;;;3419:26;-1:-1:-1;;3508:1:25;3504:14;;;3520:3;3500:24;3496:37;3492:42;3477:58;3462:74;;3349:201;-1:-1:-1;;;;3596:1:25;3580:14;;;3576:22;3563:36;;-1:-1:-1;2567:1299:25:o;:::-;292:1165:2;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f5ffd5b5060043610610105575f3560e01c806382aefa241161009e578063d547741f1161006e578063d547741f14610243578063e985e9c514610256578063f242432a14610269578063f9fd78c81461027c578063ffd4397e1461029b575f5ffd5b806382aefa24146101ef57806391d1485414610216578063a217fddf14610229578063a22cb46514610230575f5ffd5b80632eb2c2d6116100d95780632eb2c2d6146101945780632f2ff15d146101a957806336568abe146101bc5780634e1273f4146101cf575f5ffd5b8062fdd58e1461010957806301ffc9a71461012f5780630e89341c14610152578063248a9ca314610172575b5f5ffd5b61011c610117366004610f69565b6102ae565b6040519081526020015b60405180910390f35b61014261013d366004610fa6565b6102d5565b6040519015158152602001610126565b610165610160366004610fc8565b6102df565b6040516101269190611022565b61011c610180366004610fc8565b5f9081526003602052604090206001015490565b6101a76101a2366004611172565b610371565b005b6101a76101b7366004611221565b6103dd565b6101a76101ca366004611221565b610407565b6101e26101dd36600461124b565b61043f565b6040516101269190611348565b61011c7f114e74f6ea3bd819998f78687bfcb11b140da08e9b7d222fa9c1f1ba1f2aa12281565b610142610224366004611221565b61050a565b61011c5f81565b6101a761023e36600461135a565b610534565b6101a7610251366004611221565b610543565b610142610264366004611393565b610567565b6101a76102773660046113bb565b610594565b61011c61028a366004610fc8565b60046020525f908152604090205481565b6101a76102a936600461140f565b6105f3565b5f818152602081815260408083206001600160a01b03861684529091529020545b92915050565b5f6102cf8261074f565b6060600280546102ee90611445565b80601f016020809104026020016040519081016040528092919081815260200182805461031a90611445565b80156103655780601f1061033c57610100808354040283529160200191610365565b820191905f5260205f20905b81548152906001019060200180831161034857829003601f168201915b50505050509050919050565b336001600160a01b038616811480159061039257506103908682610567565b155b156103c85760405163711bec9160e11b81526001600160a01b038083166004830152871660248201526044015b60405180910390fd5b6103d58686868686610773565b505050505050565b5f828152600360205260409020600101546103f7816107d8565b61040183836107e5565b50505050565b6001600160a01b03811633146104305760405163334bd91960e11b815260040160405180910390fd5b61043a8282610876565b505050565b606081518351146104705781518351604051635b05999160e01b8152600481019290925260248201526044016103bf565b5f835167ffffffffffffffff81111561048b5761048b611034565b6040519080825280602002602001820160405280156104b4578160200160208202803683370190505b5090505f5b8451811015610502576020808202860101516104dd906020808402870101516102ae565b8282815181106104ef576104ef61147d565b60209081029190910101526001016104b9565b509392505050565b5f9182526003602090815260408084206001600160a01b0393909316845291905290205460ff1690565b61053f3383836108e1565b5050565b5f8281526003602052604090206001015461055d816107d8565b6104018383610876565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205460ff1690565b336001600160a01b03861681148015906105b557506105b38682610567565b155b156105e65760405163711bec9160e11b81526001600160a01b038083166004830152871660248201526044016103bf565b6103d58686868686610975565b7f114e74f6ea3bd819998f78687bfcb11b140da08e9b7d222fa9c1f1ba1f2aa12261061d816107d8565b6001600160a01b0385161580159061063457508215155b801561063f57508115155b61067a5760405162461bcd60e51b815260206004820152600c60248201526b1253959053125117d352539560a21b60448201526064016103bf565b5f8481526004602052604090205480158061069457508281145b6106d55760405162461bcd60e51b81526020600482015260126024820152714d455441444154415f494d4d555441424c4560701b60448201526064016103bf565b5f8581526004602090815260408083208690558051918201905290815261070190879087908790610a01565b604080518581526020810185905286916001600160a01b038916917f9abc81e0123200464556b46b58e6fda2b15097af0579a8a59d1d8b99525e1001910160405180910390a3505050505050565b5f6001600160e01b03198216637965db0b60e01b14806102cf57506102cf82610a5c565b6001600160a01b03841661079c57604051632bfa23e760e11b81525f60048201526024016103bf565b6001600160a01b0385166107c457604051626a0d4560e21b81525f60048201526024016103bf565b6107d18585858585610aab565b5050505050565b6107e28133610afe565b50565b5f6107f0838361050a565b61086f575f8381526003602090815260408083206001600160a01b03861684529091529020805460ff191660011790556108273390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45060016102cf565b505f6102cf565b5f610881838361050a565b1561086f575f8381526003602090815260408083206001600160a01b0386168085529252808320805460ff1916905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45060016102cf565b6001600160a01b0382166109095760405162ced3e160e81b81525f60048201526024016103bf565b6001600160a01b038381165f81815260016020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b03841661099e57604051632bfa23e760e11b81525f60048201526024016103bf565b6001600160a01b0385166109c657604051626a0d4560e21b81525f60048201526024016103bf565b604080516001808252602082018690528183019081526060820185905260808201909252906109f88787848487610aab565b50505050505050565b6001600160a01b038416610a2a57604051632bfa23e760e11b81525f60048201526024016103bf565b604080516001808252602082018690528183019081526060820185905260808201909252906103d55f87848487610aab565b5f6001600160e01b03198216636cdb3d1360e11b1480610a8c57506001600160e01b031982166303a24d0760e21b145b806102cf57506301ffc9a760e01b6001600160e01b03198316146102cf565b610ab785858585610b37565b6001600160a01b038416156107d15782513390600103610af05760208481015190840151610ae9838989858589610d46565b50506103d5565b6103d5818787878787610e67565b610b08828261050a565b61053f5760405163e2517d3f60e01b81526001600160a01b0382166004820152602481018390526044016103bf565b8051825114610b665781518151604051635b05999160e01b8152600481019290925260248201526044016103bf565b335f5b8351811015610c68576020818102858101820151908501909101516001600160a01b03881615610c1a575f828152602081815260408083206001600160a01b038c16845290915290205481811015610bf4576040516303dee4c560e01b81526001600160a01b038a1660048201526024810182905260448101839052606481018490526084016103bf565b5f838152602081815260408083206001600160a01b038d16845290915290209082900390555b6001600160a01b03871615610c5e575f828152602081815260408083206001600160a01b038b16845290915281208054839290610c58908490611491565b90915550505b5050600101610b69565b508251600103610ce85760208301515f906020840151909150856001600160a01b0316876001600160a01b0316846001600160a01b03167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628585604051610cd9929190918252602082015260400190565b60405180910390a450506107d1565b836001600160a01b0316856001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051610d379291906114b0565b60405180910390a45050505050565b6001600160a01b0384163b156103d55760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e6190610d8a90899089908890889088906004016114dd565b6020604051808303815f875af1925050508015610dc4575060408051601f3d908101601f19168201909252610dc191810190611521565b60015b610e2b573d808015610df1576040519150601f19603f3d011682016040523d82523d5f602084013e610df6565b606091505b5080515f03610e2357604051632bfa23e760e11b81526001600160a01b03861660048201526024016103bf565b805160208201fd5b6001600160e01b0319811663f23a6e6160e01b146109f857604051632bfa23e760e11b81526001600160a01b03861660048201526024016103bf565b6001600160a01b0384163b156103d55760405163bc197c8160e01b81526001600160a01b0385169063bc197c8190610eab908990899088908890889060040161153c565b6020604051808303815f875af1925050508015610ee5575060408051601f3d908101601f19168201909252610ee291810190611521565b60015b610f12573d808015610df1576040519150601f19603f3d011682016040523d82523d5f602084013e610df6565b6001600160e01b0319811663bc197c8160e01b146109f857604051632bfa23e760e11b81526001600160a01b03861660048201526024016103bf565b80356001600160a01b0381168114610f64575f5ffd5b919050565b5f5f60408385031215610f7a575f5ffd5b610f8383610f4e565b946020939093013593505050565b6001600160e01b0319811681146107e2575f5ffd5b5f60208284031215610fb6575f5ffd5b8135610fc181610f91565b9392505050565b5f60208284031215610fd8575f5ffd5b5035919050565b5f81518084525f5b8181101561100357602081850181015186830182015201610fe7565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f610fc16020830184610fdf565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561107157611071611034565b604052919050565b5f67ffffffffffffffff82111561109257611092611034565b5060051b60200190565b5f82601f8301126110ab575f5ffd5b81356110be6110b982611079565b611048565b8082825260208201915060208360051b8601019250858311156110df575f5ffd5b602085015b838110156110fc5780358352602092830192016110e4565b5095945050505050565b5f82601f830112611115575f5ffd5b813567ffffffffffffffff81111561112f5761112f611034565b611142601f8201601f1916602001611048565b818152846020838601011115611156575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f5f5f5f60a08688031215611186575f5ffd5b61118f86610f4e565b945061119d60208701610f4e565b9350604086013567ffffffffffffffff8111156111b8575f5ffd5b6111c48882890161109c565b935050606086013567ffffffffffffffff8111156111e0575f5ffd5b6111ec8882890161109c565b925050608086013567ffffffffffffffff811115611208575f5ffd5b61121488828901611106565b9150509295509295909350565b5f5f60408385031215611232575f5ffd5b8235915061124260208401610f4e565b90509250929050565b5f5f6040838503121561125c575f5ffd5b823567ffffffffffffffff811115611272575f5ffd5b8301601f81018513611282575f5ffd5b80356112906110b982611079565b8082825260208201915060208360051b8501019250878311156112b1575f5ffd5b6020840193505b828410156112da576112c984610f4e565b8252602093840193909101906112b8565b9450505050602083013567ffffffffffffffff8111156112f8575f5ffd5b6113048582860161109c565b9150509250929050565b5f8151808452602084019350602083015f5b8281101561133e578151865260209586019590910190600101611320565b5093949350505050565b602081525f610fc1602083018461130e565b5f5f6040838503121561136b575f5ffd5b61137483610f4e565b915060208301358015158114611388575f5ffd5b809150509250929050565b5f5f604083850312156113a4575f5ffd5b6113ad83610f4e565b915061124260208401610f4e565b5f5f5f5f5f60a086880312156113cf575f5ffd5b6113d886610f4e565b94506113e660208701610f4e565b93506040860135925060608601359150608086013567ffffffffffffffff811115611208575f5ffd5b5f5f5f5f60808587031215611422575f5ffd5b61142b85610f4e565b966020860135965060408601359560600135945092505050565b600181811c9082168061145957607f821691505b60208210810361147757634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52603260045260245ffd5b808201808211156102cf57634e487b7160e01b5f52601160045260245ffd5b604081525f6114c2604083018561130e565b82810360208401526114d4818561130e565b95945050505050565b6001600160a01b03868116825285166020820152604081018490526060810183905260a0608082018190525f9061151690830184610fdf565b979650505050505050565b5f60208284031215611531575f5ffd5b8151610fc181610f91565b6001600160a01b0386811682528516602082015260a0604082018190525f906115679083018661130e565b8281036060840152611579818661130e565b9050828103608084015261158d8185610fdf565b9897505050505050505056fea26469706673582212208f71761c04aa4d3b490505d265049fb5387b5eb5f0e184ff88226d29dba5499d64736f6c634300081e0033","sourceMap":"292:1165:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2187:132:8;;;;;;:::i;:::-;;:::i;:::-;;;643:25:25;;;631:2;616:18;2187:132:8;;;;;;;;1288:167:2;;;;;;:::i;:::-;;:::i;:::-;;;1230:14:25;;1223:22;1205:41;;1193:2;1178:18;1288:167:2;1065:187:25;2049:103:8;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;3786:120:5:-;;;;;;:::i;:::-;3851:7;3877:12;;;:6;:12;;;;;:22;;;;3786:120;3820:429:8;;;;;;:::i;:::-;;:::i;:::-;;4202:136:5;;;;;;:::i;:::-;;:::i;5304:245::-;;;;;;:::i;:::-;;:::i;2476:552:8:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;341:62:2:-;;379:24;341:62;;2830:136:5;;;;;;:::i;:::-;;:::i;2196:49::-;;2241:4;2196:49;;3063:144:8;;;;;;:::i;:::-;;:::i;4618:138:5:-;;;;;;:::i;:::-;;:::i;3242:157:8:-;;;;;;:::i;:::-;;:::i;3434:351::-;;;;;;:::i;:::-;;:::i;409:70:2:-;;;;;;:::i;:::-;;;;;;;;;;;;;;771:511;;;;;;:::i;:::-;;:::i;2187:132:8:-;2264:7;2290:13;;;;;;;;;;;-1:-1:-1;;;;;2290:22:8;;;;;;;;;;2187:132;;;;;:::o;1288:167:2:-;1389:4;1412:36;1436:11;1412:23;:36::i;2049:103:8:-;2109:13;2141:4;2134:11;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2049:103;;;:::o;3820:429::-;735:10:16;-1:-1:-1;;;;;4057:14:8;;;;;;;:49;;;4076:30;4093:4;4099:6;4076:16;:30::i;:::-;4075:31;4057:49;4053:129;;;4129:42;;-1:-1:-1;;;4129:42:8;;-1:-1:-1;;;;;9977:32:25;;;4129:42:8;;;9959:51:25;10046:32;;10026:18;;;10019:60;9932:18;;4129:42:8;;;;;;;;4053:129;4191:51;4214:4;4220:2;4224:3;4229:6;4237:4;4191:22;:51::i;:::-;4004:245;3820:429;;;;;:::o;4202:136:5:-;3851:7;3877:12;;;:6;:12;;;;;:22;;;2473:16;2484:4;2473:10;:16::i;:::-;4306:25:::1;4317:4;4323:7;4306:10;:25::i;:::-;;4202:136:::0;;;:::o;5304:245::-;-1:-1:-1;;;;;5397:34:5;;735:10:16;5397:34:5;5393:102;;5454:30;;-1:-1:-1;;;5454:30:5;;;;;;;;;;;5393:102;5505:37;5517:4;5523:18;5505:11;:37::i;:::-;;5304:245;;:::o;2476:552:8:-;2600:16;2651:3;:10;2632:8;:15;:29;2628:121;;2710:10;;2722:15;;2684:54;;-1:-1:-1;;;2684:54:8;;;;;10264:25:25;;;;10305:18;;;10298:34;10237:18;;2684:54:8;10090:248:25;2628:121:8;2759:30;2806:8;:15;2792:30;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2792:30:8;-1:-1:-1;2759:63:8;-1:-1:-1;2838:9:8;2833:158;2857:8;:15;2853:1;:19;2833:158;;;17259:4:14;17250:14;;;17230:35;;;17224:42;2912:68:8;;17259:4:14;17250:14;;;17230:35;;;17224:42;2187:132:8;:::i;2912:68::-;2893:13;2907:1;2893:16;;;;;;;;:::i;:::-;;;;;;;;;;:87;2874:3;;2833:158;;;-1:-1:-1;3008:13:8;2476:552;-1:-1:-1;;;2476:552:8:o;2830:136:5:-;2907:4;2930:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;2930:29:5;;;;;;;;;;;;;;;2830:136::o;3063:144:8:-;3148:52;735:10:16;3181:8:8;3191;3148:18;:52::i;:::-;3063:144;;:::o;4618:138:5:-;3851:7;3877:12;;;:6;:12;;;;;:22;;;2473:16;2484:4;2473:10;:16::i;:::-;4723:26:::1;4735:4;4741:7;4723:11;:26::i;3242:157:8:-:0;-1:-1:-1;;;;;3355:27:8;;;3332:4;3355:27;;;:18;:27;;;;;;;;:37;;;;;;;;;;;;;;;3242:157::o;3434:351::-;735:10:16;-1:-1:-1;;;;;3600:14:8;;;;;;;:49;;;3619:30;3636:4;3642:6;3619:16;:30::i;:::-;3618:31;3600:49;3596:129;;;3672:42;;-1:-1:-1;;;3672:42:8;;-1:-1:-1;;;;;9977:32:25;;;3672:42:8;;;9959:51:25;10046:32;;10026:18;;;10019:60;9932:18;;3672:42:8;9785:300:25;3596:129:8;3734:44;3752:4;3758:2;3762;3766:5;3773:4;3734:17;:44::i;771:511:2:-;379:24;2473:16:5;2484:4;2473:10;:16::i;:::-;-1:-1:-1;;;;;901:16:2;::::1;::::0;;::::1;::::0;:31:::1;;-1:-1:-1::0;921:11:2;;::::1;901:31;:61;;;;-1:-1:-1::0;936:26:2;;::::1;901:61;893:86;;;::::0;-1:-1:-1;;;893:86:2;;10677:2:25;893:86:2::1;::::0;::::1;10659:21:25::0;10716:2;10696:18;;;10689:30;-1:-1:-1;;;10735:18:25;;;10728:42;10787:18;;893:86:2::1;10475:336:25::0;893:86:2::1;989:16;1008:23:::0;;;:14:::1;:23;::::0;;;;;1049:22;;;:50:::1;;;1087:12;1075:8;:24;1049:50;1041:81;;;::::0;-1:-1:-1;;;1041:81:2;;11018:2:25;1041:81:2::1;::::0;::::1;11000:21:25::0;11057:2;11037:18;;;11030:30;-1:-1:-1;;;11076:18:25;;;11069:48;11134:18;;1041:81:2::1;10816:342:25::0;1041:81:2::1;1132:23;::::0;;;:14:::1;:23;::::0;;;;;;;:38;;;1180:30;;;;::::1;::::0;;;;;::::1;::::0;1186:2;;1147:7;;1199:6;;1180:5:::1;:30::i;:::-;1225:50;::::0;;10264:25:25;;;10320:2;10305:18;;10298:34;;;1245:7:2;;-1:-1:-1;;;;;1225:50:2;::::1;::::0;::::1;::::0;10237:18:25;1225:50:2::1;;;;;;;883:399;771:511:::0;;;;;:::o;2541:202:5:-;2626:4;-1:-1:-1;;;;;;2649:47:5;;-1:-1:-1;;;2649:47:5;;:87;;;2700:36;2724:11;2700:23;:36::i;8831:445:8:-;-1:-1:-1;;;;;9024:16:8;;9020:88;;9063:34;;-1:-1:-1;;;9063:34:8;;9094:1;9063:34;;;11562:51:25;11535:18;;9063:34:8;11416:203:25;9020:88:8;-1:-1:-1;;;;;9121:18:8;;9117:88;;9162:32;;-1:-1:-1;;;9162:32:8;;9191:1;9162:32;;;11562:51:25;11535:18;;9162:32:8;11416:203:25;9117:88:8;9214:55;9241:4;9247:2;9251:3;9256:6;9264:4;9214:26;:55::i;:::-;8831:445;;;;;:::o;3175:103:5:-;3241:30;3252:4;735:10:16;3241::5;:30::i;:::-;3175:103;:::o;6155:316::-;6232:4;6253:22;6261:4;6267:7;6253;:22::i;:::-;6248:217;;6291:12;;;;:6;:12;;;;;;;;-1:-1:-1;;;;;6291:29:5;;;;;;;;;:36;;-1:-1:-1;;6291:36:5;6323:4;6291:36;;;6373:12;735:10:16;;656:96;6373:12:5;-1:-1:-1;;;;;6346:40:5;6364:7;-1:-1:-1;;;;;6346:40:5;6358:4;6346:40;;;;;;;;;;-1:-1:-1;6407:4:5;6400:11;;6248:217;-1:-1:-1;6449:5:5;6442:12;;6708:317;6786:4;6806:22;6814:4;6820:7;6806;:22::i;:::-;6802:217;;;6876:5;6844:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;6844:29:5;;;;;;;;;;:37;;-1:-1:-1;;6844:37:5;;;6900:40;735:10:16;;6844:12:5;;6900:40;;6876:5;6900:40;-1:-1:-1;6961:4:5;6954:11;;13084:315:8;-1:-1:-1;;;;;13191:22:8;;13187:94;;13236:34;;-1:-1:-1;;;13236:34:8;;13267:1;13236:34;;;11562:51:25;11535:18;;13236:34:8;11416:203:25;13187:94:8;-1:-1:-1;;;;;13290:25:8;;;;;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;:46;;-1:-1:-1;;13290:46:8;;;;;;;;;;13351:41;;1205::25;;;13351::8;;1178:18:25;13351:41:8;;;;;;;13084:315;;;:::o;7967:463::-;-1:-1:-1;;;;;8089:16:8;;8085:88;;8128:34;;-1:-1:-1;;;8128:34:8;;8159:1;8128:34;;;11562:51:25;11535:18;;8128:34:8;11416:203:25;8085:88:8;-1:-1:-1;;;;;8186:18:8;;8182:88;;8227:32;;-1:-1:-1;;;8227:32:8;;8256:1;8227:32;;;11562:51:25;11535:18;;8227:32:8;11416:203:25;8182:88:8;13782:4;13776:11;;13852:1;13837:17;;;13983:4;13971:17;;13964:35;;;14100:17;;;14130;;;13623:23;14167:17;;14160:35;;;14303:17;;;14290:31;;;13776:11;8368:55;8395:4;8401:2;13776:11;14100:17;8418:4;8368:26;:55::i;:::-;8075:355;;7967:463;;;;;:::o;10562:346::-;-1:-1:-1;;;;;10658:16:8;;10654:88;;10697:34;;-1:-1:-1;;;10697:34:8;;10728:1;10697:34;;;11562:51:25;11535:18;;10697:34:8;11416:203:25;10654:88:8;13782:4;13776:11;;13852:1;13837:17;;;13983:4;13971:17;;13964:35;;;14100:17;;;14130;;;13623:23;14167:17;;14160:35;;;14303:17;;;14290:31;;;13776:11;10840:61;-1:-1:-1;10879:2:8;13776:11;14100:17;10896:4;10840:26;:61::i;1345:305::-;1447:4;-1:-1:-1;;;;;;1482:41:8;;-1:-1:-1;;;1482:41:8;;:109;;-1:-1:-1;;;;;;;1539:52:8;;-1:-1:-1;;;1539:52:8;1482:109;:161;;;-1:-1:-1;;;;;;;;;;829:40:21;;;1607:36:8;730:146:21;6810:700:8;7011:30;7019:4;7025:2;7029:3;7034:6;7011:7;:30::i;:::-;-1:-1:-1;;;;;7055:16:8;;;7051:453;;7136:10;;735::16;;7150:1:8;7136:15;7132:362;;17259:4:14;17230:35;;;17224:42;17230:35;;;17224:42;7289:72:8;7325:8;7335:4;7341:2;17224:42:14;;7356:4:8;7289:35;:72::i;:::-;7153:223;;7132:362;;;7400:79;7441:8;7451:4;7457:2;7461:3;7466:6;7474:4;7400:40;:79::i;3408:197:5:-;3496:22;3504:4;3510:7;3496;:22::i;:::-;3491:108;;3541:47;;-1:-1:-1;;;3541:47:5;;-1:-1:-1;;;;;11816:32:25;;3541:47:5;;;11798:51:25;11865:18;;;11858:34;;;11771:18;;3541:47:5;11624:274:25;4950:1281:8;5085:6;:13;5071:3;:10;:27;5067:117;;5147:10;;5159:13;;5121:52;;-1:-1:-1;;;5121:52:8;;;;;10264:25:25;;;;10305:18;;;10298:34;10237:18;;5121:52:8;10090:248:25;5067:117:8;735:10:16;5194:16:8;5236:691;5260:3;:10;5256:1;:14;5236:691;;;17259:4:14;17250:14;;;17230:35;;;;;17224:42;17230:35;;;;;;17224:42;-1:-1:-1;;;;;5406:18:8;;;5402:420;;5444:19;5466:13;;;;;;;;;;;-1:-1:-1;;;;;5466:19:8;;;;;;;;;;5507;;;5503:129;;;5557:56;;-1:-1:-1;;;5557:56:8;;-1:-1:-1;;;;;12152:32:25;;5557:56:8;;;12134:51:25;12201:18;;;12194:34;;;12244:18;;;12237:34;;;12287:18;;;12280:34;;;12106:19;;5557:56:8;11903:417:25;5503:129:8;5748:9;:13;;;;;;;;;;;-1:-1:-1;;;;;5748:19:8;;;;;;;;;5770;;;;5748:41;;5402:420;-1:-1:-1;;;;;5840:16:8;;;5836:81;;5876:9;:13;;;;;;;;;;;-1:-1:-1;;;;;5876:17:8;;;;;;;;;:26;;5897:5;;5876:9;:26;;5897:5;;5876:26;:::i;:::-;;;;-1:-1:-1;;5836:81:8;-1:-1:-1;;5272:3:8;;5236:691;;;;5941:3;:10;5955:1;5941:15;5937:288;;17259:4:14;17230:35;;17224:42;5972:10:8;;17259:4:14;17230:35;;17224:42;5972:38:8;;-1:-1:-1;6118:2:8;-1:-1:-1;;;;;6087:45:8;6112:4;-1:-1:-1;;;;;6087:45:8;6102:8;-1:-1:-1;;;;;6087:45:8;;6122:2;6126:5;6087:45;;;;;;10264:25:25;;;10320:2;10305:18;;10298:34;10252:2;10237:18;;10090:248;6087:45:8;;;;;;;;5958:185;;5937:288;;;6198:2;-1:-1:-1;;;;;6168:46:8;6192:4;-1:-1:-1;;;;;6168:46:8;6182:8;-1:-1:-1;;;;;6168:46:8;;6202:3;6207:6;6168:46;;;;;;;:::i;:::-;;;;;;;;5057:1174;4950:1281;;;;:::o;1006:961:13:-;-1:-1:-1;;;;;1205:14:13;;;:18;1201:760;;1243:71;;-1:-1:-1;;;1243:71:13;;-1:-1:-1;;;;;1243:38:13;;;;;:71;;1282:8;;1292:4;;1298:2;;1302:5;;1309:4;;1243:71;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1243:71:13;;;;;;;;-1:-1:-1;;1243:71:13;;;;;;;;;;;;:::i;:::-;;;1239:712;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1613:6;:13;1630:1;1613:18;1609:328;;1718:41;;-1:-1:-1;;;1718:41:13;;-1:-1:-1;;;;;11580:32:25;;1718:41:13;;;11562:51:25;11535:18;;1718:41:13;11416:203:25;1609:328:13;1889:6;1883:13;1876:4;1868:6;1864:17;1857:40;1239:712;-1:-1:-1;;;;;;1363:55:13;;-1:-1:-1;;;1363:55:13;1359:189;;1488:41;;-1:-1:-1;;;1488:41:13;;-1:-1:-1;;;;;11580:32:25;;1488:41:13;;;11562:51:25;11535:18;;1488:41:13;11416:203:25;2523:1028:13;-1:-1:-1;;;;;2747:14:13;;;:18;2743:802;;2785:78;;-1:-1:-1;;;2785:78:13;;-1:-1:-1;;;;;2785:43:13;;;;;:78;;2829:8;;2839:4;;2845:3;;2850:6;;2858:4;;2785:78;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2785:78:13;;;;;;;;-1:-1:-1;;2785:78:13;;;;;;;;;;;;:::i;:::-;;;2781:754;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;2942:60:13;;-1:-1:-1;;;2942:60:13;2938:194;;3072:41;;-1:-1:-1;;;3072:41:13;;-1:-1:-1;;;;;11580:32:25;;3072:41:13;;;11562:51:25;11535:18;;3072:41:13;11416:203:25;14:173;82:20;;-1:-1:-1;;;;;131:31:25;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:300::-;260:6;268;321:2;309:9;300:7;296:23;292:32;289:52;;;337:1;334;327:12;289:52;360:29;379:9;360:29;:::i;:::-;350:39;458:2;443:18;;;;430:32;;-1:-1:-1;;;192:300:25:o;679:131::-;-1:-1:-1;;;;;;753:32:25;;743:43;;733:71;;800:1;797;790:12;815:245;873:6;926:2;914:9;905:7;901:23;897:32;894:52;;;942:1;939;932:12;894:52;981:9;968:23;1000:30;1024:5;1000:30;:::i;:::-;1049:5;815:245;-1:-1:-1;;;815:245:25:o;1257:226::-;1316:6;1369:2;1357:9;1348:7;1344:23;1340:32;1337:52;;;1385:1;1382;1375:12;1337:52;-1:-1:-1;1430:23:25;;1257:226;-1:-1:-1;1257:226:25:o;1488:400::-;1530:3;1568:5;1562:12;1595:6;1590:3;1583:19;1620:1;1630:139;1644:6;1641:1;1638:13;1630:139;;;1752:4;1737:13;;;1733:24;;1727:31;1707:11;;;1703:22;;1696:63;1659:12;1630:139;;;1634:3;1814:1;1807:4;1798:6;1793:3;1789:16;1785:27;1778:38;1877:4;1870:2;1866:7;1861:2;1853:6;1849:15;1845:29;1840:3;1836:39;1832:50;1825:57;;;1488:400;;;;:::o;1893:220::-;2042:2;2031:9;2024:21;2005:4;2062:45;2103:2;2092:9;2088:18;2080:6;2062:45;:::i;2531:127::-;2592:10;2587:3;2583:20;2580:1;2573:31;2623:4;2620:1;2613:15;2647:4;2644:1;2637:15;2663:275;2734:2;2728:9;2799:2;2780:13;;-1:-1:-1;;2776:27:25;2764:40;;2834:18;2819:34;;2855:22;;;2816:62;2813:88;;;2881:18;;:::i;:::-;2917:2;2910:22;2663:275;;-1:-1:-1;2663:275:25:o;2943:183::-;3003:4;3036:18;3028:6;3025:30;3022:56;;;3058:18;;:::i;:::-;-1:-1:-1;3103:1:25;3099:14;3115:4;3095:25;;2943:183::o;3131:723::-;3185:5;3238:3;3231:4;3223:6;3219:17;3215:27;3205:55;;3256:1;3253;3246:12;3205:55;3296:6;3283:20;3323:64;3339:47;3379:6;3339:47;:::i;:::-;3323:64;:::i;:::-;3411:3;3435:6;3430:3;3423:19;3467:4;3462:3;3458:14;3451:21;;3528:4;3518:6;3515:1;3511:14;3503:6;3499:27;3495:38;3481:52;;3556:3;3548:6;3545:15;3542:35;;;3573:1;3570;3563:12;3542:35;3609:4;3601:6;3597:17;3623:200;3639:6;3634:3;3631:15;3623:200;;;3731:17;;3761:18;;3808:4;3799:14;;;;3656;3623:200;;;-1:-1:-1;3841:7:25;3131:723;-1:-1:-1;;;;;3131:723:25:o;3859:558::-;3901:5;3954:3;3947:4;3939:6;3935:17;3931:27;3921:55;;3972:1;3969;3962:12;3921:55;4012:6;3999:20;4042:18;4034:6;4031:30;4028:56;;;4064:18;;:::i;:::-;4108:59;4155:2;4132:17;;-1:-1:-1;;4128:31:25;4161:4;4124:42;4108:59;:::i;:::-;4192:6;4183:7;4176:23;4246:3;4239:4;4230:6;4222;4218:19;4214:30;4211:39;4208:59;;;4263:1;4260;4253:12;4208:59;4328:6;4321:4;4313:6;4309:17;4302:4;4293:7;4289:18;4276:59;4384:1;4355:20;;;4377:4;4351:31;4344:42;;;;4359:7;3859:558;-1:-1:-1;;;3859:558:25:o;4422:954::-;4576:6;4584;4592;4600;4608;4661:3;4649:9;4640:7;4636:23;4632:33;4629:53;;;4678:1;4675;4668:12;4629:53;4701:29;4720:9;4701:29;:::i;:::-;4691:39;;4749:38;4783:2;4772:9;4768:18;4749:38;:::i;:::-;4739:48;;4838:2;4827:9;4823:18;4810:32;4865:18;4857:6;4854:30;4851:50;;;4897:1;4894;4887:12;4851:50;4920:61;4973:7;4964:6;4953:9;4949:22;4920:61;:::i;:::-;4910:71;;;5034:2;5023:9;5019:18;5006:32;5063:18;5053:8;5050:32;5047:52;;;5095:1;5092;5085:12;5047:52;5118:63;5173:7;5162:8;5151:9;5147:24;5118:63;:::i;:::-;5108:73;;;5234:3;5223:9;5219:19;5206:33;5264:18;5254:8;5251:32;5248:52;;;5296:1;5293;5286:12;5248:52;5319:51;5362:7;5351:8;5340:9;5336:24;5319:51;:::i;:::-;5309:61;;;4422:954;;;;;;;;:::o;5381:300::-;5449:6;5457;5510:2;5498:9;5489:7;5485:23;5481:32;5478:52;;;5526:1;5523;5516:12;5478:52;5571:23;;;-1:-1:-1;5637:38:25;5671:2;5656:18;;5637:38;:::i;:::-;5627:48;;5381:300;;;;;:::o;5686:1146::-;5804:6;5812;5865:2;5853:9;5844:7;5840:23;5836:32;5833:52;;;5881:1;5878;5871:12;5833:52;5921:9;5908:23;5954:18;5946:6;5943:30;5940:50;;;5986:1;5983;5976:12;5940:50;6009:22;;6062:4;6054:13;;6050:27;-1:-1:-1;6040:55:25;;6091:1;6088;6081:12;6040:55;6131:2;6118:16;6154:64;6170:47;6210:6;6170:47;:::i;6154:64::-;6240:3;6264:6;6259:3;6252:19;6296:4;6291:3;6287:14;6280:21;;6353:4;6343:6;6340:1;6336:14;6332:2;6328:23;6324:34;6310:48;;6381:7;6373:6;6370:19;6367:39;;;6402:1;6399;6392:12;6367:39;6434:4;6430:2;6426:13;6415:24;;6448:152;6464:6;6459:3;6456:15;6448:152;;;6532:23;6551:3;6532:23;:::i;:::-;6520:36;;6585:4;6481:14;;;;6576;;;;6448:152;;;6619:5;-1:-1:-1;;;;6677:4:25;6662:20;;6649:34;6708:18;6695:32;;6692:52;;;6740:1;6737;6730:12;6692:52;6763:63;6818:7;6807:8;6796:9;6792:24;6763:63;:::i;:::-;6753:73;;;5686:1146;;;;;:::o;6837:420::-;6890:3;6928:5;6922:12;6955:6;6950:3;6943:19;6987:4;6982:3;6978:14;6971:21;;7026:4;7019:5;7015:16;7049:1;7059:173;7073:6;7070:1;7067:13;7059:173;;;7134:13;;7122:26;;7177:4;7168:14;;;;7205:17;;;;7095:1;7088:9;7059:173;;;-1:-1:-1;7248:3:25;;6837:420;-1:-1:-1;;;;6837:420:25:o;7262:261::-;7441:2;7430:9;7423:21;7404:4;7461:56;7513:2;7502:9;7498:18;7490:6;7461:56;:::i;7528:347::-;7593:6;7601;7654:2;7642:9;7633:7;7629:23;7625:32;7622:52;;;7670:1;7667;7660:12;7622:52;7693:29;7712:9;7693:29;:::i;:::-;7683:39;;7772:2;7761:9;7757:18;7744:32;7819:5;7812:13;7805:21;7798:5;7795:32;7785:60;;7841:1;7838;7831:12;7785:60;7864:5;7854:15;;;7528:347;;;;;:::o;7880:260::-;7948:6;7956;8009:2;7997:9;7988:7;7984:23;7980:32;7977:52;;;8025:1;8022;8015:12;7977:52;8048:29;8067:9;8048:29;:::i;:::-;8038:39;;8096:38;8130:2;8119:9;8115:18;8096:38;:::i;8145:704::-;8249:6;8257;8265;8273;8281;8334:3;8322:9;8313:7;8309:23;8305:33;8302:53;;;8351:1;8348;8341:12;8302:53;8374:29;8393:9;8374:29;:::i;:::-;8364:39;;8422:38;8456:2;8445:9;8441:18;8422:38;:::i;:::-;8412:48;-1:-1:-1;8529:2:25;8514:18;;8501:32;;-1:-1:-1;8630:2:25;8615:18;;8602:32;;-1:-1:-1;8711:3:25;8696:19;;8683:33;8739:18;8728:30;;8725:50;;;8771:1;8768;8761:12;8854:541;8940:6;8948;8956;8964;9017:3;9005:9;8996:7;8992:23;8988:33;8985:53;;;9034:1;9031;9024:12;8985:53;9057:29;9076:9;9057:29;:::i;:::-;9047:39;9155:2;9140:18;;9127:32;;-1:-1:-1;9256:2:25;9241:18;;9228:32;;9359:2;9344:18;9331:32;;-1:-1:-1;8854:541:25;-1:-1:-1;;;8854:541:25:o;9400:380::-;9479:1;9475:12;;;;9522;;;9543:61;;9597:4;9589:6;9585:17;9575:27;;9543:61;9650:2;9642:6;9639:14;9619:18;9616:38;9613:161;;9696:10;9691:3;9687:20;9684:1;9677:31;9731:4;9728:1;9721:15;9759:4;9756:1;9749:15;9613:161;;9400:380;;;:::o;10343:127::-;10404:10;10399:3;10395:20;10392:1;10385:31;10435:4;10432:1;10425:15;10459:4;10456:1;10449:15;12325:222;12390:9;;;12411:10;;;12408:133;;;12463:10;12458:3;12454:20;12451:1;12444:31;12498:4;12495:1;12488:15;12526:4;12523:1;12516:15;12552:465;12809:2;12798:9;12791:21;12772:4;12835:56;12887:2;12876:9;12872:18;12864:6;12835:56;:::i;:::-;12939:9;12931:6;12927:22;12922:2;12911:9;12907:18;12900:50;12967:44;13004:6;12996;12967:44;:::i;:::-;12959:52;12552:465;-1:-1:-1;;;;;12552:465:25:o;13022:557::-;-1:-1:-1;;;;;13281:32:25;;;13263:51;;13350:32;;13345:2;13330:18;;13323:60;13414:2;13399:18;;13392:34;;;13457:2;13442:18;;13435:34;;;13301:3;13500;13485:19;;13478:32;;;-1:-1:-1;;13527:46:25;;13553:19;;13545:6;13527:46;:::i;:::-;13519:54;13022:557;-1:-1:-1;;;;;;;13022:557:25:o;13584:249::-;13653:6;13706:2;13694:9;13685:7;13681:23;13677:32;13674:52;;;13722:1;13719;13712:12;13674:52;13754:9;13748:16;13773:30;13797:5;13773:30;:::i;13838:823::-;-1:-1:-1;;;;;14197:32:25;;;14179:51;;14266:32;;14261:2;14246:18;;14239:60;14217:3;14330:2;14315:18;;14308:31;;;-1:-1:-1;;14362:57:25;;14399:19;;14391:6;14362:57;:::i;:::-;14467:9;14459:6;14455:22;14450:2;14439:9;14435:18;14428:50;14501:44;14538:6;14530;14501:44;:::i;:::-;14487:58;;14594:9;14586:6;14582:22;14576:3;14565:9;14561:19;14554:51;14622:33;14648:6;14640;14622:33;:::i;:::-;14614:41;13838:823;-1:-1:-1;;;;;;;;13838:823:25:o","linkReferences":{}},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","ISSUER_ROLE()":"82aefa24","balanceOf(address,uint256)":"00fdd58e","balanceOfBatch(address[],uint256[])":"4e1273f4","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","isApprovedForAll(address,address)":"e985e9c5","metadataHashes(uint256)":"f9fd78c8","mint(address,uint256,uint256,bytes32)":"ffd4397e","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)":"2eb2c2d6","safeTransferFrom(address,address,uint256,uint256,bytes)":"f242432a","setApprovalForAll(address,bool)":"a22cb465","supportsInterface(bytes4)":"01ffc9a7","uri(uint256)":"0e89341c"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"admin\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"metadataUri\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC1155InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC1155InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"idsLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"valuesLength\",\"type\":\"uint256\"}],\"name\":\"ERC1155InvalidArrayLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"ERC1155InvalidOperator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC1155InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC1155InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC1155MissingApprovalForAll\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"metadataHash\",\"type\":\"bytes32\"}],\"name\":\"DemoAssetMinted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"TransferBatch\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"TransferSingle\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"URI\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ISSUER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"accounts\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"}],\"name\":\"balanceOfBatch\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"metadataHashes\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"metadataHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"metadataHash\",\"type\":\"bytes32\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeBatchTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"uri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"AccessControlBadConfirmation()\":[{\"details\":\"The caller of a function is not the expected one. NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\"}],\"AccessControlUnauthorizedAccount(address,bytes32)\":[{\"details\":\"The `account` is missing a role.\"}],\"ERC1155InsufficientBalance(address,uint256,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC1155InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC1155InvalidArrayLength(uint256,uint256)\":[{\"details\":\"Indicates an array length mismatch between ids and values in a safeBatchTransferFrom operation. Used in batch transfers.\",\"params\":{\"idsLength\":\"Length of the array of token identifiers\",\"valuesLength\":\"Length of the array of token amounts\"}}],\"ERC1155InvalidOperator(address)\":[{\"details\":\"Indicates a failure with the `operator` to be approved. Used in approvals.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC1155InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC1155InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC1155MissingApprovalForAll(address,address)\":[{\"details\":\"Indicates a failure with the `operator`\\u2019s approval. Used in transfers.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\",\"owner\":\"Address of the current owner of a token.\"}}]},\"events\":{\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `account` grants or revokes permission to `operator` to transfer their tokens, according to `approved`.\"},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted to signal this.\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call. This account bears the admin role (for the granted role). Expected in cases where the role was granted using the internal {AccessControl-_grantRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call:   - if using `revokeRole`, it is the admin role bearer   - if using `renounceRole`, it is the role bearer (i.e. `account`)\"},\"TransferBatch(address,address,address,uint256[],uint256[])\":{\"details\":\"Equivalent to multiple {TransferSingle} events, where `operator`, `from` and `to` are the same for all transfers.\"},\"TransferSingle(address,address,address,uint256,uint256)\":{\"details\":\"Emitted when `value` amount of tokens of type `id` are transferred from `from` to `to` by `operator`.\"},\"URI(string,uint256)\":{\"details\":\"Emitted when the URI for token type `id` changes to `value`, if it is a non-programmatic URI. If an {URI} event was emitted for `id`, the standard https://eips.ethereum.org/EIPS/eip-1155#metadata-extensions[guarantees] that `value` will equal the value returned by {IERC1155MetadataURI-uri}.\"}},\"kind\":\"dev\",\"methods\":{\"balanceOf(address,uint256)\":{\"details\":\"Returns the value of tokens of token type `id` owned by `account`.\"},\"balanceOfBatch(address[],uint256[])\":{\"details\":\"See {IERC1155-balanceOfBatch}. Requirements: - `accounts` and `ids` must have the same length.\"},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns true if `operator` is approved to transfer ``account``'s tokens. See {setApprovalForAll}.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `callerConfirmation`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)\":{\"details\":\"xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {safeTransferFrom}. WARNING: This function can potentially allow a reentrancy attack when transferring tokens to an untrusted contract, when invoking {IERC1155Receiver-onERC1155BatchReceived} on the receiver. Ensure to follow the checks-effects-interactions pattern and consider employing reentrancy guards when interacting with untrusted contracts. Emits either a {TransferSingle} or a {TransferBatch} event, depending on the length of the array arguments. Requirements: - `ids` and `values` must have the same length. - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155BatchReceived} and return the acceptance magic value.\"},\"safeTransferFrom(address,address,uint256,uint256,bytes)\":{\"details\":\"Transfers a `value` amount of tokens of type `id` from `from` to `to`. WARNING: This function can potentially allow a reentrancy attack when transferring tokens to an untrusted contract, when invoking {IERC1155Receiver-onERC1155Received} on the receiver. Ensure to follow the checks-effects-interactions pattern and consider employing reentrancy guards when interacting with untrusted contracts. Emits a {TransferSingle} event. Requirements: - `to` cannot be the zero address. - If the caller is not `from`, it must have been approved to spend ``from``'s tokens via {setApprovalForAll}. - `from` must have a balance of tokens of type `id` of at least `value` amount. - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155Received} and return the acceptance magic value.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Grants or revokes permission to `operator` to transfer the caller's tokens, according to `approved`, Emits an {ApprovalForAll} event. Requirements: - `operator` cannot be the zero address.\"},\"uri(uint256)\":{\"details\":\"See {IERC1155MetadataURI-uri}. This implementation returns the same URI for *all* token types. It relies on the token type ID substitution mechanism https://eips.ethereum.org/EIPS/eip-1155#metadata[defined in the ERC]. Clients calling this function must replace the `\\\\{id\\\\}` substring with the actual token type ID.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Testnet-only ERC-1155 used to demonstrate RWA ownership transfer.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/src/TestRWA.sol\":\"TestRWA\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@gluwa/=node_modules/@gluwa/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":forge-std/=contracts/lib/forge-std/src/\"]},\"sources\":{\"contracts/src/TestRWA.sol\":{\"keccak256\":\"0x347d74a20d40a39633139951760e2d51ab2d6707642eec5ba0dd77d2b5c3f34a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5df0c33ae5f63c7960ac83207d21c513aeb50cf948fc5f1b2d6bf99ec3f11cb\",\"dweb:/ipfs/QmdMtC73BxwmZRkoF7oZR2sx6QusMM8toe9563aSwGGrBV\"]},\"node_modules/@openzeppelin/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x1a6b4f6b7798ab80929d491b89d5427a9b3338c0fd1acd0ba325f69c6f1646af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7bb7f346c12a14dc622bc105ce3c47202fbc89f4b153a28a63bb68193297330c\",\"dweb:/ipfs/QmagwF8P3bUBXwdo159ueEnY9dLSvEWwK24kk2op58egwG\"]},\"node_modules/@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xbff9f59c84e5337689161ce7641c0ef8e872d6a7536fbc1f5133f128887aba3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b308f882e796f7b79c9502deacb0a62983035c6f6f4e962b319ba6a1f4a77d3d\",\"dweb:/ipfs/QmaWCW7ahEQqFjwhSUhV7Ae7WhfNvzSpE7DQ58hvEooqPL\"]},\"node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x19fdfb0f3b89a230e7dbd1cf416f1a6b531a3ee5db4da483f946320fc74afc0e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3490d794728f5bfecb46820431adaff71ba374141545ec20b650bb60353fac23\",\"dweb:/ipfs/QmPsfxjVpMcZbpE7BH93DzTpEaktESigEw4SmDzkXuJ4WR\"]},\"node_modules/@openzeppelin/contracts/token/ERC1155/ERC1155.sol\":{\"keccak256\":\"0xb90916a13c108291699c6e6ddb4b1277ea860dfac118a60568a6f432baedcf68\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://90719e236eafdcbdf56d830f460714668f95eb76c534edf140bb2948d9f8a048\",\"dweb:/ipfs/QmU8QmdKUHBejNeYGuJ913L7xhcysyr5MZLnNnPy9Jqrdx\"]},\"node_modules/@openzeppelin/contracts/token/ERC1155/IERC1155.sol\":{\"keccak256\":\"0xf189f9b417fe1931e1ab706838aff1128528694a9fcdb5ff7665197f2ca57d09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2ff0143c836c8c9f85d13708733c09e21251395847fccfb518bf3b556726a840\",\"dweb:/ipfs/QmP69sjjrQrhYAsvCSSB69Bx66SiUPdQUqdzMYnf4wANHm\"]},\"node_modules/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0x6ec6d7fce29668ede560c7d2e10f9d10de3473f5298e431e70a5767db42fa620\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac0139e51874aeec0730d040e57993187541777eb01d5939c06d5d2b986a54e8\",\"dweb:/ipfs/QmZbMbdPzusXuX9FGkyArV8hgzKLBZaL5RzMtCdCawtwPF\"]},\"node_modules/@openzeppelin/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol\":{\"keccak256\":\"0x98c32de9b02f43eba7c0aba9fadf331cffb35a8d2076dce1d556c8f2cad704aa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://38f68f76e741cce3ca4e0f8ece5ab9d69a203829311a403bafc8f7b95a7e6d63\",\"dweb:/ipfs/QmZ8PrDXU5DiZ7fzEoRN7vHMQdemtsqvYVV5AdvAnScS4o\"]},\"node_modules/@openzeppelin/contracts/token/ERC1155/utils/ERC1155Utils.sol\":{\"keccak256\":\"0xaeca1511f7da49bdb16e44aa0f09dca76b51ba079bd068b2f80b8fe6d22b5fa1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://542fe084e72e14f4298954f70c407d5795c1207a02c049f9b91e15f3b9a525a5\",\"dweb:/ipfs/QmbPQMVUVZBE9R9Va6FNfZBTrUY51nrjm8qxpeoAoRrPrQ\"]},\"node_modules/@openzeppelin/contracts/utils/Arrays.sol\":{\"keccak256\":\"0xa4b9958797e0e9cde82a090525e90f80d5745ba1c67ee72b488bd3087498a17e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c9344f7c2f80322c2e76d9d89bed03fd12f3e011e74fde7cf24ea21bdd2abe2d\",\"dweb:/ipfs/QmPMAjF5x2fHUAee2FKMZDBbFVrbZbPCr3a9KHLZaSn1zY\"]},\"node_modules/@openzeppelin/contracts/utils/Comparators.sol\":{\"keccak256\":\"0x302eecd8cf323b4690e3494a7d960b3cbce077032ab8ef655b323cdd136cec58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49ba706f1bc476d68fe6c1fad75517acea4e9e275be0989b548e292eb3a3eacd\",\"dweb:/ipfs/QmeBpvcdGWzWMKTQESUCEhHgnEQYYATVwPxLMxa6vMT7jC\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"node_modules/@openzeppelin/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"node_modules/@openzeppelin/contracts/utils/SlotDerivation.sol\":{\"keccak256\":\"0x67672e4ca1dafdcc661d4eba8475cfac631fa0933309258e3af7644b92e1fb26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://30192451f05ea5ddb0c18bd0f9003f098505836ba19c08a9c365adf829454da2\",\"dweb:/ipfs/QmfCuZSCTyCdFoSKn7MSaN6hZksnQn9ZhrZDAdRTCbwGu2\"]},\"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0x2d9dc2fe26180f74c11c13663647d38e259e45f95eb88f57b61d2160b0109d3e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://81233d1f98060113d9922180bb0f14f8335856fe9f339134b09335e9f678c377\",\"dweb:/ipfs/QmWh6R35SarhAn4z2wH8SU456jJSYL2FgucfTFgbHJJN4E\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x1225214420c83ebcca88f2ae2b50f053aaa7df7bd684c3e878d334627f2edfc6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c5fab4970634f9ab9a620983dc1c8a30153981a0b1a521666e269d0a11399d3\",\"dweb:/ipfs/QmVRnBC575MESGkEHndjujtR7qub2FzU9RWy9eKLp4hPZB\"]},\"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.30+commit.73712a01"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"admin","type":"address"},{"internalType":"string","name":"metadataUri","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"AccessControlBadConfirmation"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"type":"error","name":"AccessControlUnauthorizedAccount"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"type":"error","name":"ERC1155InsufficientBalance"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"type":"error","name":"ERC1155InvalidApprover"},{"inputs":[{"internalType":"uint256","name":"idsLength","type":"uint256"},{"internalType":"uint256","name":"valuesLength","type":"uint256"}],"type":"error","name":"ERC1155InvalidArrayLength"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"type":"error","name":"ERC1155InvalidOperator"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"type":"error","name":"ERC1155InvalidReceiver"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"type":"error","name":"ERC1155InvalidSender"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"address","name":"owner","type":"address"}],"type":"error","name":"ERC1155MissingApprovalForAll"},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"bool","name":"approved","type":"bool","indexed":false}],"type":"event","name":"ApprovalForAll","anonymous":false},{"inputs":[{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"tokenId","type":"uint256","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"bytes32","name":"metadataHash","type":"bytes32","indexed":false}],"type":"event","name":"DemoAssetMinted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256[]","name":"ids","type":"uint256[]","indexed":false},{"internalType":"uint256[]","name":"values","type":"uint256[]","indexed":false}],"type":"event","name":"TransferBatch","anonymous":false},{"inputs":[{"internalType":"address","name":"operator","type":"address","indexed":true},{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"id","type":"uint256","indexed":false},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"TransferSingle","anonymous":false},{"inputs":[{"internalType":"string","name":"value","type":"string","indexed":false},{"internalType":"uint256","name":"id","type":"uint256","indexed":true}],"type":"event","name":"URI","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"ISSUER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"}],"stateMutability":"view","type":"function","name":"balanceOfBatch","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"stateMutability":"view","type":"function","name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"stateMutability":"view","type":"function","name":"metadataHashes","outputs":[{"internalType":"bytes32","name":"metadataHash","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes32","name":"metadataHash","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"mint"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeBatchTransferFrom"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setApprovalForAll"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"uri","outputs":[{"internalType":"string","name":"","type":"string"}]}],"devdoc":{"kind":"dev","methods":{"balanceOf(address,uint256)":{"details":"Returns the value of tokens of token type `id` owned by `account`."},"balanceOfBatch(address[],uint256[])":{"details":"See {IERC1155-balanceOfBatch}. Requirements: - `accounts` and `ids` must have the same length."},"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"isApprovedForAll(address,address)":{"details":"Returns true if `operator` is approved to transfer ``account``'s tokens. See {setApprovalForAll}."},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `callerConfirmation`. May emit a {RoleRevoked} event."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)":{"details":"xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {safeTransferFrom}. WARNING: This function can potentially allow a reentrancy attack when transferring tokens to an untrusted contract, when invoking {IERC1155Receiver-onERC1155BatchReceived} on the receiver. Ensure to follow the checks-effects-interactions pattern and consider employing reentrancy guards when interacting with untrusted contracts. Emits either a {TransferSingle} or a {TransferBatch} event, depending on the length of the array arguments. Requirements: - `ids` and `values` must have the same length. - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155BatchReceived} and return the acceptance magic value."},"safeTransferFrom(address,address,uint256,uint256,bytes)":{"details":"Transfers a `value` amount of tokens of type `id` from `from` to `to`. WARNING: This function can potentially allow a reentrancy attack when transferring tokens to an untrusted contract, when invoking {IERC1155Receiver-onERC1155Received} on the receiver. Ensure to follow the checks-effects-interactions pattern and consider employing reentrancy guards when interacting with untrusted contracts. Emits a {TransferSingle} event. Requirements: - `to` cannot be the zero address. - If the caller is not `from`, it must have been approved to spend ``from``'s tokens via {setApprovalForAll}. - `from` must have a balance of tokens of type `id` of at least `value` amount. - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155Received} and return the acceptance magic value."},"setApprovalForAll(address,bool)":{"details":"Grants or revokes permission to `operator` to transfer the caller's tokens, according to `approved`, Emits an {ApprovalForAll} event. Requirements: - `operator` cannot be the zero address."},"uri(uint256)":{"details":"See {IERC1155MetadataURI-uri}. This implementation returns the same URI for *all* token types. It relies on the token type ID substitution mechanism https://eips.ethereum.org/EIPS/eip-1155#metadata[defined in the ERC]. Clients calling this function must replace the `\\{id\\}` substring with the actual token type ID."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@gluwa/=node_modules/@gluwa/","@openzeppelin/=node_modules/@openzeppelin/","forge-std/=contracts/lib/forge-std/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/src/TestRWA.sol":"TestRWA"},"evmVersion":"shanghai","libraries":{}},"sources":{"contracts/src/TestRWA.sol":{"keccak256":"0x347d74a20d40a39633139951760e2d51ab2d6707642eec5ba0dd77d2b5c3f34a","urls":["bzz-raw://f5df0c33ae5f63c7960ac83207d21c513aeb50cf948fc5f1b2d6bf99ec3f11cb","dweb:/ipfs/QmdMtC73BxwmZRkoF7oZR2sx6QusMM8toe9563aSwGGrBV"],"license":"MIT"},"node_modules/@openzeppelin/contracts/access/AccessControl.sol":{"keccak256":"0x1a6b4f6b7798ab80929d491b89d5427a9b3338c0fd1acd0ba325f69c6f1646af","urls":["bzz-raw://7bb7f346c12a14dc622bc105ce3c47202fbc89f4b153a28a63bb68193297330c","dweb:/ipfs/QmagwF8P3bUBXwdo159ueEnY9dLSvEWwK24kk2op58egwG"],"license":"MIT"},"node_modules/@openzeppelin/contracts/access/IAccessControl.sol":{"keccak256":"0xbff9f59c84e5337689161ce7641c0ef8e872d6a7536fbc1f5133f128887aba3c","urls":["bzz-raw://b308f882e796f7b79c9502deacb0a62983035c6f6f4e962b319ba6a1f4a77d3d","dweb:/ipfs/QmaWCW7ahEQqFjwhSUhV7Ae7WhfNvzSpE7DQ58hvEooqPL"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol":{"keccak256":"0x19fdfb0f3b89a230e7dbd1cf416f1a6b531a3ee5db4da483f946320fc74afc0e","urls":["bzz-raw://3490d794728f5bfecb46820431adaff71ba374141545ec20b650bb60353fac23","dweb:/ipfs/QmPsfxjVpMcZbpE7BH93DzTpEaktESigEw4SmDzkXuJ4WR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC1155/ERC1155.sol":{"keccak256":"0xb90916a13c108291699c6e6ddb4b1277ea860dfac118a60568a6f432baedcf68","urls":["bzz-raw://90719e236eafdcbdf56d830f460714668f95eb76c534edf140bb2948d9f8a048","dweb:/ipfs/QmU8QmdKUHBejNeYGuJ913L7xhcysyr5MZLnNnPy9Jqrdx"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC1155/IERC1155.sol":{"keccak256":"0xf189f9b417fe1931e1ab706838aff1128528694a9fcdb5ff7665197f2ca57d09","urls":["bzz-raw://2ff0143c836c8c9f85d13708733c09e21251395847fccfb518bf3b556726a840","dweb:/ipfs/QmP69sjjrQrhYAsvCSSB69Bx66SiUPdQUqdzMYnf4wANHm"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol":{"keccak256":"0x6ec6d7fce29668ede560c7d2e10f9d10de3473f5298e431e70a5767db42fa620","urls":["bzz-raw://ac0139e51874aeec0730d040e57993187541777eb01d5939c06d5d2b986a54e8","dweb:/ipfs/QmZbMbdPzusXuX9FGkyArV8hgzKLBZaL5RzMtCdCawtwPF"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol":{"keccak256":"0x98c32de9b02f43eba7c0aba9fadf331cffb35a8d2076dce1d556c8f2cad704aa","urls":["bzz-raw://38f68f76e741cce3ca4e0f8ece5ab9d69a203829311a403bafc8f7b95a7e6d63","dweb:/ipfs/QmZ8PrDXU5DiZ7fzEoRN7vHMQdemtsqvYVV5AdvAnScS4o"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC1155/utils/ERC1155Utils.sol":{"keccak256":"0xaeca1511f7da49bdb16e44aa0f09dca76b51ba079bd068b2f80b8fe6d22b5fa1","urls":["bzz-raw://542fe084e72e14f4298954f70c407d5795c1207a02c049f9b91e15f3b9a525a5","dweb:/ipfs/QmbPQMVUVZBE9R9Va6FNfZBTrUY51nrjm8qxpeoAoRrPrQ"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Arrays.sol":{"keccak256":"0xa4b9958797e0e9cde82a090525e90f80d5745ba1c67ee72b488bd3087498a17e","urls":["bzz-raw://c9344f7c2f80322c2e76d9d89bed03fd12f3e011e74fde7cf24ea21bdd2abe2d","dweb:/ipfs/QmPMAjF5x2fHUAee2FKMZDBbFVrbZbPCr3a9KHLZaSn1zY"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Comparators.sol":{"keccak256":"0x302eecd8cf323b4690e3494a7d960b3cbce077032ab8ef655b323cdd136cec58","urls":["bzz-raw://49ba706f1bc476d68fe6c1fad75517acea4e9e275be0989b548e292eb3a3eacd","dweb:/ipfs/QmeBpvcdGWzWMKTQESUCEhHgnEQYYATVwPxLMxa6vMT7jC"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2","urls":["bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12","dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Panic.sol":{"keccak256":"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a","urls":["bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a","dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/SlotDerivation.sol":{"keccak256":"0x67672e4ca1dafdcc661d4eba8475cfac631fa0933309258e3af7644b92e1fb26","urls":["bzz-raw://30192451f05ea5ddb0c18bd0f9003f098505836ba19c08a9c365adf829454da2","dweb:/ipfs/QmfCuZSCTyCdFoSKn7MSaN6hZksnQn9ZhrZDAdRTCbwGu2"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol":{"keccak256":"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97","urls":["bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b","dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol":{"keccak256":"0x2d9dc2fe26180f74c11c13663647d38e259e45f95eb88f57b61d2160b0109d3e","urls":["bzz-raw://81233d1f98060113d9922180bb0f14f8335856fe9f339134b09335e9f678c377","dweb:/ipfs/QmWh6R35SarhAn4z2wH8SU456jJSYL2FgucfTFgbHJJN4E"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c","urls":["bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617","dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0x1225214420c83ebcca88f2ae2b50f053aaa7df7bd684c3e878d334627f2edfc6","urls":["bzz-raw://6c5fab4970634f9ab9a620983dc1c8a30153981a0b1a521666e269d0a11399d3","dweb:/ipfs/QmVRnBC575MESGkEHndjujtR7qub2FzU9RWy9eKLp4hPZB"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol":{"keccak256":"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54","urls":["bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8","dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"contracts/src/TestRWA.sol","id":1371,"exportedSymbols":{"AccessControl":[4008],"ERC1155":[5145],"TestRWA":[1370]},"nodeType":"SourceUnit","src":"32:1426:2","nodes":[{"id":1228,"nodeType":"PragmaDirective","src":"32:24:2","nodes":[],"literals":["solidity","^","0.8",".30"]},{"id":1230,"nodeType":"ImportDirective","src":"58:74:2","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/token/ERC1155/ERC1155.sol","file":"@openzeppelin/contracts/token/ERC1155/ERC1155.sol","nameLocation":"-1:-1:-1","scope":1371,"sourceUnit":5146,"symbolAliases":[{"foreign":{"id":1229,"name":"ERC1155","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5145,"src":"66:7:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1232,"nodeType":"ImportDirective","src":"133:79:2","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/access/AccessControl.sol","file":"@openzeppelin/contracts/access/AccessControl.sol","nameLocation":"-1:-1:-1","scope":1371,"sourceUnit":4009,"symbolAliases":[{"foreign":{"id":1231,"name":"AccessControl","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4008,"src":"141:13:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1370,"nodeType":"ContractDefinition","src":"292:1165:2","nodes":[{"id":1242,"nodeType":"VariableDeclaration","src":"341:62:2","nodes":[],"constant":true,"functionSelector":"82aefa24","mutability":"constant","name":"ISSUER_ROLE","nameLocation":"365:11:2","scope":1370,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1238,"name":"bytes32","nodeType":"ElementaryTypeName","src":"341:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":{"arguments":[{"hexValue":"4953535545525f524f4c45","id":1240,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"389:13:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_114e74f6ea3bd819998f78687bfcb11b140da08e9b7d222fa9c1f1ba1f2aa122","typeString":"literal_string \"ISSUER_ROLE\""},"value":"ISSUER_ROLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_114e74f6ea3bd819998f78687bfcb11b140da08e9b7d222fa9c1f1ba1f2aa122","typeString":"literal_string \"ISSUER_ROLE\""}],"id":1239,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"379:9:2","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":1241,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"379:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"id":1246,"nodeType":"VariableDeclaration","src":"409:70:2","nodes":[],"constant":false,"functionSelector":"f9fd78c8","mutability":"mutable","name":"metadataHashes","nameLocation":"465:14:2","scope":1370,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bytes32_$","typeString":"mapping(uint256 => bytes32)"},"typeName":{"id":1245,"keyName":"tokenId","keyNameLocation":"425:7:2","keyType":{"id":1243,"name":"uint256","nodeType":"ElementaryTypeName","src":"417:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"409:48:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bytes32_$","typeString":"mapping(uint256 => bytes32)"},"valueName":"metadataHash","valueNameLocation":"444:12:2","valueType":{"id":1244,"name":"bytes32","nodeType":"ElementaryTypeName","src":"436:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}},"visibility":"public"},{"id":1256,"nodeType":"EventDefinition","src":"485:105:2","nodes":[],"anonymous":false,"eventSelector":"9abc81e0123200464556b46b58e6fda2b15097af0579a8a59d1d8b99525e1001","name":"DemoAssetMinted","nameLocation":"491:15:2","parameters":{"id":1255,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1248,"indexed":true,"mutability":"mutable","name":"to","nameLocation":"523:2:2","nodeType":"VariableDeclaration","scope":1256,"src":"507:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1247,"name":"address","nodeType":"ElementaryTypeName","src":"507:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1250,"indexed":true,"mutability":"mutable","name":"tokenId","nameLocation":"543:7:2","nodeType":"VariableDeclaration","scope":1256,"src":"527:23:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1249,"name":"uint256","nodeType":"ElementaryTypeName","src":"527:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1252,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"560:6:2","nodeType":"VariableDeclaration","scope":1256,"src":"552:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1251,"name":"uint256","nodeType":"ElementaryTypeName","src":"552:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1254,"indexed":false,"mutability":"mutable","name":"metadataHash","nameLocation":"576:12:2","nodeType":"VariableDeclaration","scope":1256,"src":"568:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1253,"name":"bytes32","nodeType":"ElementaryTypeName","src":"568:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"506:83:2"}},{"id":1277,"nodeType":"FunctionDefinition","src":"596:169:2","nodes":[],"body":{"id":1276,"nodeType":"Block","src":"671:94:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1267,"name":"DEFAULT_ADMIN_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3742,"src":"692:18:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1268,"name":"admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1258,"src":"712:5:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1266,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"681:10:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":1269,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"681:37:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1270,"nodeType":"ExpressionStatement","src":"681:37:2"},{"expression":{"arguments":[{"id":1272,"name":"ISSUER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1242,"src":"739:11:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":1273,"name":"admin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1258,"src":"752:5:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1271,"name":"_grantRole","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3969,"src":"728:10:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$","typeString":"function (bytes32,address) returns (bool)"}},"id":1274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"728:30:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1275,"nodeType":"ExpressionStatement","src":"728:30:2"}]},"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"id":1263,"name":"metadataUri","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1260,"src":"658:11:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"id":1264,"kind":"baseConstructorSpecifier","modifierName":{"id":1262,"name":"ERC1155","nameLocations":["650:7:2"],"nodeType":"IdentifierPath","referencedDeclaration":5145,"src":"650:7:2"},"nodeType":"ModifierInvocation","src":"650:20:2"}],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":1261,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1258,"mutability":"mutable","name":"admin","nameLocation":"616:5:2","nodeType":"VariableDeclaration","scope":1277,"src":"608:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1257,"name":"address","nodeType":"ElementaryTypeName","src":"608:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1260,"mutability":"mutable","name":"metadataUri","nameLocation":"637:11:2","nodeType":"VariableDeclaration","scope":1277,"src":"623:25:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1259,"name":"string","nodeType":"ElementaryTypeName","src":"623:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"607:42:2"},"returnParameters":{"id":1265,"nodeType":"ParameterList","parameters":[],"src":"671:0:2"},"scope":1370,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":1353,"nodeType":"FunctionDefinition","src":"771:511:2","nodes":[],"body":{"id":1352,"nodeType":"Block","src":"883:399:2","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1308,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1301,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1297,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1292,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1279,"src":"901:2:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":1295,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"915:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1294,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"907:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1293,"name":"address","nodeType":"ElementaryTypeName","src":"907:7:2","typeDescriptions":{}}},"id":1296,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"907:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"901:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1300,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1298,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1283,"src":"921:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"30","id":1299,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"931:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"921:11:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"901:31:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":1307,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1302,"name":"metadataHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1285,"src":"936:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":1305,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"960:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1304,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"952:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":1303,"name":"bytes32","nodeType":"ElementaryTypeName","src":"952:7:2","typeDescriptions":{}}},"id":1306,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"952:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"936:26:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"901:61:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"494e56414c49445f4d494e54","id":1309,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"964:14:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_9a82ab69f442937d1873ff28525ea9b204f9655b648cc37f7ed77f92912d19d1","typeString":"literal_string \"INVALID_MINT\""},"value":"INVALID_MINT"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_9a82ab69f442937d1873ff28525ea9b204f9655b648cc37f7ed77f92912d19d1","typeString":"literal_string \"INVALID_MINT\""}],"id":1291,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"893:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1310,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"893:86:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1311,"nodeType":"ExpressionStatement","src":"893:86:2"},{"assignments":[1313],"declarations":[{"constant":false,"id":1313,"mutability":"mutable","name":"existing","nameLocation":"997:8:2","nodeType":"VariableDeclaration","scope":1352,"src":"989:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1312,"name":"bytes32","nodeType":"ElementaryTypeName","src":"989:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":1317,"initialValue":{"baseExpression":{"id":1314,"name":"metadataHashes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1246,"src":"1008:14:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bytes32_$","typeString":"mapping(uint256 => bytes32)"}},"id":1316,"indexExpression":{"id":1315,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1281,"src":"1023:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1008:23:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"989:42:2"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1328,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":1324,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1319,"name":"existing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1313,"src":"1049:8:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":1322,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1069:1:2","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1321,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1061:7:2","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":1320,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1061:7:2","typeDescriptions":{}}},"id":1323,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1061:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1049:22:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":1327,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1325,"name":"existing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1313,"src":"1075:8:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":1326,"name":"metadataHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1285,"src":"1087:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1075:24:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1049:50:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4d455441444154415f494d4d555441424c45","id":1329,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1101:20:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_ae7e46f81edeb85ec81947437a1c1209973d7963076348cb016d7014894e4c7e","typeString":"literal_string \"METADATA_IMMUTABLE\""},"value":"METADATA_IMMUTABLE"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ae7e46f81edeb85ec81947437a1c1209973d7963076348cb016d7014894e4c7e","typeString":"literal_string \"METADATA_IMMUTABLE\""}],"id":1318,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"1041:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1330,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1041:81:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1331,"nodeType":"ExpressionStatement","src":"1041:81:2"},{"expression":{"id":1336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":1332,"name":"metadataHashes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1246,"src":"1132:14:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_bytes32_$","typeString":"mapping(uint256 => bytes32)"}},"id":1334,"indexExpression":{"id":1333,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1281,"src":"1147:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1132:23:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1335,"name":"metadataHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1285,"src":"1158:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1132:38:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":1337,"nodeType":"ExpressionStatement","src":"1132:38:2"},{"expression":{"arguments":[{"id":1339,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1279,"src":"1186:2:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1340,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1281,"src":"1190:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1341,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1283,"src":"1199:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"","id":1342,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1207:2:2","typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"id":1338,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4958,"src":"1180:5:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint256,uint256,bytes memory)"}},"id":1343,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1180:30:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1344,"nodeType":"ExpressionStatement","src":"1180:30:2"},{"eventCall":{"arguments":[{"id":1346,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1279,"src":"1241:2:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1347,"name":"tokenId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1281,"src":"1245:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1348,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1283,"src":"1254:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1349,"name":"metadataHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1285,"src":"1262:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1345,"name":"DemoAssetMinted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1256,"src":"1225:15:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_uint256_$_t_bytes32_$returns$__$","typeString":"function (address,uint256,uint256,bytes32)"}},"id":1350,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1225:50:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1351,"nodeType":"EmitStatement","src":"1220:55:2"}]},"functionSelector":"ffd4397e","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":1288,"name":"ISSUER_ROLE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1242,"src":"870:11:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":1289,"kind":"modifierInvocation","modifierName":{"id":1287,"name":"onlyRole","nameLocations":["861:8:2"],"nodeType":"IdentifierPath","referencedDeclaration":3753,"src":"861:8:2"},"nodeType":"ModifierInvocation","src":"861:21:2"}],"name":"mint","nameLocation":"780:4:2","parameters":{"id":1286,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1279,"mutability":"mutable","name":"to","nameLocation":"793:2:2","nodeType":"VariableDeclaration","scope":1353,"src":"785:10:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1278,"name":"address","nodeType":"ElementaryTypeName","src":"785:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1281,"mutability":"mutable","name":"tokenId","nameLocation":"805:7:2","nodeType":"VariableDeclaration","scope":1353,"src":"797:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1280,"name":"uint256","nodeType":"ElementaryTypeName","src":"797:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1283,"mutability":"mutable","name":"amount","nameLocation":"822:6:2","nodeType":"VariableDeclaration","scope":1353,"src":"814:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1282,"name":"uint256","nodeType":"ElementaryTypeName","src":"814:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1285,"mutability":"mutable","name":"metadataHash","nameLocation":"838:12:2","nodeType":"VariableDeclaration","scope":1353,"src":"830:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1284,"name":"bytes32","nodeType":"ElementaryTypeName","src":"830:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"784:67:2"},"returnParameters":{"id":1290,"nodeType":"ParameterList","parameters":[],"src":"883:0:2"},"scope":1370,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":1369,"nodeType":"FunctionDefinition","src":"1288:167:2","nodes":[],"body":{"id":1368,"nodeType":"Block","src":"1395:60:2","nodes":[],"statements":[{"expression":{"arguments":[{"id":1365,"name":"interfaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1355,"src":"1436:11:2","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"expression":{"id":1363,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1412:5:2","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_TestRWA_$1370_$","typeString":"type(contract super TestRWA)"}},"id":1364,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1418:17:2","memberName":"supportsInterface","nodeType":"MemberAccess","referencedDeclaration":3775,"src":"1412:23:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes4_$returns$_t_bool_$","typeString":"function (bytes4) view returns (bool)"}},"id":1366,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1412:36:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1362,"id":1367,"nodeType":"Return","src":"1405:43:2"}]},"baseFunctions":[3775,4320],"functionSelector":"01ffc9a7","implemented":true,"kind":"function","modifiers":[],"name":"supportsInterface","nameLocation":"1297:17:2","overrides":{"id":1359,"nodeType":"OverrideSpecifier","overrides":[{"id":1357,"name":"ERC1155","nameLocations":["1356:7:2"],"nodeType":"IdentifierPath","referencedDeclaration":5145,"src":"1356:7:2"},{"id":1358,"name":"AccessControl","nameLocations":["1365:13:2"],"nodeType":"IdentifierPath","referencedDeclaration":4008,"src":"1365:13:2"}],"src":"1347:32:2"},"parameters":{"id":1356,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1355,"mutability":"mutable","name":"interfaceId","nameLocation":"1322:11:2","nodeType":"VariableDeclaration","scope":1369,"src":"1315:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":1354,"name":"bytes4","nodeType":"ElementaryTypeName","src":"1315:6:2","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"1314:20:2"},"returnParameters":{"id":1362,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1361,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1369,"src":"1389:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1360,"name":"bool","nodeType":"ElementaryTypeName","src":"1389:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1388:6:2"},"scope":1370,"stateMutability":"view","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":1234,"name":"ERC1155","nameLocations":["312:7:2"],"nodeType":"IdentifierPath","referencedDeclaration":5145,"src":"312:7:2"},"id":1235,"nodeType":"InheritanceSpecifier","src":"312:7:2"},{"baseName":{"id":1236,"name":"AccessControl","nameLocations":["321:13:2"],"nodeType":"IdentifierPath","referencedDeclaration":4008,"src":"321:13:2"},"id":1237,"nodeType":"InheritanceSpecifier","src":"321:13:2"}],"canonicalName":"TestRWA","contractDependencies":[],"contractKind":"contract","documentation":{"id":1233,"nodeType":"StructuredDocumentation","src":"214:78:2","text":"@notice Testnet-only ERC-1155 used to demonstrate RWA ownership transfer."},"fullyImplemented":true,"linearizedBaseContracts":[1370,4008,5145,4228,5326,5268,7000,7012,4091,6601],"name":"TestRWA","nameLocation":"301:7:2","scope":1371,"usedErrors":[4018,4021,4193,4198,4203,4210,4215,4220,4227],"usedEvents":[1256,4030,4039,4048,5165,5180,5189,5196]}],"license":"MIT"},"id":2}