92 txs
97 calls
constructor
constructor(address cryptoOcto, uint256 fee, address[] paymentTokens)
functions
FEE_MULTIPLIER
viewfunction FEE_MULTIPLIER() view returns (uint256)
getFee
viewfunction getFee() view returns (uint256)
getListing
viewfunction getListing(uint256 tokenId) view returns (tuple)
getOctoAddress
viewfunction getOctoAddress() view returns (address)
isPaymentToken
viewfunction isPaymentToken(address token) view returns (bool)
MAX_FEE
viewfunction MAX_FEE() view returns (uint256)
owner
viewfunction owner() view returns (address)
addPaymentToken
nonpayablefunction addPaymentToken(address token)
cancelListing
nonpayablefunction cancelListing(uint256 tokenId)
createListing
nonpayablefunction createListing(uint256 tokenId, uint256 price)
createListingWithToken
nonpayablefunction createListingWithToken(uint256 tokenId, uint256 price, address paymentToken)
purchaseListing
payablefunction purchaseListing(uint256 tokenId) payable
purchaseListingWithToken
nonpayablefunction purchaseListingWithToken(uint256 tokenId)
renounceOwnership
nonpayablefunction renounceOwnership()
setFee
nonpayablefunction setFee(uint256 newFee)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updateListing
nonpayablefunction updateListing(uint256 tokenId, uint256 newPrice)
withdraw
nonpayablefunction withdraw(address token)
events
FeeSet
event FeeSet(uint256 newFee)
ListingCancelled
event ListingCancelled(address indexed seller, uint256 indexed tokenId)
ListingCreated
event ListingCreated(address indexed seller, uint256 indexed tokenId, uint256 price, address paymentToken)
ListingPurchased
event ListingPurchased(address indexed buyer, address indexed seller, uint256 indexed tokenId, address paymentToken)
ListingUpdated
event ListingUpdated(address indexed seller, uint256 indexed tokenId, uint256 newPrice)
NewPaymentToken
event NewPaymentToken(address token)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Withdrawal
event Withdrawal(address to, uint256 amount)
errors
CryptoOctoMarketplace__FailedToSendCoins
error CryptoOctoMarketplace__FailedToSendCoins()
CryptoOctoMarketplace__FailedToSendTokens
error CryptoOctoMarketplace__FailedToSendTokens()
CryptoOctoMarketplace__ListingAlreadyExist
error CryptoOctoMarketplace__ListingAlreadyExist()
CryptoOctoMarketplace__ListingDoesNotExist
error CryptoOctoMarketplace__ListingDoesNotExist()
CryptoOctoMarketplace__NotEnoughFundsSupplied
error CryptoOctoMarketplace__NotEnoughFundsSupplied()
CryptoOctoMarketplace__NotTheOwner
error CryptoOctoMarketplace__NotTheOwner(uint256 tokenId, address _address)
CryptoOctoMarketplace__NoValidFee
error CryptoOctoMarketplace__NoValidFee()
CryptoOctoMarketplace__NoValidPaymentToken
error CryptoOctoMarketplace__NoValidPaymentToken()
CryptoOctoMarketplace__PaymentTokenAlreadyExist
error CryptoOctoMarketplace__PaymentTokenAlreadyExist()
CryptoOctoMarketplace__PaymentTokenTransferFailed
error CryptoOctoMarketplace__PaymentTokenTransferFailed()
CryptoOctoMarketplace__TokenNotApproved
error CryptoOctoMarketplace__TokenNotApproved(uint256 tokenId)
CryptoOctoMarketplace__ZeroPriceNotAllowed
error CryptoOctoMarketplace__ZeroPriceNotAllowed()
creation bytecode
0x60a06040523480156200001157600080fd5b5060405162001a2838038062001a288339810160408190526200003491620001b2565b6200003f3362000108565b6200004a8262000158565b6001600160a01b038316608052600182905560005b8151811015620000cb57600160026000848481518110620000845762000084620002a4565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580620000c281620002ba565b9150506200005f565b506040518281527f20461e09b8e557b77e107939f9ce6544698123aad0fc964ac5cc59b7df2e608f9060200160405180910390a1505050620002e2565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6101f48111156200017c57604051637a6a5e6f60e11b815260040160405180910390fd5b50565b80516001600160a01b03811681146200019757600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600080600060608486031215620001c857600080fd5b620001d3846200017f565b60208581015160408701519295509350906001600160401b0380821115620001fa57600080fd5b818701915087601f8301126200020f57600080fd5b8151818111156200022457620002246200019c565b8060051b604051601f19603f830116810181811085821117156200024c576200024c6200019c565b60405291825284820192508381018501918a8311156200026b57600080fd5b938501935b82851015620002945762000284856200017f565b8452938501939285019262000270565b8096505050505050509250925092565b634e487b7160e01b600052603260045260246000fd5b600060018201620002db57634e487b7160e01b600052601160045260246000fd5b5060010190565b6080516116eb6200033d600039600081816103a6015281816104210152818161071b01528181610824015281816108bf015281816109c901528181610ddc01528181610ee501528181610f80015261134901526116eb6000f3fe6080604052600436106101095760003560e01c80638da5cb5b11610095578063bc063e1a11610064578063bc063e1a14610361578063be50b07114610377578063ca1d341414610397578063ced72f87146103ca578063f2fde38b146103df57600080fd5b80638da5cb5b146102a2578063930eaddc146102d4578063a79123a91461031d578063b591b13c1461033d57600080fd5b8063305a67a8116100dc578063305a67a81461020d5780634a7dc8e01461022d57806351cff8d91461024d57806369fe0e2d1461026d578063715018a61461028d57600080fd5b80630179ea881461010e578063107a274a14610130578063169d5a7d146101da5780632b1b9727146101ed575b600080fd5b34801561011a57600080fd5b5061012e610129366004611548565b6103ff565b005b34801561013c57600080fd5b506101a261014b36600461156a565b6040805160608082018352600080835260208084018290529284018190529384526003825292829020825193840183528054845260018101546001600160a01b039081169285019290925260020154169082015290565b60408051825181526020808401516001600160a01b039081169183019190915292820151909216908201526060015b60405180910390f35b61012e6101e836600461156a565b610568565b3480156101f957600080fd5b5061012e610208366004611598565b6106f9565b34801561021957600080fd5b5061012e61022836600461156a565b6109a7565b34801561023957600080fd5b5061012e6102483660046115d1565b610af4565b34801561025957600080fd5b5061012e6102683660046115d1565b610b93565b34801561027957600080fd5b5061012e61028836600461156a565b610d5a565b34801561029957600080fd5b5061012e610da6565b3480156102ae57600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101d1565b3480156102e057600080fd5b5061030d6102ef3660046115d1565b6001600160a01b031660009081526002602052604090205460ff1690565b60405190151581526020016101d1565b34801561032957600080fd5b5061012e610338366004611548565b610dba565b34801561034957600080fd5b5061035361271081565b6040519081526020016101d1565b34801561036d57600080fd5b506103536101f481565b34801561038357600080fd5b5061012e61039236600461156a565b611024565b3480156103a357600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006102bc565b3480156103d657600080fd5b50600154610353565b3480156103eb57600080fd5b5061012e6103fa3660046115d1565b611273565b6040516331a9108f60e11b815260048101839052829033906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636352211e90602401602060405180830381865afa158015610468573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061048c91906115f5565b6001600160a01b0316146104c15760405163594bee3960e01b8152600481018290523360248201526044015b60405180910390fd5b6000838152600360205260408120548491036104f057604051633e6b452960e01b815260040160405180910390fd5b828060000361051257604051630b69b66d60e31b815260040160405180910390fd5b6000858152600360205260409081902085905551859033907f3e11d82182e9689c0f7ffc3ce2a4a057e1fc080032c0dcce9c269258c874a86c906105599088815260200190565b60405180910390a35050505050565b60008181526003602052604081205482910361059757604051633e6b452960e01b815260040160405180910390fd5b60008281526003602090815260409182902082516060810184528154815260018201546001600160a01b03908116938201939093526002909101549091169181018290523491156105fb57604051630451050160e51b815260040160405180910390fd5b805182101561061d57604051639807f07160e01b815260040160405180910390fd5b600061062e838684602001516112ec565b6020808401516040516000815292935087926001600160a01b039091169133917f40c0ccf81131fec5c64c24fb8f32342ead2ce0cd3c9e91ba954ca8546432fdbe910160405180910390a4600082602001516001600160a01b03168260405160006040518083038185875af1925050503d80600081146106ca576040519150601f19603f3d011682016040523d82523d6000602084013e6106cf565b606091505b50509050806106f157604051631c64b0e760e31b815260040160405180910390fd5b505050505050565b6040516331a9108f60e11b815260048101849052839033906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636352211e90602401602060405180830381865afa158015610762573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078691906115f5565b6001600160a01b0316146107b65760405163594bee3960e01b8152600481018290523360248201526044016104b8565b82806000036107d857604051630b69b66d60e31b815260040160405180910390fd5b600085815260036020526040902054859015610807576040516359c18d1160e11b815260040160405180910390fd5b60405163e985e9c560e01b815233600482015230602482015286907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e985e9c590604401602060405180830381865afa158015610873573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108979190611612565b158015610936575060405163020604bf60e21b81526004810182905230906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063081812fc90602401602060405180830381865afa158015610906573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092a91906115f5565b6001600160a01b031614155b156109575760405163ca1e554960e01b8152600481018290526024016104b8565b6001600160a01b038516600090815260026020526040902054859060ff1661099257604051630451050160e51b815260040160405180910390fd5b61099d8888886113d2565b5050505050505050565b6040516331a9108f60e11b815260048101829052819033906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636352211e90602401602060405180830381865afa158015610a10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3491906115f5565b6001600160a01b031614610a645760405163594bee3960e01b8152600481018290523360248201526044016104b8565b600082815260036020526040812054839103610a9357604051633e6b452960e01b815260040160405180910390fd5b6000838152600360205260408082208281556001810180546001600160a01b031990811690915560029091018054909116905551849133917f93ec4766fcd2d9dfdceab8f2e13ba0d9d826645cf03167fdb92b3b7359b5248c9190a3505050565b610afc61147b565b6001600160a01b038116600090815260026020526040902054819060ff1615610b385760405163633bf3d160e11b815260040160405180910390fd5b6001600160a01b038216600081815260026020908152604091829020805460ff1916600117905590519182527f8e7039b8b033352b9421db09ee909441172c2b03e63527a90b4592287a1371b4910160405180910390a15050565b610b9b61147b565b604080513381524760208201819052917f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65910160405180910390a16001600160a01b038216610c5257604051600090339083908381818185875af1925050503d8060008114610c26576040519150601f19603f3d011682016040523d82523d6000602084013e610c2b565b606091505b5050905080610c4d57604051631c64b0e760e31b815260040160405180910390fd5b505050565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa158015610c99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cbd9190611634565b60405163a9059cbb60e01b8152336004820152602481018290529091506000906001600160a01b0385169063a9059cbb906044016020604051808303816000875af1158015610d10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d349190611612565b905080610d5457604051638a29eb3b60e01b815260040160405180910390fd5b50505050565b610d6261147b565b610d6b816114d5565b60018190556040518181527f20461e09b8e557b77e107939f9ce6544698123aad0fc964ac5cc59b7df2e608f9060200160405180910390a150565b610dae61147b565b610db860006114f8565b565b6040516331a9108f60e11b815260048101839052829033906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636352211e90602401602060405180830381865afa158015610e23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e4791906115f5565b6001600160a01b031614610e775760405163594bee3960e01b8152600481018290523360248201526044016104b8565b8180600003610e9957604051630b69b66d60e31b815260040160405180910390fd5b600084815260036020526040902054849015610ec8576040516359c18d1160e11b815260040160405180910390fd5b60405163e985e9c560e01b815233600482015230602482015285907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e985e9c590604401602060405180830381865afa158015610f34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f589190611612565b158015610ff7575060405163020604bf60e21b81526004810182905230906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063081812fc90602401602060405180830381865afa158015610fc7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610feb91906115f5565b6001600160a01b031614155b156110185760405163ca1e554960e01b8152600481018290526024016104b8565b6106f1868660006113d2565b60008181526003602052604081205482910361105357604051633e6b452960e01b815260040160405180910390fd5b60008281526003602090815260409182902082516060810184528154815260018201546001600160a01b0390811693820193909352600290910154909116918101829052906110b557604051630451050160e51b815260040160405180910390fd5b604080820151825191516323b872dd60e01b815233600482015230602482015260448101929092526000916001600160a01b03909116906323b872dd906064016020604051808303816000875af1158015611114573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111389190611612565b9050806111585760405163244a1a7360e21b815260040160405180910390fd5b600061116d83600001518685602001516112ec565b90508483602001516001600160a01b0316336001600160a01b03167f40c0ccf81131fec5c64c24fb8f32342ead2ce0cd3c9e91ba954ca8546432fdbe86604001516040516111ca91906001600160a01b0391909116815260200190565b60405180910390a46040808401516020850151915163a9059cbb60e01b81526001600160a01b039283166004820152602481018490526000929091169063a9059cbb906044016020604051808303816000875af115801561122f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112539190611612565b9050806106f157604051638a29eb3b60e01b815260040160405180910390fd5b61127b61147b565b6001600160a01b0381166112e05760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104b8565b6112e9816114f8565b50565b6000828152600360205260408082208281556001810180546001600160a01b031990811690915560029091018054909116905551632142170760e11b81526001600160a01b038381166004830152336024830152604482018590527f000000000000000000000000000000000000000000000000000000000000000016906342842e0e90606401600060405180830381600087803b15801561138d57600080fd5b505af11580156113a1573d6000803e3d6000fd5b50505050612710600154856113b69190611663565b6113c09190611680565b6113ca90856116a2565b949350505050565b604080516060810182528381523360208083018281526001600160a01b0386811685870181815260008b8152600386528890209651875592516001870180549184166001600160a01b0319928316179055925160029096018054969092169590921694909417909355835186815290810192909252859290917fdc801191e0c92935648f61c8e3d0cd8eac1d060269ddb920487d02ab0be69e7d910160405180910390a3505050565b6000546001600160a01b03163314610db85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104b8565b6101f48111156112e957604051637a6a5e6f60e11b815260040160405180910390fd5b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000806040838503121561155b57600080fd5b50508035926020909101359150565b60006020828403121561157c57600080fd5b5035919050565b6001600160a01b03811681146112e957600080fd5b6000806000606084860312156115ad57600080fd5b833592506020840135915060408401356115c681611583565b809150509250925092565b6000602082840312156115e357600080fd5b81356115ee81611583565b9392505050565b60006020828403121561160757600080fd5b81516115ee81611583565b60006020828403121561162457600080fd5b815180151581146115ee57600080fd5b60006020828403121561164657600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761167a5761167a61164d565b92915050565b60008261169d57634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561167a5761167a61164d56fea2646970667358221220b6a5c11cdac5b91343da953b4880e8f2154dd5e004fb12deaec351375b0e86a364736f6c63430008130033000000000000000000000000413c2834f02003752d6cc0bcd1ce85af04d62fbe00000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000001000000000000000000000000af88d065e77c8cc2239327c5edb3a432268e5831