0 txs
18 calls
constructor
constructor()
functions
balanceOf
viewfunction balanceOf(address owner) view returns (uint256)
getApproved
viewfunction getApproved(uint256 tokenId) view returns (address)
getDid
viewfunction getDid(address account) view returns (string did)
getTokenId
viewfunction getTokenId(address account) view returns (uint256 tokenId)
isAddressFrozen
viewfunction isAddressFrozen(address account) view returns (bool status)
isApprovedForAll
viewfunction isApprovedForAll(address owner, address operator) view returns (bool)
name
viewfunction name() view returns (string)
owner
viewfunction owner() view returns (address)
ownerOf
viewfunction ownerOf(uint256 tokenId) view returns (address)
paused
viewfunction paused() view returns (bool)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
symbol
viewfunction symbol() view returns (string)
tokenURI
viewfunction tokenURI(uint256 tokenId) view returns (string)
tokenURIByAddress
viewfunction tokenURIByAddress(address _address) view returns (string)
approve
nonpayablefunction approve(address to, uint256 tokenId)
burn
nonpayablefunction burn(uint256 tokenId)
initialize
nonpayablefunction initialize(address _owner)
mint
nonpayablefunction mint(address _to, string _tokenURI, string _did, address _nftRegistryAddress)
pause
nonpayablefunction pause()
renounceOwnership
nonpayablefunction renounceOwnership()
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 tokenId, bytes data)
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 tokenId)
setApprovalForAll
nonpayablefunction setApprovalForAll(address operator, bool approved)
setRegistryAddress
nonpayablefunction setRegistryAddress(address nftRegistry)
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 tokenId)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
unpause
nonpayablefunction unpause()
events
Approval
event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
ApprovalForAll
event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
BatchMetadataUpdate
event BatchMetadataUpdate(uint256 _fromTokenId, uint256 _toTokenId)
Initialized
event Initialized(uint64 version)
MetadataUpdate
event MetadataUpdate(uint256 _tokenId)
NFTMinted
event NFTMinted(address indexed _to, uint256 indexed _tokenId, string _tokenURI, string _did, address _nftRegistryAddress, address indexed _initiator)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Paused
event Paused(address account)
TokenBurned
event TokenBurned(uint256 indexed _tokenId, address indexed _initiator)
TokenFrozen
event TokenFrozen(uint256 indexed _tokenId, address indexed _account, address indexed _initiator)
Transfer
event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
Unpaused
event Unpaused(address account)
errors
EnforcedPause
error EnforcedPause()
ERC721IncorrectOwner
error ERC721IncorrectOwner(address sender, uint256 tokenId, address owner)
ERC721InsufficientApproval
error ERC721InsufficientApproval(address operator, uint256 tokenId)
ERC721InvalidApprover
error ERC721InvalidApprover(address approver)
ERC721InvalidOperator
error ERC721InvalidOperator(address operator)
ERC721InvalidOwner
error ERC721InvalidOwner(address owner)
ERC721InvalidReceiver
error ERC721InvalidReceiver(address receiver)
ERC721InvalidSender
error ERC721InvalidSender(address sender)
ERC721NonexistentToken
error ERC721NonexistentToken(uint256 tokenId)
ExpectedPause
error ExpectedPause()
InvalidInitialization
error InvalidInitialization()
NotInitializing
error NotInitializing()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
creation bytecode
0x608080604052346100b8577ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff8260401c166100a957506001600160401b036002600160401b031982821601610064575b6040516122d490816100be8239f35b6001600160401b031990911681179091556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1388080610055565b63f92ee8a960e01b8152600490fd5b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c90816301ffc9a7146118fa5750806306fdde0314611851578063081812fc14611807578063095ea7b31461170357806323b872dd146116685780633f4ba83a146115f057806342842e0e146115c857806342966c68146114a0578063510579b5146114645780635c975abb146114345780636352211e1461140357806370a08231146113ad578063715018a6146113435780638456cb59146112db5780638da5cb5b146112a557806395a3e2af1461125c57806395d89b411461118f578063a22cb465146110ef578063ab7b4993146110af578063b88d4fde1461104f578063ba3737cc14610832578063c4d66de814610320578063c87b56dd146102ec578063d38cca6114610201578063e985e9c5146101b2578063f1537686146101795763f2fde38b1461014a57600080fd5b34610176576020366003190112610176576101736101666119c1565b61016e611e58565b611db4565b80f35b80fd5b5034610176576020366003190112610176576020906040906001600160a01b036101a16119c1565b168152600383522054604051908152f35b5034610176576040366003190112610176576101cc6119c1565b6101dd6101d76119dc565b91611bb5565b9060018060a01b0316600052602052602060ff604060002054166040519015158152f35b5034610176576020806003193601126102e8576001600160a01b036102246119c1565b16825260058152604082206040518381949083549061024282611b04565b94858552600192876001821691826000146102c4575050600114610288575b50505061027092500383611a73565b610284604051928284938452830190611981565b0390f35b869350819291528282205b8583106102ac5750506102709350820101388080610261565b80548389018501528794508693909201918101610293565b93509450505061027094915060ff191682840152151560051b820101388080610261565b5080fd5b50346101765760203660031901126101765761028461030c600435611e91565b604051918291602083526020830190611981565b50346101765760203660031901126101765761033a6119c1565b9060008051602061225f833981519152546001600160401b03811680159081610822575b6001149081610818575b15908161080f575b506107fd5760016001600160401b031982161760008051602061225f8339815191525560ff8160401c16156107d0575b604051926103ad84611a58565b600b84526a1155925111539508111a5160aa1b60208501526040516103d181611a58565b6005815264115591125160da1b60208201526103eb612143565b6103f3612143565b84516001600160401b0381116106a5578061041c60008051602061219f83398151915254611b04565b96601f9788811161074f575b506020908883116001146106c45787926106b9575b50508160011b916000199060031b1c19161760008051602061219f833981519152555b8051946001600160401b0386116106a5577f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793019161049d8354611b04565b828111610646575b5060209187116001146105c257958091869760ff97926105b7575b50508160011b916000199060031b1c19161790555b6104dd612143565b6104e5612143565b6000805160206121df83398151915283198154169055610503612143565b61050b612143565b600160008051602061221f83398151915255610525612143565b61052d612143565b61053681611db4565b60018060a01b03166001600160601b0360a01b600154161760015560401c161561055d5780f35b68ff00000000000000001960008051602061225f833981519152541660008051602061225f833981519152557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a180f35b0151905038806104c0565b8286527ff4bad0a69248f59680a4f2b3000328cec71a413447c96781cfe5996daa8c456e9190601f198816875b81811061062e575091600193918960ff999a9410610615575b505050811b0190556104d5565b015160001960f88460031b161c19169055388080610608565b929360206001819287860151815501950193016105ef565b8387527ff4bad0a69248f59680a4f2b3000328cec71a413447c96781cfe5996daa8c456e83808a0160051c82019260208b1061069c575b0160051c01905b81811061069157506104a5565b878155600101610684565b9250819261067d565b634e487b7160e01b85526041600452602485fd5b01519050388061043d565b60008051602061219f833981519152885260008051602061227f8339815191529250601f198416885b818110610737575090846001959493921061071e575b505050811b0160008051602061219f83398151915255610460565b015160001960f88460031b161c19169055388080610703565b929360206001819287860151815501950193016106ed565b90915060008051602061219f83398151915287528780840160051c60008051602061227f8339815191520191602085106107ba575b90849392910160051c60008051602061227f83398151915201905b8181106107ac5750610428565b88815584935060010161079f565b60008051602061227f8339815191529250610784565b68ffffffffffffffffff198116680100000000000000011760008051602061225f833981519152556103a0565b60405163f92ee8a960e01b8152600490fd5b90501538610370565b303b159150610368565b604083901c60ff1615915061035e565b50346101765760803660031901126101765761084c6119c1565b906024356001600160401b0381116102e85761086c903690600401611ae6565b916044356001600160401b03811161104b5761088c903690600401611ae6565b926064356001600160a01b0381168103610c8b576108a8611e58565b600260008051602061221f833981519152541461103957600260008051602061221f833981519152556001600160a01b038316845260036020526040842054610ff4578354916000198314610fe05760018301855560405161090981611a27565b8581526001600160a01b03851615610fc75760ff6000805160206121df8339815191525416610f8257600184018652600460205261094e60ff60408820541615611b3e565b610956612118565b6001840186526000805160206121ff833981519152602081905260408720546001600160a01b03168015159182610f60575b61099188611b7c565b805460019081019091558701808a526020919091526040892080546001600160a01b0319166001600160a01b038a1690811790915590917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8a80a4610f4757843b610e0c575b506001830185527f0542a41881ee128a365a727b282c86fa859579490b9bb45aab8503648c8e79006020526040852081516001600160401b038111610d4857610a408254611b04565b601f8111610dcb575b50806020601f8211600114610d67578891610d5c575b508160011b916000199060031b1c19161790555b7ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce76020604051600186018152a16001600160a01b038416855260056020526040852086516001600160401b038111610d4857610acf8254611b04565b601f8111610d07575b506020601f8211600114610c9a579181889992610b90948a999a91610c8f575b508160011b916000199060031b1c19161790555b6001600160a01b038716808752600360209081526040808920600189810191829055818b526004909352818a20805460ff19169093179092555194610b829290913391907f203da5bf8b97010d42aeef514360cdaf360e63ff76eabb20b6810d56f5f9b26c8b80a4606085526060850190611981565b908382036020850152611981565b6001600160a01b03838116604084015233926001860192918816917fbe8fd429917eaa168725ec628680bf9d407d63eb2f5c88bbd80b357d85cc460a919081900390a46001546001600160a01b03908116949082163b15610c8b5760405163e031794360e01b81526001600160a01b0391821660048201523060248201526001938401604482015260648101959095526084850192909252839160a49183918591165af18015610c8057610c55575b50600160008051602061221f8339815191525580f35b6001600160401b038111610c6c5760405238610c3f565b634e487b7160e01b82526041600452602482fd5b6040513d84823e3d90fd5b8380fd5b905083015138610af8565b8288526020882090885b601f1984168110610cef575082610b9094926001928b9c95601f9c9b9c19811610610cd6575b5050811b019055610b0c565b85015160001960f88460031b161c191690553880610cca565b9091602060018192858e015181550193019101610ca4565b82885260208820601f830160051c810160208410610d41575b601f830160051c82018110610d36575050610ad8565b898155600101610d20565b5080610d20565b634e487b7160e01b87526041600452602487fd5b905083015138610a5f565b91508288526020882088925b601f1983168410610db3576001935082601f19811610610d9a575b5050811b019055610a73565b85015160001960f88460031b161c191690553880610d8e565b85810151825560209384019360019092019101610d73565b82885260208820601f830160051c810160208410610e05575b601f830160051c82018110610dfa575050610a49565b898155600101610de4565b5080610de4565b60405160208180610e48630a85bd0160e11b958683523360048401528b602484015260018a016044840152608060648401526084830190611981565b03818a6001600160a01b038b165af1879181610efe575b50610ec85786863d15610ebf573d610e7681611a94565b90610e846040519283611a73565b8152809260203d92013e5b81519182610eb857604051633250574960e11b81526001600160a01b0383166004820152602490fd5b9050602001fd5b60609150610e8f565b6001600160e01b03191603610edd57386109f7565b604051633250574960e11b81526001600160a01b0385166004820152602490fd5b9091506020813d602011610f3f575b81610f1a60209383611a73565b81010312610f3b57516001600160e01b031981168103610f3b579038610e5f565b8780fd5b3d9150610f0d565b6040516339e3563760e11b815260048101879052602490fd5b610f6c60018801612172565b610f7582611b7c565b8054600019019055610988565b60405162461bcd60e51b815260206004820152601b60248201527f546f6b656e207472616e73666572207768696c652070617573656400000000006044820152606490fd5b604051633250574960e11b815260048101879052602490fd5b634e487b7160e01b85526011600452602485fd5b60405162461bcd60e51b815260206004820152601860248201527f5573657220616c7265616479206f776e7320616e204e465400000000000000006044820152606490fd5b604051633ee5aeb560e01b8152600490fd5b8280fd5b5034610176576080366003190112610176576110696119c1565b6110716119dc565b606435916001600160401b038311610c8b5736602384011215610c8b576110a5610173933690602481600401359101611aaf565b9160443591611bee565b5034610176576020366003190112610176576110c96119c1565b6110d1611e58565b60018060a01b03166001600160601b0360a01b600254161760025580f35b5034610176576040366003190112610176576111096119c1565b6024359081151580920361104b576001600160a01b03169081156111765761113033611bb5565b8284526020526040832060ff1981541660ff83161790556040519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b604051630b61174360e31b815260048101839052602490fd5b50346101765780600319360112610176576040519080827f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793019283546111d381611b04565b93848452602095600192876001821691826000146102c45750506001146112035750505061027092500383611a73565b8152859250907ff4bad0a69248f59680a4f2b3000328cec71a413447c96781cfe5996daa8c456e5b8583106112445750506102709350820101388080610261565b8054838901850152879450869390920191810161122b565b50346101765760203660031901126101765760209060ff906040906001600160a01b036112876119c1565b16815260038452818120548152600484522054166040519015158152f35b50346101765780600319360112610176576000805160206121bf833981519152546040516001600160a01b039091168152602090f35b50346101765780600319360112610176576112f4611e58565b6112fc612118565b6000805160206121df833981519152600160ff198254161790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a180f35b503461017657806003193601126101765761135c611e58565b6000805160206121bf83398151915280546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5034610176576020366003190112610176576113c76119c1565b906001600160a01b038216156113eb5760206113e283611b7c565b54604051908152f35b602490604051906322718ad960e21b82526004820152fd5b5034610176576020366003190112610176576020611422600435611e28565b6040516001600160a01b039091168152f35b5034610176578060031936011261017657602060ff6000805160206121df83398151915254166040519015158152f35b5034610176576020366003190112610176576102849061030c906040906001600160a01b036114916119c1565b16815260036020522054611e91565b5034610176576020366003190112610176576004356114bd611e58565b60ff6000805160206121df8339815191525416610f825780825260046020526114ed60ff60408420541615611b3e565b6114f5612118565b8082526000805160206121ff833981519152602081905260408320546001600160a01b03168015918391859184156115a9575b8383526020526040822080546001600160a01b03191690557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a46115915733907f33631bcd0a4d34a7e2c240ab0753d5adfb7284d8ac89dab6876ec785c0cfa0e68380a380f35b60249060405190637e27328960e01b82526004820152fd5b6115b284612172565b6115bb82611b7c565b8054600019019055611528565b5034610176576101736115da366119f2565b90604051926115e884611a27565b858452611bee565b5034610176578060031936011261017657611609611e58565b6000805160206121df833981519152805460ff8116156116565760ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a180f35b604051638dfc202b60e01b8152600490fd5b503461017657611677366119f2565b90611680611e58565b818452600460205261169960ff60408620541615611b3e565b6001600160a01b0390808216156116ea576116b78291843391611f75565b93169216908282036116c7578380f35b60649350604051926364283d7b60e01b8452600484015260248301526044820152fd5b604051633250574960e11b815260048101869052602490fd5b50346101765760403660031901126101765761171d6119c1565b602435611728611e58565b808352600460205261174160ff60408520541615611b3e565b61174a81611e28565b331515806117f4575b806117d6575b6117be576001600160a01b039283169282918491167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258680a4825260008051602061223f8339815191526020526040822080546001600160a01b031916909117905580f35b60405163a9fbf51f60e01b8152336004820152602490fd5b506117e081611bb5565b33855260205260ff60408520541615611759565b506001600160a01b038116331415611753565b50346101765760203660031901126101765760209060043561182881611e28565b50815260008051602061223f8339815191528252604060018060a01b0391205416604051908152f35b503461017657806003193601126101765760405190808260008051602061219f83398151915292835461188381611b04565b93848452602095600192876001821691826000146102c45750506001146118b35750505061027092500383611a73565b81528592509060008051602061227f8339815191525b8583106118e25750506102709350820101388080610261565b805483890185015287945086939092019181016118c9565b9050346102e85760203660031901126102e85760043563ffffffff60e01b811680910361104b5760209250632483248360e11b811490811561193e575b5015158152f35b6380ac58cd60e01b811491508115611970575b811561195f575b5038611937565b6301ffc9a760e01b14905038611958565b635b5e139f60e01b81149150611951565b919082519283825260005b8481106119ad575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161198c565b600435906001600160a01b03821682036119d757565b600080fd5b602435906001600160a01b03821682036119d757565b60609060031901126119d7576001600160a01b039060043582811681036119d7579160243590811681036119d7579060443590565b602081019081106001600160401b03821117611a4257604052565b634e487b7160e01b600052604160045260246000fd5b604081019081106001600160401b03821117611a4257604052565b90601f801991011681019081106001600160401b03821117611a4257604052565b6001600160401b038111611a4257601f01601f191660200190565b929192611abb82611a94565b91611ac96040519384611a73565b8294818452818301116119d7578281602093846000960137010152565b9080601f830112156119d757816020611b0193359101611aaf565b90565b90600182811c92168015611b34575b6020831014611b1e57565b634e487b7160e01b600052602260045260246000fd5b91607f1691611b13565b15611b4557565b60405162461bcd60e51b815260206004820152600f60248201526e2a37b5b2b71034b990333937bd32b760891b6044820152606490fd5b6001600160a01b031660009081527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793036020526040902090565b6001600160a01b031660009081527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793056020526040902090565b91611bf7611e58565b6000818152600493602095858752604093611c1860ff868620541615611b3e565b6001600160a01b0386811696908715611d9d5780611c37338585611f75565b95169416848103611d7b57503b611c53575b5050505050505050565b96611c939185969798829a9596519384928392630a85bd0160e11b978885528d339086015260248501526044840152608060648401526084830190611981565b0381878a5af1849181611d37575b50611cff575050503d600014611cf7573d611cbb81611a94565b90611cc884519283611a73565b81528091863d92013e5b80519485611cf157505051633250574960e11b81529182015260249150fd5b85925001fd5b506060611cd2565b919650915063ffffffff60e01b1603611d22575050503880808080808080611c49565b51633250574960e11b81529182015260249150fd5b9091508881813d8311611d74575b611d4f8183611a73565b81010312611d7057516001600160e01b031981168103611d70579038611ca1565b8480fd5b503d611d45565b8860649184878a51936364283d7b60e01b855284015260248301526044820152fd5b8651633250574960e11b8152808a01879052602490fd5b6001600160a01b03908116908115611e0f576000805160206121bf83398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b604051631e4fbdf760e01b815260006004820152602490fd5b60008181526000805160206121ff83398151915260205260409020546001600160a01b0316908115611591575090565b6000805160206121bf833981519152546001600160a01b03163303611e7957565b60405163118cdaa760e01b8152336004820152602490fd5b611e9a81611e28565b5060009081526020907f0542a41881ee128a365a727b282c86fa859579490b9bb45aab8503648c8e790082526040812091604051809383908054611edd81611b04565b80855291600191808316908115611f535750600114611f16575b505050611f0692500383611a73565b604051611f1281611a27565b5290565b86528486209492508591905b818310611f3b575050611f069350820101388080611ef7565b85548884018501529485019487945091830191611f22565b92505050611f0694925060ff191682840152151560051b820101388080611ef7565b60ff6000805160206121df8339815191525416610f825760008281526004602052604093611fa960ff868420541615611b3e565b611fb1612118565b8382526000805160206121ff833981519152918260205260018060a01b03958693848284205416978894168015158061206c575b505083947fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9461204d575b86169586612037575b50868352602052812080546001600160a01b0319168517905580a490565b61204090611b7c565b6001815401905538612019565b61205688612172565b61205f86611b7c565b8054600019019055612010565b93959294509092806120c9575b1561208a5791828894929593611fe5565b86849189156000146120ad57506024915190637e27328960e01b82526004820152fd5b90604492519163177e802f60e01b835260048301526024820152fd5b5080881480156120fc575b80612079575086855260008051602061223f8339815191526020528082858720541614612079565b5061210688611bb5565b81865260205260ff84862054166120d4565b60ff6000805160206121df833981519152541661213157565b60405163d93c066560e01b8152600490fd5b60ff60008051602061225f8339815191525460401c161561216057565b604051631afcd79f60e31b8152600490fd5b60005260008051602061223f83398151915260205260406000206001600160601b0360a01b815416905556fe80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793009016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300cd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f0330080bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793029b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0080bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab0079304f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0037c58c799b6609234b945e882912ee9ad34948a1dfaa20a97485e1a7752bbf81a2646970667358221220303ee74f3cec25860b2fc64a4a0042bbdd72876efe26c3938c34d24ae171e6ff64736f6c63430008160033