1 tx
4 calls
constructor
constructor(address _owner, string _name, string _symbol, string _baseTokenURI)
functions
agents
viewfunction agents(string) view returns (bool exists, uint256 tokenId)
balanceOf
viewfunction balanceOf(address owner) view returns (uint256)
baseTokenURI
viewfunction baseTokenURI() view returns (string)
getApproved
viewfunction getApproved(uint256 tokenId) view returns (address)
getTicker
viewfunction getTicker(uint256 tokenId) view returns (string)
getTokenId
viewfunction getTokenId(string _ticker) view returns (uint256)
isApprovedForAll
viewfunction isApprovedForAll(address owner, address operator) view returns (bool)
launcher
viewfunction launcher() view returns (address)
name
viewfunction name() view returns (string)
owner
viewfunction owner() view returns (address)
ownerOf
viewfunction ownerOf(uint256 tokenId) view returns (address)
registry
viewfunction registry() view returns (address)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
symbol
viewfunction symbol() view returns (string)
tickers
viewfunction tickers(uint256) view returns (string)
tokenURI
viewfunction tokenURI(uint256 _tokenId) view returns (string)
approve
nonpayablefunction approve(address to, uint256 tokenId)
mint
nonpayablefunction mint(address _to, string _ticker) returns (uint256 tokenId, address account)
renounceOwnership
nonpayablefunction renounceOwnership()
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 tokenId, bytes data)
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 tokenId)
setAgentLauncher
nonpayablefunction setAgentLauncher(address _agentLauncher)
setApprovalForAll
nonpayablefunction setApprovalForAll(address operator, bool approved)
setBaseURI
nonpayablefunction setBaseURI(string _baseTokenURI)
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 tokenId)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
Approval
event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
ApprovalForAll
event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Transfer
event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
errors
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)
InvalidTicker
error InvalidTicker()
OnlyAgentLauncher
error OnlyAgentLauncher()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
TickerAlreadyExists
error TickerAlreadyExists()
creation bytecode
0x60806040523461052a57612128803803806100198161052f565b928339810160808282031261052a5781516001600160a01b0381169081900361052a5760208301516001600160401b03811161052a578261005b918501610554565b60408401519093906001600160401b03811161052a578361007d918301610554565b60608201519093906001600160401b03811161052a5761009d9201610554565b83519091906001600160401b03811161033e57600054600181811c91168015610520575b602082101461031e57601f81116104bc575b50602094601f82116001146104565794819293949560009261044b575b50508160011b916000199060031b1c1916176000555b82516001600160401b03811161033e57600154600181811c91168015610441575b602082101461031e57601f81116103dc575b506020601f8211600114610375578192939460009261036a575b50508160011b916000199060031b1c1916176001555b801561035457600680546001600160a01b0319811683179091556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a36001600755600880546001600160a01b0319166f6551c19487814612e58fe0681377575817905580516001600160401b03811161033e57600d54600181811c91168015610334575b602082101461031e57601f81116102b9575b50602091601f82116001146102555791819260009261024a575b50508160011b916000199060031b1c191617600d555b604051611b6890816105c08239f35b015190503880610225565b601f19821692600d600052806000209160005b8581106102a157508360019510610288575b505050811b01600d5561023b565b015160001960f88460031b161c1916905538808061027a565b91926020600181928685015181550194019201610268565b600d6000527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb5601f830160051c81019160208410610314575b601f0160051c01905b818110610308575061020b565b600081556001016102fb565b90915081906102f2565b634e487b7160e01b600052602260045260246000fd5b90607f16906101f9565b634e487b7160e01b600052604160045260246000fd5b631e4fbdf760e01b600052600060045260246000fd5b015190503880610153565b601f198216906001600052806000209160005b8181106103c4575095836001959697106103ab575b505050811b01600155610169565b015160001960f88460031b161c1916905538808061039d565b9192602060018192868b015181550194019201610388565b60016000527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6601f830160051c81019160208410610437575b601f0160051c01905b81811061042b5750610139565b6000815560010161041e565b9091508190610415565b90607f1690610127565b0151905038806100f0565b601f1982169560008052806000209160005b8881106104a45750836001959697981061048b575b505050811b01600055610106565b015160001960f88460031b161c1916905538808061047d565b91926020600181928685015181550194019201610468565b600080527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563601f830160051c81019160208410610516575b601f0160051c01905b81811061050a57506100d3565b600081556001016104fd565b90915081906104f4565b90607f16906100c1565b600080fd5b6040519190601f01601f191682016001600160401b0381118382101761033e57604052565b81601f8201121561052a578051906001600160401b03821161033e57610583601f8301601f191660200161052f565b928284526020838301011161052a5760005b8281106105aa57505060206000918301015290565b8060208092840101518282870101520161059556fe608080604052600436101561001357600080fd5b600090813560e01c90816301ffc9a7146114445750806306fdde03146113bc578063081812fc1461137f578063095ea7b31461129757806316eebd1e1461126e5780631e7663bc1461119d57806323b872dd1461118557806342842e0e1461115557806355f804b314610fc95780636352211e14610f985780636ccbf97c14610f1a57806370a0823114610ec7578063715018a614610e6a5780637b10399914610e415780638da5cb5b14610e1857806395b3153e14610d9557806395d89b4114610cee578063a22cb46514610c47578063b88d4fde14610bd7578063c45c98e214610bac578063c87b56dd1461095f578063cf6ee0cb146108f2578063d0def521146102f9578063d547cfb714610224578063e985e9c5146101ca5763f2fde38b1461013f57600080fd5b346101c75760203660031901126101c7576101586114f9565b6101606119ac565b6001600160a01b031680156101b357600680546001600160a01b0319811683179091556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b631e4fbdf760e01b82526004829052602482fd5b80fd5b50346101c75760403660031901126101c75760406101e66114f9565b916101ef611514565b9260018060a01b031681526005602052209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b50346101c757806003193601126101c7576040519080600d54906102478261160d565b80855291600181169081156102d25750600114610287575b6102838461026f8186038261152a565b6040519182916020835260208301906114d4565b0390f35b600d8152600080516020611b13833981519152939250905b8082106102b85750909150810160200161026f8261025f565b91926001816020925483858801015201910190929161029f565b60ff191660208087019190915292151560051b8501909201925061026f915083905061025f565b50346101c75760403660031901126101c7576103136114f9565b60243567ffffffffffffffff81116108ee576103339036906004016115b5565b6009546001600160a01b031633036108df576002600754146108d05760026007558051156108c157610364906118f5565b906040519160ff8151936020818185019661038081838a6114b1565b8101600b81520301902054166108b257600a54600019811461089e576001019283600a55604051906040820182811067ffffffffffffffff82111761088a57906001916040528183526104096103e9602080860193898552604051809381928a519283916114b1565b8101600b81520301902093511515849060ff801983541691151516179055565b51910155828452600c602052604084209080519067ffffffffffffffff8211610876578190610438845461160d565b601f8111610826575b50602090601f83116001146107c35787926107b8575b50508160011b916000199060031b1c19161790555b60209060405161047c838261152a565b8481526001600160a01b0382169182156107a4578486526002845260408620546001600160a01b03168015159081610770575b8488526003865260408089208054600101905587895260028752882080546001600160a01b031916861790558685827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8b80a45061075c573b61063d575b5050828160018060a01b036008541660a460405180948193638a54c52f60e01b83527355266d75d1a14e4572138116af39863ed6596e7f60048401528160248401524660448401523060648401528860848401525af19081156106325784916105f5575b506001600160a01b031690813b156105f15760405163189acdbd60e31b81527341c8f39463a868d3a88af00cd0fe7102f30e44ec600482015293808560248183875af19485156105e4576040956105d4575b505060016007558351928352820152f35b816105de9161152a565b386105c3565b50604051903d90823e3d90fd5b8380fd5b90508181813d831161062b575b61060c818361152a565b810103126105f157516001600160a01b03811681036105f15738610571565b503d610602565b6040513d86823e3d90fd5b8261067b91604096959394965180938192630a85bd0160e11b83523360048401528860248401528660448401526080606484015260848301906114d4565b038187875af1849181610718575b506106e05750503d156106d9573d6106a081611562565b906106ae604051928361152a565b81523d838583013e5b805193846106d357633250574960e11b84526004839052602484fd5b84925001fd5b60606106b7565b929390929091906001600160e01b03191663757a42ff60e11b016107065750388061050d565b633250574960e11b8452600452602483fd5b9091508581813d8311610755575b610730818361152a565b8101031261075157516001600160e01b031981168103610751579038610689565b8480fd5b503d610726565b6339e3563760e11b86526004869052602486fd5b600087815260046020526040902080546001600160a01b0319169055808852600386526040882080546000190190556104af565b633250574960e11b86526004869052602486fd5b015190503880610457565b8488528188209250601f198416885b81811061080e57509084600195949392106107f5575b505050811b01905561046c565b015160001960f88460031b161c191690553880806107e8565b929360206001819287860151815501950193016107d2565b90915083875260208720601f840160051c8101916020851061086c575b90601f859493920160051c01905b81811061085e5750610441565b888155849350600101610851565b9091508190610843565b634e487b7160e01b86526041600452602486fd5b634e487b7160e01b87526041600452602487fd5b634e487b7160e01b85526011600452602485fd5b635dc1236b60e11b8452600484fd5b634e75af3960e11b8352600483fd5b633ee5aeb560e01b8352600483fd5b635acf9df160e11b8352600483fd5b8280fd5b50346101c75760203660031901126101c7576004359067ffffffffffffffff82116101c757604061093d602061092b36600487016115b5565b818451938285809451938492016114b1565b8101600b815203019020600160ff825416910154825191151582526020820152f35b50346101c75760203660031901126101c757600435818172184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b811015610b89575b806d04ee2d6d415b85acef8100000000600a921015610b6e575b662386f26fc10000811015610b5a575b6305f5e100811015610b49575b612710811015610b3a575b6064811015610b2c575b1015610b22575b6001830191600a6021610a136109fd86611562565b95610a0b604051978861152a565b808752611562565b602086019690601f19013688378501015b60001901916f181899199a1a9b1b9c1cb0b131b232b360811b8282061a8353048015610a5357600a9091610a24565b50506040519181600d5490610a678261160d565b9160018116908115610afb5750600114610ab5575b6102838561026f6009828880610a968d8b519384916114b1565b01682f6d6574616461746160b81b81520360161981018452018261152a565b90919250600d8152600080516020611b138339815191525b828210610ae557505082016020019082610283610a7c565b6001816020925483858901015201910190610acd565b60ff1916602087810191909152831515909302860190920193508491506102839050610a7c565b91600101916109e8565b6064600291049401936109e1565b612710600491049401936109d7565b6305f5e100600891049401936109cc565b662386f26fc10000601091049401936109bf565b6d04ee2d6d415b85acef8100000000602091049401936109af565b506040925072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8204610995565b50346101c75760203660031901126101c75761026f6040610283926004358152600c60205220611647565b50346101c75760803660031901126101c757610bf16114f9565b610bf9611514565b906044356064359267ffffffffffffffff8411610751573660238501121561075157610c32610c4494369060248160040135910161157e565b92610c3e8383836116eb565b336119d5565b80f35b50346101c75760403660031901126101c757610c616114f9565b60243590811515908183036105f1576001600160a01b0316918215610cda57610cab90338552600560205260408520848652602052604085209060ff801983541691151516179055565b6040519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b630b61174360e31b84526004839052602484fd5b50346101c757806003193601126101c757604051908060015490610d118261160d565b80855291600181169081156102d25750600114610d38576102838461026f8186038261152a565b600181527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6939250905b808210610d7b5750909150810160200161026f8261025f565b919260018160209254838588010152019101909291610d62565b50346101c75760203660031901126101c757610daf6114f9565b610db76119ac565b6001600160a01b03168015610de1576bffffffffffffffffffffffff60a01b600954161760095580f35b60405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606490fd5b50346101c757806003193601126101c7576006546040516001600160a01b039091168152602090f35b50346101c757806003193601126101c7576008546040516001600160a01b039091168152602090f35b50346101c757806003193601126101c757610e836119ac565b600680546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b50346101c75760203660031901126101c7576001600160a01b03610ee96114f9565b168015610f06578160409160209352600383522054604051908152f35b6322718ad960e21b82526004829052602482fd5b50346101c75760203660031901126101c7576004359081151580610f8c575b15610f55576040816102839361026f9352600c60205220611647565b60405162461bcd60e51b815260206004820152600f60248201526e125b9d985b1a59081d1bdad95b9259608a1b6044820152606490fd5b50600a54821115610f39565b50346101c75760203660031901126101c7576020610fb7600435611897565b6040516001600160a01b039091168152f35b50346101c75760203660031901126101c75760043567ffffffffffffffff811161115157610ffb9036906004016115b5565b906110046119ac565b815167ffffffffffffffff811161113d57611020600d5461160d565b601f81116110d2575b50602092601f82116001146110665792829382939261105b575b50508160011b916000199060031b1c191617600d5580f35b015190503880611043565b600d8352601f19821693600080516020611b1383398151915291845b8681106110ba57508360019596106110a1575b505050811b01600d5580f35b015160001960f88460031b161c19169055388080611095565b91926020600181928685015181550194019201611082565b600d8352601f820160051c600080516020611b13833981519152019060208310611127575b601f0160051c600080516020611b1383398151915201905b81811061111c5750611029565b83815560010161110f565b600080516020611b1383398151915291506110f7565b634e487b7160e01b82526041600452602482fd5b5080fd5b50346101c757610c44611167366115d3565b906040519261117760208561152a565b858452610c3e8383836116eb565b50346101c757610c44611197366115d3565b916116eb565b50346101c75760203660031901126101c7576004359067ffffffffffffffff82116101c7576111d76111d236600485016115b5565b6118f5565b6040519060ff815192602081818501956111f28183896114b1565b8101600b8152030190205416156112325761121e602080936001936040519384928392519283916114b1565b8101600b8152030190200154604051908152f35b60405162461bcd60e51b81526020600482015260146024820152731059d95b9d08191bd95cc81b9bdd08195e1a5cdd60621b6044820152606490fd5b50346101c757806003193601126101c7576009546040516001600160a01b039091168152602090f35b50346101c75760403660031901126101c7576112b16114f9565b6024356112bd81611897565b3315158061136c575b80611341575b61132e5781906001600160a01b0384811691167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258680a4825260046020526040822080546001600160a01b0319166001600160a01b0390921691909117905580f35b63a9fbf51f60e01b845233600452602484fd5b506001600160a01b038116845260056020908152604080862033875290915284205460ff16156112cc565b506001600160a01b0381163314156112c6565b50346101c75760203660031901126101c7576020906004356113a081611897565b50815260048252604060018060a01b0391205416604051908152f35b50346101c757806003193601126101c75760405190808054906113de8261160d565b80855291600181169081156102d25750600114611405576102838461026f8186038261152a565b80805260208120939250905b80821061142a5750909150810160200161026f8261025f565b919260018160209254838588010152019101909291611411565b9050346111515760203660031901126111515760043563ffffffff60e01b81168091036108ee57602092506380ac58cd60e01b81149081156114a0575b811561148f575b5015158152f35b6301ffc9a760e01b14905038611488565b635b5e139f60e01b81149150611481565b60005b8381106114c45750506000910152565b81810151838201526020016114b4565b906020916114ed815180928185528580860191016114b1565b601f01601f1916010190565b600435906001600160a01b038216820361150f57565b600080fd5b602435906001600160a01b038216820361150f57565b90601f8019910116810190811067ffffffffffffffff82111761154c57604052565b634e487b7160e01b600052604160045260246000fd5b67ffffffffffffffff811161154c57601f01601f191660200190565b92919261158a82611562565b91611598604051938461152a565b82948184528183011161150f578281602093846000960137010152565b9080601f8301121561150f578160206115d09335910161157e565b90565b606090600319011261150f576004356001600160a01b038116810361150f57906024356001600160a01b038116810361150f579060443590565b90600182811c9216801561163d575b602083101461162757565b634e487b7160e01b600052602260045260246000fd5b91607f169161161c565b906040519182600082549261165b8461160d565b80845293600181169081156116c95750600114611682575b506116809250038361152a565b565b90506000929192526020600020906000915b8183106116ad5750509060206116809282010138611673565b6020919350806001915483858901015201910190918492611694565b90506020925061168094915060ff191682840152151560051b82010138611673565b6001600160a01b0390911691908215611881576000828152600260205260408120546001600160a01b03169383918590331515806117e9575b507fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90826117b4575b83815260036020526040812060018154019055848152600260205260408120846bffffffffffffffffffffffff60a01b82541617905580a46001600160a01b031680830361179a57505050565b6364283d7b60e01b60005260045260245260445260646000fd5b600085815260046020526040902080546001600160a01b0319169055828152600360205260408120805460001901905561174d565b915091925080611832575b15611803579084849238611724565b83908561181c57602491637e27328960e01b8252600452fd5b60449163177e802f60e01b825233600452602452fd5b503385148015611860575b806117f45750838152600460205260408120546001600160a01b031633146117f4565b5084815260056020908152604080832033845290915281205460ff1661183d565b633250574960e11b600052600060045260246000fd5b6000818152600260205260409020546001600160a01b03169081156118ba575090565b637e27328960e01b60005260045260246000fd5b9081518110156118df570160200190565b634e487b7160e01b600052603260045260246000fd5b9060005b82518110156119a957606160f81b6001600160f81b031961191a83866118ce565b5116101580611987575b611931575b6001016118f9565b601f1961193e82856118ce565b5160f81c019060ff82116119715760019160f81b6001600160f81b03191660001a61196982866118ce565b539050611929565b634e487b7160e01b600052601160045260246000fd5b50603d60f91b6001600160f81b03196119a083866118ce565b51161115611924565b50565b6006546001600160a01b031633036119c057565b63118cdaa760e01b6000523360045260246000fd5b823b6119e3575b5050505050565b604051630a85bd0160e11b81526001600160a01b039182166004820152918116602483015260448201939093526080606482015291169160209082908190611a2f9060848301906114d4565b03816000865af18091600091611acf575b5090611a9957503d15611a92573d611a5781611562565b90611a65604051928361152a565b81523d6000602083013e5b80519081611a8d5782633250574960e11b60005260045260246000fd5b602001fd5b6060611a70565b6001600160e01b03191663757a42ff60e11b01611abb575038808080806119dc565b633250574960e11b60005260045260246000fd5b6020813d602011611b0a575b81611ae86020938361152a565b810103126111515751906001600160e01b0319821682036101c7575038611a40565b3d9150611adb56fed7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb5a2646970667358221220dd2d7e95aa02825a1b63256d1d8da0b046d50a5e6d62720d261ffdaf6e3b56ff64736f6c634300081b00330000000000000000000000006a22946fb71c06295373254ebc76989ee07d4f71000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000d4167656e74636f696e2e66756e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094147454e54434f494e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001a68747470733a2f2f6167656e74636f696e2e66756e2f6e66742f000000000000