[ { "inputs": [ { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "symbol", "type": "string" }, { "internalType": "string", "name": "baseUri", "type": "string" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "ERC721EnumerableForbiddenBatchMint", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "address", "name": "owner", "type": "address" } ], "name": "ERC721IncorrectOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ERC721InsufficientApproval", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "approver", "type": "address" } ], "name": "ERC721InvalidApprover", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" } ], "name": "ERC721InvalidOperator", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "ERC721InvalidOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "receiver", "type": "address" } ], "name": "ERC721InvalidReceiver", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "ERC721InvalidSender", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ERC721NonexistentToken", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "ERC721OutOfBoundsIndex", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "OwnableInvalidOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "OwnableUnauthorizedAccount", "type": "error" }, { "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": false, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "BridgeMinted", "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": "baseURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "bridgeMint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "bridgeReceiver", "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": "address", "name": "_bridgeReceiver", "type": "address" } ], "name": "setBridgeReceiver", "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" } ]
60806040523480156200001157600080fd5b5060405162001af838038062001af88339810160408190526200003491620001c1565b3383836000620000458382620002e1565b506001620000548282620002e1565b5050506001600160a01b0381166200008657604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6200009181620000aa565b50600b620000a08282620002e1565b50505050620003ad565b600a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200012457600080fd5b81516001600160401b0380821115620001415762000141620000fc565b604051601f8301601f19908116603f011681019082821181831017156200016c576200016c620000fc565b816040528381526020925086838588010111156200018957600080fd5b600091505b83821015620001ad57858201830151818301840152908201906200018e565b600093810190920192909252949350505050565b600080600060608486031215620001d757600080fd5b83516001600160401b0380821115620001ef57600080fd5b620001fd8783880162000112565b945060208601519150808211156200021457600080fd5b620002228783880162000112565b935060408601519150808211156200023957600080fd5b50620002488682870162000112565b9150509250925092565b600181811c908216806200026757607f821691505b6020821081036200028857634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620002dc57600081815260208120601f850160051c81016020861015620002b75750805b601f850160051c820191505b81811015620002d857828155600101620002c3565b5050505b505050565b81516001600160401b03811115620002fd57620002fd620000fc565b62000315816200030e845462000252565b846200028e565b602080601f8311600181146200034d5760008415620003345750858301515b600019600386901b1c1916600185901b178555620002d8565b600085815260208120601f198616915b828110156200037e578886015182559484019460019091019084016200035d565b50858210156200039d5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b61173b80620003bd6000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c80636c0360eb116100c3578063a22cb4651161007c578063a22cb465146102a2578063b88d4fde146102b5578063c87b56dd146102c8578063d044e81f146102db578063e985e9c5146102ee578063f2fde38b1461030157600080fd5b80636c0360eb1461025357806370a082311461025b578063715018a61461026e5780638c2a993e146102765780638da5cb5b1461028957806395d89b411461029a57600080fd5b806318160ddd1161011557806318160ddd146101e257806323b872dd146101f45780632f745c591461020757806342842e0e1461021a5780634f6ccce71461022d5780636352211e1461024057600080fd5b806301ffc9a71461015257806306fdde031461017a578063081812fc1461018f578063095ea7b3146101ba5780630a208972146101cf575b600080fd5b6101656101603660046112ac565b610314565b60405190151581526020015b60405180910390f35b61018261033f565b6040516101719190611320565b6101a261019d366004611333565b6103d1565b6040516001600160a01b039091168152602001610171565b6101cd6101c8366004611368565b6103fa565b005b600c546101a2906001600160a01b031681565b6008545b604051908152602001610171565b6101cd610202366004611392565b610409565b6101e6610215366004611368565b610499565b6101cd610228366004611392565b6104fe565b6101e661023b366004611333565b61051e565b6101a261024e366004611333565b610577565b610182610582565b6101e66102693660046113ce565b610610565b6101cd610658565b6101cd610284366004611368565b61066c565b600a546001600160a01b03166101a2565b610182610716565b6101cd6102b03660046113e9565b610725565b6101cd6102c336600461143b565b610730565b6101826102d6366004611333565b610747565b6101cd6102e93660046113ce565b6107f7565b6101656102fc366004611517565b610821565b6101cd61030f3660046113ce565b61084f565b60006001600160e01b0319821663780e9d6360e01b148061033957506103398261088d565b92915050565b60606000805461034e9061154a565b80601f016020809104026020016040519081016040528092919081815260200182805461037a9061154a565b80156103c75780601f1061039c576101008083540402835291602001916103c7565b820191906000526020600020905b8154815290600101906020018083116103aa57829003601f168201915b5050505050905090565b60006103dc826108dd565b506000828152600460205260409020546001600160a01b0316610339565b610405828233610916565b5050565b6001600160a01b03821661043857604051633250574960e11b8152600060048201526024015b60405180910390fd5b6000610445838333610923565b9050836001600160a01b0316816001600160a01b031614610493576040516364283d7b60e01b81526001600160a01b038086166004830152602482018490528216604482015260640161042f565b50505050565b60006104a483610610565b82106104d55760405163295f44f760e21b81526001600160a01b03841660048201526024810183905260440161042f565b506001600160a01b03919091166000908152600660209081526040808320938352929052205490565b61051983838360405180602001604052806000815250610730565b505050565b600061052960085490565b82106105525760405163295f44f760e21b8152600060048201526024810183905260440161042f565b6008828154811061056557610565611584565b90600052602060002001549050919050565b6000610339826108dd565b600b805461058f9061154a565b80601f01602080910402602001604051908101604052809291908181526020018280546105bb9061154a565b80156106085780601f106105dd57610100808354040283529160200191610608565b820191906000526020600020905b8154815290600101906020018083116105eb57829003601f168201915b505050505081565b60006001600160a01b03821661063c576040516322718ad960e21b81526000600482015260240161042f565b506001600160a01b031660009081526003602052604090205490565b6106606109f8565b61066a6000610a25565b565b600c546001600160a01b031633146106c65760405162461bcd60e51b815260206004820152601f60248201527f4272696467654e46543a204f6e6c79204272696467652063616e206d696e7400604482015260640161042f565b6106d08282610a77565b604080516001600160a01b0384168152602081018390527fae4b6e741e38054ad6705655cc56c91c184f6768f76b41e10803e2766d89e19f910160405180910390a15050565b60606001805461034e9061154a565b610405338383610a91565b61073b848484610409565b61049384848484610b30565b6060600061075483610577565b6001600160a01b0316036107c25760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b606482015260840161042f565b6000600b6107cf84610c59565b6040516020016107e09291906115b6565b60408051601f198184030181529190529392505050565b6107ff6109f8565b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b6108576109f8565b6001600160a01b03811661088157604051631e4fbdf760e01b81526000600482015260240161042f565b61088a81610a25565b50565b60006001600160e01b031982166380ac58cd60e01b14806108be57506001600160e01b03198216635b5e139f60e01b145b8061033957506301ffc9a760e01b6001600160e01b0319831614610339565b6000818152600260205260408120546001600160a01b03168061033957604051637e27328960e01b81526004810184905260240161042f565b6105198383836001610cec565b600080610931858585610df2565b90506001600160a01b03811661098e5761098984600880546000838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b6109b1565b846001600160a01b0316816001600160a01b0316146109b1576109b18185610eeb565b6001600160a01b0385166109cd576109c884610f7c565b6109f0565b846001600160a01b0316816001600160a01b0316146109f0576109f0858561102b565b949350505050565b600a546001600160a01b0316331461066a5760405163118cdaa760e01b815233600482015260240161042f565b600a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b61040582826040518060200160405280600081525061107b565b6001600160a01b038216610ac357604051630b61174360e31b81526001600160a01b038316600482015260240161042f565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b0383163b1561049357604051630a85bd0160e11b81526001600160a01b0384169063150b7a0290610b72903390889087908790600401611674565b6020604051808303816000875af1925050508015610bad575060408051601f3d908101601f19168201909252610baa918101906116b1565b60015b610c16573d808015610bdb576040519150601f19603f3d011682016040523d82523d6000602084013e610be0565b606091505b508051600003610c0e57604051633250574960e11b81526001600160a01b038516600482015260240161042f565b805181602001fd5b6001600160e01b03198116630a85bd0160e11b14610c5257604051633250574960e11b81526001600160a01b038516600482015260240161042f565b5050505050565b60606000610c6683611092565b600101905060008167ffffffffffffffff811115610c8657610c86611425565b6040519080825280601f01601f191660200182016040528015610cb0576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084610cba57509392505050565b8080610d0057506001600160a01b03821615155b15610dc2576000610d10846108dd565b90506001600160a01b03831615801590610d3c5750826001600160a01b0316816001600160a01b031614155b8015610d4f5750610d4d8184610821565b155b15610d785760405163a9fbf51f60e01b81526001600160a01b038416600482015260240161042f565b8115610dc05783856001600160a01b0316826001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b5050600090815260046020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6000828152600260205260408120546001600160a01b0390811690831615610e1f57610e1f81848661116a565b6001600160a01b03811615610e5d57610e3c600085600080610cec565b6001600160a01b038116600090815260036020526040902080546000190190555b6001600160a01b03851615610e8c576001600160a01b0385166000908152600360205260409020805460010190555b60008481526002602052604080822080546001600160a01b0319166001600160a01b0389811691821790925591518793918516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4949350505050565b6000610ef683610610565b600083815260076020526040902054909150808214610f49576001600160a01b03841660009081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b5060009182526007602090815260408084208490556001600160a01b039094168352600681528383209183525290812055565b600854600090610f8e906001906116ce565b60008381526009602052604081205460088054939450909284908110610fb657610fb6611584565b906000526020600020015490508060088381548110610fd757610fd7611584565b600091825260208083209091019290925582815260099091526040808220849055858252812055600880548061100f5761100f6116ef565b6001900381819060005260206000200160009055905550505050565b6000600161103884610610565b61104291906116ce565b6001600160a01b039093166000908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b61108583836111ce565b6105196000848484610b30565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106110d15772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef810000000083106110fd576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061111b57662386f26fc10000830492506010015b6305f5e1008310611133576305f5e100830492506008015b612710831061114757612710830492506004015b60648310611159576064830492506002015b600a83106103395760010192915050565b611175838383611233565b610519576001600160a01b0383166111a357604051637e27328960e01b81526004810182905260240161042f565b60405163177e802f60e01b81526001600160a01b03831660048201526024810182905260440161042f565b6001600160a01b0382166111f857604051633250574960e11b81526000600482015260240161042f565b600061120683836000610923565b90506001600160a01b03811615610519576040516339e3563760e11b81526000600482015260240161042f565b60006001600160a01b038316158015906109f05750826001600160a01b0316846001600160a01b0316148061126d575061126d8484610821565b806109f05750506000908152600460205260409020546001600160a01b03908116911614919050565b6001600160e01b03198116811461088a57600080fd5b6000602082840312156112be57600080fd5b81356112c981611296565b9392505050565b60005b838110156112eb5781810151838201526020016112d3565b50506000910152565b6000815180845261130c8160208601602086016112d0565b601f01601f19169290920160200192915050565b6020815260006112c960208301846112f4565b60006020828403121561134557600080fd5b5035919050565b80356001600160a01b038116811461136357600080fd5b919050565b6000806040838503121561137b57600080fd5b6113848361134c565b946020939093013593505050565b6000806000606084860312156113a757600080fd5b6113b08461134c565b92506113be6020850161134c565b9150604084013590509250925092565b6000602082840312156113e057600080fd5b6112c98261134c565b600080604083850312156113fc57600080fd5b6114058361134c565b91506020830135801515811461141a57600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b6000806000806080858703121561145157600080fd5b61145a8561134c565b93506114686020860161134c565b925060408501359150606085013567ffffffffffffffff8082111561148c57600080fd5b818701915087601f8301126114a057600080fd5b8135818111156114b2576114b2611425565b604051601f8201601f19908116603f011681019083821181831017156114da576114da611425565b816040528281528a60208487010111156114f357600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b6000806040838503121561152a57600080fd5b6115338361134c565b91506115416020840161134c565b90509250929050565b600181811c9082168061155e57607f821691505b60208210810361157e57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b600081516115ac8185602086016112d0565b9290920192915050565b600080845481600182811c9150808316806115d257607f831692505b602080841082036115f157634e487b7160e01b86526022600452602486fd5b818015611605576001811461161a57611647565b60ff1986168952841515850289019650611647565b60008b81526020902060005b8681101561163f5781548b820152908501908301611626565b505084890196505b50505050505061166b61165a828661159a565b64173539b7b760d91b815260050190565b95945050505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906116a7908301846112f4565b9695505050505050565b6000602082840312156116c357600080fd5b81516112c981611296565b8181038181111561033957634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603160045260246000fdfea2646970667358221220e44b2f890773d35212e3a2bced020ceb5580aa46a1cb4a6d7e4a4bcd308207f164736f6c63430008140033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000b416d6261737361646f7273000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b416d6261737361646f7273000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004468747470733a2f2f697066732e696f2f697066732f516d56366b41314165644474624c574234525a6d32674d4c6a4672696677743467456d5165574436743279774c572f00000000000000000000000000000000000000000000000000000000