167 txs
282 calls
constructor
constructor(address _currency, address _owner, address _authority, address _beneficiary, uint256 _fee)
functions
allowedTokens
viewfunction allowedTokens(address) view returns (uint8)
authority
viewfunction authority() view returns (address)
beneficiary
viewfunction beneficiary() view returns (address)
currency
viewfunction currency() view returns (address)
FEE_PRECISION
viewfunction FEE_PRECISION() view returns (uint32)
fee
viewfunction fee() view returns (uint256)
listings
viewfunction listings(uint256) view returns (address owner, address token, uint256 id, uint256 amount, uint256 price)
MAX_FEE
viewfunction MAX_FEE() view returns (uint32)
owner
viewfunction owner() view returns (address)
allowToken
nonpayablefunction allowToken(address token, uint8 nftType)
buyERC1155
nonpayablefunction buyERC1155(uint256 id)
buyERC20
nonpayablefunction buyERC20(uint256 id)
buyERC721
nonpayablefunction buyERC721(uint256 id)
cancelERC1155
nonpayablefunction cancelERC1155(uint256 id)
cancelERC20
nonpayablefunction cancelERC20(uint256 id)
cancelERC721
nonpayablefunction cancelERC721(uint256 id)
createListing
nonpayablefunction createListing(address token, uint256 id, uint256 amount, uint256 price)
listERC1155
nonpayablefunction listERC1155(address token, uint256 id, uint256 amount, uint256 price)
listERC20
nonpayablefunction listERC20(address token, uint256 amount, uint256 price)
listERC721
nonpayablefunction listERC721(address token, uint256 id, uint256 price)
onERC1155BatchReceived
nonpayablefunction onERC1155BatchReceived(address, address, uint256[], uint256[], bytes) returns (bytes4)
onERC1155Received
nonpayablefunction onERC1155Received(address, address, uint256, uint256, bytes) returns (bytes4)
onERC721Received
nonpayablefunction onERC721Received(address, address, uint256, bytes) returns (bytes4)
setAuthority
nonpayablefunction setAuthority(address newAuthority)
setCurrency
nonpayablefunction setCurrency(address _currency)
setFee
nonpayablefunction setFee(uint256 _fee)
setOwner
nonpayablefunction setOwner(address newOwner)
events
AllowToken
event AllowToken(address indexed token, uint8 nftType)
AuthorityUpdated
event AuthorityUpdated(address indexed user, address indexed newAuthority)
ItemBought
event ItemBought(uint256 indexed id)
ItemCancelled
event ItemCancelled(uint256 indexed id)
ItemListed
event ItemListed(address indexed token, uint256 indexed id, uint256 indexed listingId, address owner, uint256 amount, uint256 price)
OwnerUpdated
event OwnerUpdated(address indexed user, address indexed newOwner)
SetCurrency
event SetCurrency(address currency)
SetFee
event SetFee(uint256 fee)
errors
No errors.
creation bytecode
0x608060405260006005553480156200001657600080fd5b50604051620024033803806200240383398101604081905262000039916200015f565b600080546001600160a01b03199081166001600160a01b0387811691821784556001805490931690871617909155604051869286929133917f8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d7691a36040516001600160a01b0382169033907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b7638998019890600090a35050600280546001600160a01b038088166001600160a01b031992831617909255600780549285169290911691909117905560068190556040517e172ddfc5ae88d08b3de01a5a187667c37a5a53989e8c175055cb6c993792a790620001339083815260200190565b60405180910390a15050505050620001d3565b6001600160a01b03811681146200015c57600080fd5b50565b600080600080600060a086880312156200017857600080fd5b8551620001858162000146565b6020870151909550620001988162000146565b6040870151909450620001ab8162000146565b6060870151909350620001be8162000146565b80925050608086015190509295509295909350565b61222080620001e36000396000f3fe608060405234801561001057600080fd5b50600436106101b95760003560e01c8063944cce5b116100f9578063e5a6b10f11610097578063e8d9b52f11610071578063e8d9b52f146104f7578063f1962bcf1461050a578063f23a6e611461051d578063ff94e88b1461055657600080fd5b8063e5a6b10f1461049e578063e63a391f146104be578063e744092e146104c757600080fd5b8063bc197c81116100d3578063bc197c8114610395578063bf7e214f146103d0578063ddca3f43146103f0578063de74e57b1461040757600080fd5b8063944cce5b14610351578063bb39131114610364578063bc063e1a1461037757600080fd5b8063549ef0d11161016657806370cdec3d1161014057806370cdec3d146102f85780637a9e5e4b1461030b578063878741971461031e5780638da5cb5b1461033157600080fd5b8063549ef0d1146102bf57806369fe0e2d146102d25780636a2b4523146102e557600080fd5b80632f84c391116101975780632f84c3911461025457806338af3eed146102675780635280af1d146102ac57600080fd5b80630dcdf848146101be57806313af4035146101d3578063150b7a02146101e6575b600080fd5b6101d16101cc366004611d71565b610569565b005b6101d16101e1366004611dac565b6106e8565b61021e6101f4366004611e19565b7f150b7a020000000000000000000000000000000000000000000000000000000095945050505050565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020015b60405180910390f35b6101d1610262366004611dac565b6107ec565b6007546102879073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161024b565b6101d16102ba366004611e8c565b6108fa565b6101d16102cd366004611ec1565b610a3d565b6101d16102e0366004611d71565b610b8d565b6101d16102f3366004611d71565b610cc1565b6101d1610306366004611efe565b610f2a565b6101d1610319366004611dac565b61103b565b6101d161032c366004611e8c565b611198565b6000546102879073ffffffffffffffffffffffffffffffffffffffff1681565b6101d161035f366004611d71565b611256565b6101d1610372366004611d71565b61143f565b6103806103e881565b60405163ffffffff909116815260200161024b565b61021e6103a3366004611f7e565b7fbc197c810000000000000000000000000000000000000000000000000000000098975050505050505050565b6001546102879073ffffffffffffffffffffffffffffffffffffffff1681565b6103f960065481565b60405190815260200161024b565b61045e610415366004611d71565b60046020819052600091825260409091208054600182015460028301546003840154939094015473ffffffffffffffffffffffffffffffffffffffff9283169492909116929085565b6040805173ffffffffffffffffffffffffffffffffffffffff9687168152959094166020860152928401919091526060830152608082015260a00161024b565b6002546102879073ffffffffffffffffffffffffffffffffffffffff1681565b61038061271081565b6104ea6104d5366004611dac565b60036020526000908152604090205460ff1681565b60405161024b919061206c565b6101d1610505366004611efe565b6115e1565b6101d1610518366004611d71565b611737565b61021e61052b3660046120ad565b7ff23a6e61000000000000000000000000000000000000000000000000000000009695505050505050565b6101d1610564366004611d71565b61191b565b600081815260046020526040902060018082015473ffffffffffffffffffffffffffffffffffffffff1660009081526003602081905260409091205460ff16908111156105b8576105b861203d565b14610624576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f57524f4e475f544f4b454e00000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6106318160040154611a65565b61063a81611ab0565b600181015460038201546106669173ffffffffffffffffffffffffffffffffffffffff16903390611ae1565b600082815260046020819052604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000009081168255600182018054909116905560028101849055600381018490559091018290555183917f7f7e375fbeaef0d6ebfc53af15b7aeed1d704e3424f34ef67e914b1f68f8c8ef91a25050565b610716336000357fffffffff0000000000000000000000000000000000000000000000000000000016611b9a565b61077c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a45440000000000000000000000000000000000000000604482015260640161061b565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081178255604051909133917f8292fce18fa69edf4db7b94ea2e58241df0ae57f97e0a6c9b29067028bf92d769190a350565b61081a336000357fffffffff0000000000000000000000000000000000000000000000000000000016611b9a565b610880576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a45440000000000000000000000000000000000000000604482015260640161061b565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527fabafa9c1e6fed9b333f964bb84ed729c36b3152a843ae96a671ebc95742de6e6906020015b60405180910390a150565b600273ffffffffffffffffffffffffffffffffffffffff841660009081526003602081905260409091205460ff16908111156109385761093861203d565b1461099f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f554e535550504f525445445f544f4b454e000000000000000000000000000000604482015260640161061b565b6040517f42842e0e0000000000000000000000000000000000000000000000000000000081523360048201523060248201526044810183905273ffffffffffffffffffffffffffffffffffffffff8416906342842e0e90606401600060405180830381600087803b158015610a1357600080fd5b505af1158015610a27573d6000803e3d6000fd5b50505050610a388383600184610f2a565b505050565b610a6b336000357fffffffff0000000000000000000000000000000000000000000000000000000016611b9a565b610ad1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a45440000000000000000000000000000000000000000604482015260640161061b565b73ffffffffffffffffffffffffffffffffffffffff82166000908152600360208190526040909120805483927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00909116906001908490811115610b3657610b3661203d565b02179055508173ffffffffffffffffffffffffffffffffffffffff167fee9b5a9c16d7671f394b706956c15e612db354be926e7fc97b05e34fcf0fdd6e82604051610b81919061206c565b60405180910390a25050565b610bbb336000357fffffffff0000000000000000000000000000000000000000000000000000000016611b9a565b610c21576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a45440000000000000000000000000000000000000000604482015260640161061b565b6103e8811115610c8d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f4645455f544f4f5f484947480000000000000000000000000000000000000000604482015260640161061b565b60068190556040518181527e172ddfc5ae88d08b3de01a5a187667c37a5a53989e8c175055cb6c993792a7906020016108ef565b6000818152600460205260409020805473ffffffffffffffffffffffffffffffffffffffff163314610d4f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a45440000000000000000000000000000000000000000604482015260640161061b565b600181015473ffffffffffffffffffffffffffffffffffffffff1660009081526003602081905260409091205460ff1681811115610d8f57610d8f61203d565b14610df6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f57524f4e475f544f4b454e000000000000000000000000000000000000000000604482015260640161061b565b6001810154600282015460038301546040517ff242432a0000000000000000000000000000000000000000000000000000000081523060048201523360248201526044810192909252606482015260a06084820152600060a482015273ffffffffffffffffffffffffffffffffffffffff9091169063f242432a9060c4015b600060405180830381600087803b158015610e8f57600080fd5b505af1158015610ea3573d6000803e3d6000fd5b505050600083815260046020819052604080832080547fffffffffffffffffffffffff0000000000000000000000000000000000000000908116825560018201805490911690556002810184905560038101849055909101829055518492507f6875ab0cd79fc59886259e999e56eb8da549fa524709389bc624972a589699589190a25050565b6005546040805133815260208101859052908101839052849073ffffffffffffffffffffffffffffffffffffffff8716907f6f74e6139c449d076f1ca3c4ba1fd11954767dd447cc9f3b5c325b1009e2f2159060600160405180910390a46040805160a08101825233815273ffffffffffffffffffffffffffffffffffffffff9586166020808301918252828401968752606083019586526080830194855260058054600090815260049283905294909420925183549089167fffffffffffffffffffffffff000000000000000000000000000000000000000091821617845591516001808501805492909a1691909316179097559451600282015592516003840155905191909301558154019055565b60005473ffffffffffffffffffffffffffffffffffffffff1633148061111e57506001546040517fb70096130000000000000000000000000000000000000000000000000000000081523360048201523060248201526000357fffffffff0000000000000000000000000000000000000000000000000000000016604482015273ffffffffffffffffffffffffffffffffffffffff9091169063b700961390606401602060405180830381865afa1580156110fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061111e9190612129565b61112757600080fd5b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831690811790915560405133907fa3396fd7f6e0a21b50e5089d2da70d5ac0a3bbbd1f617a93f134b7638998019890600090a350565b600173ffffffffffffffffffffffffffffffffffffffff841660009081526003602081905260409091205460ff16908111156111d6576111d661203d565b1461123d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f554e535550504f525445445f544f4b454e000000000000000000000000000000604482015260640161061b565b61124983333085611cab565b610a388360008484610f2a565b60008181526004602052604090206002600182015473ffffffffffffffffffffffffffffffffffffffff1660009081526003602081905260409091205460ff16908111156112a6576112a661203d565b1461130d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f57524f4e475f544f4b454e000000000000000000000000000000000000000000604482015260640161061b565b61131a8160040154611a65565b61132381611ab0565b600181015460028201546040517f42842e0e000000000000000000000000000000000000000000000000000000008152306004820152336024820152604481019190915273ffffffffffffffffffffffffffffffffffffffff909116906342842e0e906064015b600060405180830381600087803b1580156113a457600080fd5b505af11580156113b8573d6000803e3d6000fd5b505050600083815260046020819052604080832080547fffffffffffffffffffffffff0000000000000000000000000000000000000000908116825560018201805490911690556002810184905560038101849055909101829055518492507f7f7e375fbeaef0d6ebfc53af15b7aeed1d704e3424f34ef67e914b1f68f8c8ef9190a25050565b6000818152600460205260409020805473ffffffffffffffffffffffffffffffffffffffff1633146114cd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a45440000000000000000000000000000000000000000604482015260640161061b565b6002600182015473ffffffffffffffffffffffffffffffffffffffff1660009081526003602081905260409091205460ff169081111561150f5761150f61203d565b14611576576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f57524f4e475f544f4b454e000000000000000000000000000000000000000000604482015260640161061b565b600181015460028201546040517f42842e0e000000000000000000000000000000000000000000000000000000008152306004820152336024820152604481019190915273ffffffffffffffffffffffffffffffffffffffff909116906342842e0e90606401610e75565b73ffffffffffffffffffffffffffffffffffffffff841660009081526003602081905260409091205460ff168181111561161d5761161d61203d565b14611684576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f554e535550504f525445445f544f4b454e000000000000000000000000000000604482015260640161061b565b6040517ff242432a000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018490526064810183905260a06084820152600060a482015273ffffffffffffffffffffffffffffffffffffffff85169063f242432a9060c401600060405180830381600087803b15801561170d57600080fd5b505af1158015611721573d6000803e3d6000fd5b5050505061173184848484610f2a565b50505050565b6000818152600460205260409020805473ffffffffffffffffffffffffffffffffffffffff1633146117c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f554e415554484f52495a45440000000000000000000000000000000000000000604482015260640161061b565b60018082015473ffffffffffffffffffffffffffffffffffffffff1660009081526003602081905260409091205460ff16908111156118065761180661203d565b1461186d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f57524f4e475f544f4b454e000000000000000000000000000000000000000000604482015260640161061b565b600181015460038201546118999173ffffffffffffffffffffffffffffffffffffffff16903390611ae1565b600082815260046020819052604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000009081168255600182018054909116905560028101849055600381018490559091018290555183917f6875ab0cd79fc59886259e999e56eb8da549fa524709389bc624972a5896995891a25050565b6000818152600460209081526040808320600181015473ffffffffffffffffffffffffffffffffffffffff16845260039283905292205460ff16818111156119655761196561203d565b146119cc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f57524f4e475f544f4b454e000000000000000000000000000000000000000000604482015260640161061b565b6119d98160040154611a65565b6119e281611ab0565b6001810154600282015460038301546040517ff242432a0000000000000000000000000000000000000000000000000000000081523060048201523360248201526044810192909252606482015260a06084820152600060a482015273ffffffffffffffffffffffffffffffffffffffff9091169063f242432a9060c40161138a565b600254600754600654611aad9273ffffffffffffffffffffffffffffffffffffffff90811692339291169061271090611a9e908761214b565b611aa891906121af565b611cab565b50565b60025481546004830154611aad9273ffffffffffffffffffffffffffffffffffffffff908116923392911690611cab565b60006040517fa9059cbb000000000000000000000000000000000000000000000000000000008152836004820152826024820152602060006044836000895af13d15601f3d1160016000511416171691505080611731576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f5452414e534645525f4641494c45440000000000000000000000000000000000604482015260640161061b565b60015460009073ffffffffffffffffffffffffffffffffffffffff168015801590611c7e57506040517fb700961300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301523060248301527fffffffff000000000000000000000000000000000000000000000000000000008516604483015282169063b700961390606401602060405180830381865afa158015611c5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c7e9190612129565b80611ca3575060005473ffffffffffffffffffffffffffffffffffffffff8581169116145b949350505050565b60006040517f23b872dd0000000000000000000000000000000000000000000000000000000081528460048201528360248201528260448201526020600060648360008a5af13d15601f3d1160016000511416171691505080611d6a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5452414e534645525f46524f4d5f4641494c4544000000000000000000000000604482015260640161061b565b5050505050565b600060208284031215611d8357600080fd5b5035919050565b73ffffffffffffffffffffffffffffffffffffffff81168114611aad57600080fd5b600060208284031215611dbe57600080fd5b8135611dc981611d8a565b9392505050565b60008083601f840112611de257600080fd5b50813567ffffffffffffffff811115611dfa57600080fd5b602083019150836020828501011115611e1257600080fd5b9250929050565b600080600080600060808688031215611e3157600080fd5b8535611e3c81611d8a565b94506020860135611e4c81611d8a565b935060408601359250606086013567ffffffffffffffff811115611e6f57600080fd5b611e7b88828901611dd0565b969995985093965092949392505050565b600080600060608486031215611ea157600080fd5b8335611eac81611d8a565b95602085013595506040909401359392505050565b60008060408385031215611ed457600080fd5b8235611edf81611d8a565b9150602083013560048110611ef357600080fd5b809150509250929050565b60008060008060808587031215611f1457600080fd5b8435611f1f81611d8a565b966020860135965060408601359560600135945092505050565b60008083601f840112611f4b57600080fd5b50813567ffffffffffffffff811115611f6357600080fd5b6020830191508360208260051b8501011115611e1257600080fd5b60008060008060008060008060a0898b031215611f9a57600080fd5b8835611fa581611d8a565b97506020890135611fb581611d8a565b9650604089013567ffffffffffffffff80821115611fd257600080fd5b611fde8c838d01611f39565b909850965060608b0135915080821115611ff757600080fd5b6120038c838d01611f39565b909650945060808b013591508082111561201c57600080fd5b506120298b828c01611dd0565b999c989b5096995094979396929594505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60208101600483106120a7577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b60008060008060008060a087890312156120c657600080fd5b86356120d181611d8a565b955060208701356120e181611d8a565b94506040870135935060608701359250608087013567ffffffffffffffff81111561210b57600080fd5b61211789828a01611dd0565b979a9699509497509295939492505050565b60006020828403121561213b57600080fd5b81518015158114611dc957600080fd5b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156121aa577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b500290565b6000826121e5577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b50049056fea2646970667358221220229d3bdb24c9a10e676e9e2b33a4b8c36d05d5010b67772d1c6084ea16a69bf664736f6c634300080f0033000000000000000000000000e9e7cea3dedca5984780bafc599bd69add087d560000000000000000000000007b84fe5da997d673a349ac59e971eaf4676d1d3c0000000000000000000000007b1fd50a4a046858575a0794a5d05ae4170469a900000000000000000000000011632134f596c26ee0775df3c807c1cc33e22ef000000000000000000000000000000000000000000000000000000000000001f4