[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "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": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [], "name": "ADMIN_ROLE", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "LENDER_RECEIPT_SUPPLIER", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_baseURIextended", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "address", "name": "", "type": "address" } ], "name": "_roles", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "approve", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "getApproved", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "safeTransferFrom", "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": "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": "string", "name": "baseURI", "type": "string" } ], "name": "setBaseURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "role", "type": "uint256" }, { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "setRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "supplier", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "setSupplier", "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": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "tokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "transferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
60c060405234620000625762000014620001fb565b6040516119e862000469823960805181818161072901528181610a380152818161100c015261108e015260a05181818161058b01528181610f7401528181610fc001526110c301526119e890f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b90601f01601f191681019081106001600160401b038211176200009f57604052565b62000067565b90620000bc620000b460405190565b92836200007d565b565b6001600160401b0381116200009f57602090601f01601f19160190565b90620000f1620000eb83620000be565b620000a5565b918252565b620001026013620000db565b7f4b6574746c654c656e6465725265636569707400000000000000000000000000602082015290565b62000135620000f6565b90565b620001446003620000db565b6225a62960e91b602082015290565b6200013562000138565b6200013562000135620001359290565b9062000179906200015d565b600052602052604060002090565b62000135906200019d906001600160a01b031682565b6001600160a01b031690565b620001359062000187565b6200013590620001a9565b906200017990620001b4565b90600019905b9181191691161790565b90620001ef62000135620001f7926200015d565b8254620001cb565b9055565b6200021a620002096200012b565b6200021362000153565b906200044e565b6200022660006200015d565b608052620000bc6200023960016200015d565b8060a052620002606200025860076200025160805190565b906200016d565b3390620001bf565b620001db565b634e487b7160e01b600052602260045260246000fd5b90600160028304921680156200029f575b60208310146200029957565b62000266565b91607f16916200028d565b9160001960089290920291821b911b620001d1565b9190620002d462000135620001f7936200015d565b908354620002aa565b620000bc91600091620002bf565b818110620002f7575050565b80620003076000600193620002dd565b01620002eb565b9190601f81116200031e57505050565b62000332620000bc93600052602060002090565b906020601f84018190048301931062000356575b6020601f909101040190620002eb565b909150819062000346565b906200036b815190565b906001600160401b0382116200009f5762000393826200038c85546200027c565b856200030e565b602090601f8311600114620003d257620001f7929160009183620003c6575b5050600019600883021c1916906002021790565b015190503880620003b2565b601f19831691620003e885600052602060002090565b9260005b81811062000429575091600293918560019694106200040f575b50505002019055565b01516000196008601f8516021c1916905538808062000406565b91936020600181928787015181550195019201620003ec565b90620000bc9162000361565b9062000460620000bc92600062000442565b60016200044256fe6080604052600436101561001257600080fd5b60003560e01c806301ffc9a71461017257806306fdde031461016d578063081812fc146101685780630928fc2214610163578063095ea7b31461015e57806323b872dd146101595780632b1fa71e1461015457806340c10f191461014f57806342842e0e1461014a57806342966c681461014557806355f804b3146101405780636352211e1461013b57806370a082311461013657806375b238fc1461013157806395d89b411461012c5780639de6f45714610127578063a22cb46514610122578063a4ea844c1461011d578063a54967b414610118578063b88d4fde14610113578063c87b56dd1461010e5763e985e9c50361018a576109bd565b610954565b610938565b61089b565b61087f565b6107de565b61078d565b610759565b610714565b6106f9565b6106ca565b6106b2565b6105ed565b6105d4565b6105bb565b610576565b61055d565b61050f565b6104bb565b610488565b6103c5565b6101b9565b6001600160e01b031981165b0361018a57565b600080fd5b9050359061019c82610177565b565b9060208282031261018a576101b29161018f565b90565b9052565b3461018a576101e76101d46101cf36600461019e565b61186d565b6040515b91829182901515815260200190565b0390f35b600091031261018a57565b634e487b7160e01b600052600060045260246000fd5b634e487b7160e01b600052602260045260246000fd5b9060016002830492168015610242575b602083101461023d57565b61020c565b91607f1691610232565b8054600093929161026961025f83610222565b8085529360200190565b91600181169081156102bb575060011461028257505050565b6102959192939450600052602060002090565b916000925b8184106102a75750500190565b80548484015260209093019260010161029a565b92949550505060ff1916825215156020020190565b906101b29161024c565b634e487b7160e01b600052604160045260246000fd5b90601f01601f1916810190811067ffffffffffffffff82111761031257604052565b6102da565b9061019c6103319261032860405190565b938480926102d0565b03836102f0565b90600010610349576101b290610317565b6101f6565b6101b2600080610338565b60005b83811061036c5750506000910152565b818101518382015260200161035c565b61039d6103a66020936103b093610391815190565b80835293849260200190565b95869101610359565b601f01601f191690565b0190565b60208082526101b29291019061037c565b3461018a576103d53660046101eb565b6101e76103e061034e565b604051918291826103b4565b80610183565b9050359061019c826103ec565b9060208282031261018a576101b2916103f2565b6101b26101b26101b29290565b9061042a90610413565b600052602052604060002090565b6101b2916008021c5b6001600160a01b031690565b906101b29154610438565b6101b29061046a600491600092610420565b61044d565b6101b590610441565b60208101929161019c919061046f565b3461018a576101e76104a361049e3660046103ff565b610458565b60405191829182610478565b6101b260006006610338565b3461018a576104cb3660046101eb565b6101e76103e06104af565b61018381610441565b9050359061019c826104d6565b919060408382031261018a576101b29061050681856104df565b936020016103f2565b3461018a576105286105223660046104ec565b9061127f565b604051005b909160608284031261018a576101b261054684846104df565b9361055481602086016104df565b936040016103f2565b3461018a5761052861057036600461052d565b91611468565b3461018a576105863660046101eb565b6101e77f00000000000000000000000000000000000000000000000000000000000000005b6040519182918290815260200190565b3461018a576105286105ce3660046104ec565b90610fa4565b3461018a576105286105e736600461052d565b91611655565b3461018a576105286106003660046103ff565b610fef565b9061019c61061260405190565b92836102f0565b67ffffffffffffffff811161031257602090601f01601f19160190565b90826000939282370152565b9092919261065761065282610619565b610605565b9381855260208501908284011161018a5761019c92610636565b9080601f8301121561018a578160206101b293359101610642565b9060208282031261018a57813567ffffffffffffffff811161018a576101b29201610671565b3461018a576105286106c536600461068c565b610c1d565b3461018a576101e76104a36106e03660046103ff565b611154565b9060208282031261018a576101b2916104df565b3461018a576101e76105ab61070f3660046106e5565b6111d2565b3461018a576107243660046101eb565b6101e77f00000000000000000000000000000000000000000000000000000000000000006105ab565b6101b260006001610338565b3461018a576107693660046101eb565b6101e76103e061074d565b909160608284031261018a576101b261054684846103f2565b3461018a576105286107a0366004610774565b91611070565b801515610183565b9050359061019c826107a6565b919060408382031261018a576101b2906107d581856104df565b936020016107ae565b3461018a576105286107f13660046107bb565b90611353565b919060408382031261018a576101b29061081181856103f2565b936020016104df565b6101b290610441906001600160a01b031682565b6101b29061081a565b6101b29061082e565b9061042a90610837565b6101b2916008021c81565b906101b2915461084a565b61087a6101b292610875600793600094610420565b610840565b610855565b3461018a576101e76105ab6108953660046107f7565b90610860565b3461018a576105286108ae3660046104ec565b906110e8565b909182601f8301121561018a5781359167ffffffffffffffff831161018a57602001926001830284011161018a57565b9060808282031261018a576108f981836104df565b9261090782602085016104df565b9261091583604083016103f2565b92606082013567ffffffffffffffff811161018a5761093492016108b4565b9091565b3461018a5761052861094b3660046108e4565b93929092611784565b3461018a576101e76103e061096a3660046103ff565b610c87565b919060408382031261018a576101b29061081181856104df565b6101b2916008021c5b60ff1690565b906101b29154610989565b6109b86101b292610875600593600094610840565b610998565b3461018a576101e76101d46109d336600461096f565b906109a3565b6101b29081565b6101b290546109d9565b156109f157565b60405162461bcd60e51b815260206004820152600d60248201526c1058d8d95cdcd0dbdb9d1c9bdb609a1b6044820152606490fd5b61019c90610a81610a6a610a65610a5e7f00000000000000000000000000000000000000000000000000000000000000006007610420565b3390610840565b6109e0565b610a7b610a776001610413565b9190565b146109ea565b610c12565b9160001960089290920291821b911b5b9181191691161790565b9190610ab16101b2610ab993610413565b908354610a86565b9055565b61019c91600091610aa0565b818110610ad4575050565b80610ae26000600193610abd565b01610ac9565b9190601f8111610af757505050565b610b0961019c93600052602060002090565b906020601f840181900483019310610b2b575b6020601f909101040190610ac9565b9091508190610b1c565b90610b3e815190565b9067ffffffffffffffff821161031257610b6282610b5c8554610222565b85610ae8565b602090601f8311600114610b9d57610ab9929160009183610b92575b5050600019600883021c1916906002021790565b015190503880610b7e565b601f19831691610bb285600052602060002090565b9260005b818110610bf057509160029391856001969410610bd7575b50505002019055565b01516000196008601f8516021c19169055388080610bce565b91936020600181928787015181550195019201610bb6565b9061019c91610b35565b61019c906006610c08565b61019c90610a26565b6103b0610c3e92602092610c38815190565b94859290565b93849101610359565b610c55906101b29392610c26565b90610c26565b610c7b929161019c91610c6d60405190565b948592602084019283610c47565b908103825203836102f0565b610c8f610f57565b8051610c9e610a776000610413565b14610cb557610caf6101b292610d1e565b90610c5b565b506101b290610d1e565b90610ccc61065283610619565b918252565b369037565b9061019c610cec610ce684610cbf565b93610619565b601f190160208401610cd1565b634e487b7160e01b600052601260045260246000fd5b8115610d19570490565b610cf9565b610d2781610daa565b90610d376001926103b084610413565b9180610d4284610cd6565b936020018401905b610d55575b50505090565b610d899060001901926f181899199a1a9b1b9c1cb0b131b232b360811b600a82061a8453610d83600a610413565b90610d0f565b9081610d98610a776000610413565b14610da557909181610d4a565b610d4f565b610db46000610413565b907a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000610dda81610413565b821015610f2c575b506d04ee2d6d415b85acef8100000000610dfb81610413565b821015610f0a575b50662386f26fc10000610e1581610413565b821015610ee8575b506305f5e100610e2c81610413565b821015610ec6575b50612710610e4181610413565b821015610ea4575b506064610e5581610413565b821015610e82575b50610e6b610a77600a610413565b1015610e745790565b6101b2906103b06001610413565b610e9d91610d83610e9292610413565b916103b06002610413565b9038610e5d565b610ebf91610d83610eb492610413565b916103b06004610413565b9038610e49565b610ee191610d83610ed692610413565b916103b06008610413565b9038610e34565b610f0391610d83610ef892610413565b916103b06010610413565b9038610e1d565b610f2591610d83610f1a92610413565b916103b06020610413565b9038610e03565b610f4791610d83610f3c92610413565b916103b06040610413565b9038610de2565b6101b290610317565b6101b26006610f4e565b9061019c91610f9a610a6a610a65610a5e7f00000000000000000000000000000000000000000000000000000000000000006007610420565b9061019c9161190c565b9061019c91610f61565b61019c90610fe6610a6a610a65610a5e7f00000000000000000000000000000000000000000000000000000000000000006007610420565b61019c90611967565b61019c90610fae565b9061019c9291611032610a6a610a65610a5e7f00000000000000000000000000000000000000000000000000000000000000006007610420565b611058565b9060001990610a96565b906110516101b2610ab992610413565b8254611037565b61019c929161087561106b926007610420565b611041565b9061019c9291610ff8565b9061019c916110b4610a6a610a65610a5e7f00000000000000000000000000000000000000000000000000000000000000006007610420565b9061106b61019c9261087560077f000000000000000000000000000000000000000000000000000000000000000090610420565b9061019c9161107b565b6101b290610441565b6101b290546110f2565b6104416101b26101b29290565b6101b290611105565b1561112257565b60405162461bcd60e51b815260206004820152600a6024820152691393d517d3525395115160b21b6044820152606490fd5b61116b61117091611163600090565b506002610420565b6110fb565b9061019c8261119061118a6111856000611112565b610441565b91610441565b141561111b565b1561119e57565b60405162461bcd60e51b815260206004820152600c60248201526b5a45524f5f4144445245535360a01b6044820152606490fd5b610a656101b2916111e1600090565b506112026111f26111856000611112565b6111fb83610441565b1415611197565b6003610840565b6101b290610992565b6101b29054611209565b1561122357565b60405162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b6044820152606490fd5b906001600160a01b0390610a96565b906112786101b2610ab992610837565b8254611259565b9061128e61116b826002610420565b916112b43361129c85610441565b6112a582610441565b14908115611314575b5061121c565b6112c8816112c3846004610420565b611268565b6113046112fe6112f87f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92595610837565b92610837565b92610413565b9261130e60405190565b600090a4565b61132d915061132890610875876005610840565b611212565b386112ae565b9060ff90610a96565b9061134c6101b2610ab992151590565b8254611333565b3361136c8361136784610875856005610840565b61133c565b6113ac6113a261139c7f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3193610837565b93610837565b936101d860405190565b0390a3565b156113b857565b60405162461bcd60e51b815260206004820152600a60248201526957524f4e475f46524f4d60b01b6044820152606490fd5b156113f157565b60405162461bcd60e51b81526020600482015260116024820152701253959053125117d49150d25412515395607a1b6044820152606490fd5b916001600160a01b0360089290920291821b911b610a96565b91906114546101b2610ab993610837565b90835461142a565b61019c91600091611443565b919061153e600261149161148261118561116b8785610420565b61148b87610441565b146113b1565b61152e836112c3866000946114bb6114ab61118588611112565b6114b486610441565b14156113ea565b6114e8336114c88c610441565b6114d182610441565b14908c821561158b575b50811561156e575061121c565b6115296115178560036108756114fe8f83610840565b61151161150a826109e0565b6000190190565b90611041565b611511611523826109e0565b60010190565b610420565b611539846004610420565b61145c565b6113046112fe6112f87fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef95610837565b905061158461118a61118561116b876004610420565b14386112ae565b816115a0929350610875611328926005610840565b908c6114db565b9050519061019c82610177565b9060208282031261018a576101b2916115a7565b90916101b2936115f16115f8926115e76080860196600087019061046f565b602085019061046f565b6040830152565b60608183039101526000815260200190565b6040513d6000823e3d90fd5b1561161d57565b60405162461bcd60e51b815260206004820152601060248201526f155394d0519157d49150d2541251539560821b6044820152606490fd5b91611661818385611468565b6000823b611671610a7783610413565b14928315611687575b50505061019c9150611616565b6020935061169f61169a6116c092610837565b610837565b9163150b7a026116cb33956116b360405190565b9889978896879560e01b90565b8552600485016115c8565b03925af180156117335761019c91600091611705575b506116fc630a85bd0160e11b5b916001600160e01b03191690565b1438808061167a565b611726915060203d811161172c575b61171e81836102f0565b8101906115b4565b386116e1565b503d611714565b61160a565b91906103a68161174f816103b09560209181520190565b8095610636565b9093916101b295936115f1611777926115e76080860198600087019061046f565b6060818503910152611738565b939092611792838587611468565b600090843b6117a3610a7784610413565b149485156117bb575b505050505061019c9150611616565b60209550906117fd6117d361169a6117f29594610837565b9463150b7a029233976117e560405190565b9a8b998a98899760e01b90565b875260048701611756565b03925af180156117335761019c9160009161182f575b50611824630a85bd0160e11b6116ee565b1438808080806117ac565b611847915060203d811161172c5761171e81836102f0565b38611813565b61186061185a6101b29290565b60e01b90565b6001600160e01b03191690565b61187a6301ffc9a761184d565b6001600160e01b03198216149081156118ae575b8115611898575090565b90506118aa6116ee635b5e139f61184d565b1490565b90506118bd6380ac58cd61184d565b6001600160e01b03198216149061188e565b156118d657565b60405162461bcd60e51b815260206004820152600e60248201526d1053149150511657d3525395115160921b6044820152606490fd5b906119176000611112565b9161192d61192484610441565b6114b483610441565b61153e816112c384600261195961194761116b8484610420565b61195361118a8b610441565b146118cf565b611529611517856003610840565b60029061197761116b8284610420565b9161153e600061152e816115398661198e83611112565b966119a461199b89610441565b6111908c610441565b6115296114fe8b600361084056fea2646970667358221220b6148b6357d3b63d567a09b0b24e6169b067a0a28035c3a8b0450ed42511aecd64736f6c63430008140033