[ { "inputs": [ { "internalType": "string", "name": "_name", "type": "string" }, { "internalType": "string", "name": "_symbol", "type": "string" }, { "internalType": "address", "name": "_bridge", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "approved", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "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": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "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": "tokenId", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "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": [], "name": "bridge", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getApproved", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "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": "tokenId", "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": "_newMetadataUri", "type": "string" } ], "name": "setMetadataUri", "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": "index", "type": "uint256" } ], "name": "tokenByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "tokenOfOwnerByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } ], "name": "tokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "transferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_tokenId", "type": "uint256" }, { "internalType": "string", "name": "tokenURI_", "type": "string" } ], "name": "zkBridgeMint", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
60806040523480156200001157600080fd5b5060405162001d8338038062001d8383398101604081905262000034916200025c565b8282620000413362000099565b815162000056906001906020850190620000e9565b5080516200006c906002906020840190620000e9565b5050600b80546001600160a01b0319166001600160a01b0393909316929092179091555062000325915050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b828054620000f790620002e9565b90600052602060002090601f0160209004810192826200011b576000855562000166565b82601f106200013657805160ff191683800117855562000166565b8280016001018555821562000166579182015b828111156200016657825182559160200191906001019062000149565b506200017492915062000178565b5090565b5b8082111562000174576000815560010162000179565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620001b757600080fd5b81516001600160401b0380821115620001d457620001d46200018f565b604051601f8301601f19908116603f01168101908282118183101715620001ff57620001ff6200018f565b816040528381526020925086838588010111156200021c57600080fd5b600091505b8382101562000240578582018301518183018401529082019062000221565b83821115620002525760008385830101525b9695505050505050565b6000806000606084860312156200027257600080fd5b83516001600160401b03808211156200028a57600080fd5b6200029887838801620001a5565b94506020860151915080821115620002af57600080fd5b50620002be86828701620001a5565b604086015190935090506001600160a01b0381168114620002de57600080fd5b809150509250925092565b600181811c90821680620002fe57607f821691505b6020821081036200031f57634e487b7160e01b600052602260045260246000fd5b50919050565b611a4e80620003356000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c80636352211e116100b8578063a22cb4651161007c578063a22cb4651461028f578063b88d4fde146102a2578063c87b56dd146102b5578063e78cea92146102c8578063e985e9c5146102db578063f2fde38b1461031757600080fd5b80636352211e1461024857806370a082311461025b578063715018a61461026e5780638da5cb5b1461027657806395d89b411461028757600080fd5b806318160ddd1161010a57806318160ddd146101d757806323b872dd146101e95780632a4a361d146101fc5780632f745c591461020f57806342842e0e146102225780634f6ccce71461023557600080fd5b806301ffc9a71461014757806306fdde031461016f578063081812fc14610184578063095ea7b3146101af5780631130630c146101c4575b600080fd5b61015a6101553660046114f2565b61032a565b60405190151581526020015b60405180910390f35b610177610355565b6040516101669190611563565b610197610192366004611576565b6103e7565b6040516001600160a01b039091168152602001610166565b6101c26101bd3660046115ab565b61040e565b005b6101c26101d2366004611681565b610528565b6009545b604051908152602001610166565b6101c26101f73660046116b6565b610547565b6101c261020a3660046116f2565b610578565b6101db61021d3660046115ab565b6105dc565b6101c26102303660046116b6565b610672565b6101db610243366004611576565b61068d565b610197610256366004611576565b610720565b6101db610269366004611749565b610780565b6101c2610806565b6000546001600160a01b0316610197565b61017761081a565b6101c261029d366004611764565b610829565b6101c26102b03660046117a0565b610834565b6101776102c3366004611576565b61086c565b600b54610197906001600160a01b031681565b61015a6102e936600461181c565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205460ff1690565b6101c2610325366004611749565b610965565b60006001600160e01b0319821663780e9d6360e01b148061034f575061034f826109de565b92915050565b6060600180546103649061184f565b80601f01602080910402602001604051908101604052809291908181526020018280546103909061184f565b80156103dd5780601f106103b2576101008083540402835291602001916103dd565b820191906000526020600020905b8154815290600101906020018083116103c057829003601f168201915b5050505050905090565b60006103f282610a2e565b506000908152600560205260409020546001600160a01b031690565b600061041982610720565b9050806001600160a01b0316836001600160a01b03160361048b5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b03821614806104a757506104a781336102e9565b6105195760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610482565b6105238383610a8d565b505050565b610530610afb565b805161054390600c906020840190611443565b5050565b6105513382610b55565b61056d5760405162461bcd60e51b815260040161048290611889565b610523838383610bd4565b600b546001600160a01b031633146105d25760405162461bcd60e51b815260206004820152601860248201527f63616c6c6572206973206e6f74207468652062726964676500000000000000006044820152606401610482565b6105238383610d45565b60006105e783610780565b82106106495760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b6064820152608401610482565b506001600160a01b03919091166000908152600760209081526040808320938352929052205490565b61052383838360405180602001604052806000815250610834565b600061069860095490565b82106106fb5760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b6064820152608401610482565b6009828154811061070e5761070e6118d6565b90600052602060002001549050919050565b6000818152600360205260408120546001600160a01b03168061034f5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610482565b60006001600160a01b0382166107ea5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610482565b506001600160a01b031660009081526004602052604090205490565b61080e610afb565b6108186000610ede565b565b6060600280546103649061184f565b610543338383610f2e565b61083e3383610b55565b61085a5760405162461bcd60e51b815260040161048290611889565b61086684848484610ffc565b50505050565b6000818152600360205260409020546060906001600160a01b03166108d35760405162461bcd60e51b815260206004820152601f60248201527f55524920717565727920666f72206e6f6e6578697374656e7420746f6b656e006044820152606401610482565b600c80546108e09061184f565b80601f016020809104026020016040519081016040528092919081815260200182805461090c9061184f565b80156109595780601f1061092e57610100808354040283529160200191610959565b820191906000526020600020905b81548152906001019060200180831161093c57829003601f168201915b50505050509050919050565b61096d610afb565b6001600160a01b0381166109d25760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610482565b6109db81610ede565b50565b60006001600160e01b031982166380ac58cd60e01b1480610a0f57506001600160e01b03198216635b5e139f60e01b145b8061034f57506301ffc9a760e01b6001600160e01b031983161461034f565b6000818152600360205260409020546001600160a01b03166109db5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610482565b600081815260056020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610ac282610720565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000546001600160a01b031633146108185760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610482565b600080610b6183610720565b9050806001600160a01b0316846001600160a01b03161480610ba857506001600160a01b0380821660009081526006602090815260408083209388168352929052205460ff165b80610bcc5750836001600160a01b0316610bc1846103e7565b6001600160a01b0316145b949350505050565b826001600160a01b0316610be782610720565b6001600160a01b031614610c0d5760405162461bcd60e51b8152600401610482906118ec565b6001600160a01b038216610c6f5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610482565b610c7c838383600161102f565b826001600160a01b0316610c8f82610720565b6001600160a01b031614610cb55760405162461bcd60e51b8152600401610482906118ec565b600081815260056020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260048552838620805460001901905590871680865283862080546001019055868652600390945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6001600160a01b038216610d9b5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610482565b6000818152600360205260409020546001600160a01b031615610e005760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610482565b610e0e60008383600161102f565b6000818152600360205260409020546001600160a01b031615610e735760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610482565b6001600160a01b038216600081815260046020908152604080832080546001019055848352600390915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b816001600160a01b0316836001600160a01b031603610f8f5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610482565b6001600160a01b03838116600081815260066020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611007848484610bd4565b6110138484848461107e565b6108665760405162461bcd60e51b815260040161048290611931565b61103b8484848461117f565b6001600160a01b038416156108665760405162461bcd60e51b815260206004820152600960248201526814dbdd5b109bdd5b9960ba1b6044820152606401610482565b60006001600160a01b0384163b1561117457604051630a85bd0160e11b81526001600160a01b0385169063150b7a02906110c2903390899088908890600401611983565b6020604051808303816000875af19250505080156110fd575060408051601f3d908101601f191682019092526110fa918101906119c0565b60015b61115a573d80801561112b576040519150601f19603f3d011682016040523d82523d6000602084013e611130565b606091505b5080516000036111525760405162461bcd60e51b815260040161048290611931565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610bcc565b506001949350505050565b60018111156111ee5760405162461bcd60e51b815260206004820152603560248201527f455243373231456e756d657261626c653a20636f6e7365637574697665207472604482015274185b9cd9995c9cc81b9bdd081cdd5c1c1bdc9d1959605a1b6064820152608401610482565b816001600160a01b03851661124a5761124581600980546000838152600a60205260408120829055600182018355919091527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0155565b61126d565b836001600160a01b0316856001600160a01b03161461126d5761126d85826112b3565b6001600160a01b0384166112895761128481611350565b6112ac565b846001600160a01b0316846001600160a01b0316146112ac576112ac84826113ff565b5050505050565b600060016112c084610780565b6112ca91906119dd565b60008381526008602052604090205490915080821461131d576001600160a01b03841660009081526007602090815260408083208584528252808320548484528184208190558352600890915290208190555b5060009182526008602090815260408084208490556001600160a01b039094168352600781528383209183525290812055565b600954600090611362906001906119dd565b6000838152600a60205260408120546009805493945090928490811061138a5761138a6118d6565b9060005260206000200154905080600983815481106113ab576113ab6118d6565b6000918252602080832090910192909255828152600a909152604080822084905585825281205560098054806113e3576113e3611a02565b6001900381819060005260206000200160009055905550505050565b600061140a83610780565b6001600160a01b039093166000908152600760209081526040808320868452825280832085905593825260089052919091209190915550565b82805461144f9061184f565b90600052602060002090601f01602090048101928261147157600085556114b7565b82601f1061148a57805160ff19168380011785556114b7565b828001600101855582156114b7579182015b828111156114b757825182559160200191906001019061149c565b506114c39291506114c7565b5090565b5b808211156114c357600081556001016114c8565b6001600160e01b0319811681146109db57600080fd5b60006020828403121561150457600080fd5b813561150f816114dc565b9392505050565b6000815180845260005b8181101561153c57602081850181015186830182015201611520565b8181111561154e576000602083870101525b50601f01601f19169290920160200192915050565b60208152600061150f6020830184611516565b60006020828403121561158857600080fd5b5035919050565b80356001600160a01b03811681146115a657600080fd5b919050565b600080604083850312156115be57600080fd5b6115c78361158f565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff80841115611606576116066115d5565b604051601f8501601f19908116603f0116810190828211818310171561162e5761162e6115d5565b8160405280935085815286868601111561164757600080fd5b858560208301376000602087830101525050509392505050565b600082601f83011261167257600080fd5b61150f838335602085016115eb565b60006020828403121561169357600080fd5b813567ffffffffffffffff8111156116aa57600080fd5b610bcc84828501611661565b6000806000606084860312156116cb57600080fd5b6116d48461158f565b92506116e26020850161158f565b9150604084013590509250925092565b60008060006060848603121561170757600080fd5b6117108461158f565b925060208401359150604084013567ffffffffffffffff81111561173357600080fd5b61173f86828701611661565b9150509250925092565b60006020828403121561175b57600080fd5b61150f8261158f565b6000806040838503121561177757600080fd5b6117808361158f565b91506020830135801515811461179557600080fd5b809150509250929050565b600080600080608085870312156117b657600080fd5b6117bf8561158f565b93506117cd6020860161158f565b925060408501359150606085013567ffffffffffffffff8111156117f057600080fd5b8501601f8101871361180157600080fd5b611810878235602084016115eb565b91505092959194509250565b6000806040838503121561182f57600080fd5b6118388361158f565b91506118466020840161158f565b90509250929050565b600181811c9082168061186357607f821691505b60208210810361188357634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906119b690830184611516565b9695505050505050565b6000602082840312156119d257600080fd5b815161150f816114dc565b6000828210156119fd57634e487b7160e01b600052601160045260246000fd5b500390565b634e487b7160e01b600052603160045260246000fdfea26469706673582212205a38e4a526a125edda58f80d859b2dabeb4e1b65fbce2120ff3126782c8387c264736f6c634300080e0033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000c253514680600602a92dd152138a36662c501c9700000000000000000000000000000000000000000000000000000000000000244c696665666f726d207820506f6c7968656472612078204d616e746c65204176617461720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000244c696665666f726d207820506f6c7968656472612078204d616e746c652041766174617200000000000000000000000000000000000000000000000000000000