5 txs
6 calls
constructor
No constructor.
functions
dateDiscountPriceEnd
viewfunction dateDiscountPriceEnd() view returns (uint256)
dateEnd
viewfunction dateEnd() view returns (uint256)
dateIni
viewfunction dateIni() view returns (uint256)
dateNFTDiscountEnd
viewfunction dateNFTDiscountEnd() view returns (uint256)
dateNFTDiscountIni
viewfunction dateNFTDiscountIni() view returns (uint256)
dateNFTDiscountRampEnd
viewfunction dateNFTDiscountRampEnd() view returns (uint256)
dateNFTDiscountRampIni
viewfunction dateNFTDiscountRampIni() view returns (uint256)
dateRampEnd
viewfunction dateRampEnd() view returns (uint256)
dateRampIni
viewfunction dateRampIni() view returns (uint256)
getPrice
viewfunction getPrice(address user) view returns (tuple price)
getUserDiscount
viewfunction getUserDiscount(address user) view returns (tuple userFinalDiscount)
isAuthorized
viewfunction isAuthorized(address _user) view returns (bool)
muchoNFTDiscount
viewfunction muchoNFTDiscount() view returns (address)
nftDiscountRampEnd
viewfunction nftDiscountRampEnd() view returns (uint256)
nftDiscountRampIni
viewfunction nftDiscountRampIni() view returns (uint256)
nftTokenIdDiscountUsed
viewfunction nftTokenIdDiscountUsed(uint256) view returns (bool)
owner
viewfunction owner() view returns (address)
priceRampEnd
viewfunction priceRampEnd() view returns (uint256)
priceRampIni
viewfunction priceRampIni() view returns (uint256)
token
viewfunction token() view returns (address)
userDiscount
viewfunction userDiscount(uint256, address) view returns (uint8 discountType, uint256 discountAmount)
userDiscountPointer
viewfunction userDiscountPointer() view returns (uint256)
addAuthorized
nonpayablefunction addAuthorized(address _authorized)
increaseUserDiscountPointer
nonpayablefunction increaseUserDiscountPointer()
removeAuthorized
nonpayablefunction removeAuthorized(address _authorized)
renounceOwnership
nonpayablefunction renounceOwnership()
setDateDiscountPriceEnd
nonpayablefunction setDateDiscountPriceEnd(uint256 date)
setDateEnd
nonpayablefunction setDateEnd(uint256 date)
setDateIni
nonpayablefunction setDateIni(uint256 date)
setDateNFTDiscountEnd
nonpayablefunction setDateNFTDiscountEnd(uint256 newDate)
setDateNFTDiscountIni
nonpayablefunction setDateNFTDiscountIni(uint256 newDate)
setDateNFTDiscountRampEnd
nonpayablefunction setDateNFTDiscountRampEnd(uint256 newDate)
setDateNFTDiscountRampIni
nonpayablefunction setDateNFTDiscountRampIni(uint256 newDate)
setDateRampEnd
nonpayablefunction setDateRampEnd(uint256 date)
setDateRampIni
nonpayablefunction setDateRampIni(uint256 date)
setMuchoNFTDiscount
nonpayablefunction setMuchoNFTDiscount(address newNFT)
setNftDiscountRampEnd
nonpayablefunction setNftDiscountRampEnd(uint256 newDiscount)
setNftDiscountRampIni
nonpayablefunction setNftDiscountRampIni(uint256 newDiscount)
setNftTokenIdDiscountUsed
nonpayablefunction setNftTokenIdDiscountUsed(uint256 tokenId, bool isUsed)
setPriceRampEnd
nonpayablefunction setPriceRampEnd(uint256 price)
setPriceRampIni
nonpayablefunction setPriceRampIni(uint256 price)
setToken
nonpayablefunction setToken(address newToken)
setUserDiscount
nonpayablefunction setUserDiscount(address user, tuple discount)
setUserDiscountPointer
nonpayablefunction setUserDiscountPointer(uint256 newPointer)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
Authorized
event Authorized(address _authorized)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
UnAuthorized
event UnAuthorized(address _authorized)
errors
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
creation bytecode
0x60806040525f600b819055600c80546001600160a01b0319167304cc55ee08f749bebc68e8fccab0f697e36d559b1790556366e3649d600d556366edf05f600e8190556366e7753c600f55601055631dcd6500601155601255348015610063575f80fd5b50338061008957604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b61009281610098565b506100e7565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b61128e806100f45f395ff3fe608060405234801561000f575f80fd5b5060043610610276575f3560e01c80637c9b648a11610156578063ba401c6d116100ca578063e909b32311610084578063e909b3231461054b578063f2fde38b14610590578063f8b3df19146105a3578063fc0c546a146105ac578063fe9fbb80146105bf578063ffd4a16b146105ea575f80fd5b8063ba401c6d146104e3578063bcc276b0146104f6578063c0d97b61146104ff578063cf1c316a14610512578063d05996d614610525578063e647eacf14610538575f80fd5b8063a34370d21161011b578063a34370d214610470578063a8ae404e14610479578063af1992421461048c578063b0139b3114610495578063b76a3fbd146104a8578063b9e99c8f146104b1575f80fd5b80637c9b648a1461042557806384fb3a9a1461042e57806386b4fd971461044e57806389244e2a146104575780638da5cb5b14610460575f80fd5b80632de29b08116101ed578063485d7d94116101b2578063485d7d94146103c857806348b24829146103db5780634986236b146103e45780636af899fc146103f7578063715018a61461040a578063798699a114610412575f80fd5b80632de29b0814610364578063344208841461037757806339767e6e146103805780633a9bce031461038957806341976e0914610391575f80fd5b80631d9fa5151161023e5780631d9fa515146102e45780631dce7adc146102f757806323fccc191461030a5780632522d1291461033557806329405f6a1461034857806329a20af51461035b575f80fd5b8063073710971461027a5780630b6b8fa21461028f5780630d0e86e3146102a25780630eeb3060146102b5578063144fa6d7146102d1575b5f80fd5b61028d610288366004610ff8565b6105f3565b005b61028d61029d36600461100f565b610600565b61028d6102b0366004610ff8565b610627565b6102be60105481565b6040519081526020015b60405180910390f35b61028d6102df366004611055565b610634565b61028d6102f2366004611077565b6106b9565b61028d610305366004610ff8565b61076e565b600c5461031d906001600160a01b031681565b6040516001600160a01b0390911681526020016102c8565b61028d610343366004610ff8565b61077b565b61028d610356366004610ff8565b610788565b6102be60115481565b61028d610372366004610ff8565b610795565b6102be60075481565b6102be600f5481565b61028d6107a2565b6103a461039f366004611055565b6107c0565b6040805182516001600160a01b0316815260209283015192810192909252016102c8565b61028d6103d6366004611055565b610884565b6102be600d5481565b61028d6103f2366004610ff8565b6108e3565b61028d610405366004610ff8565b6108f0565b61028d6108fd565b61028d610420366004610ff8565b610910565b6102be600b5481565b61044161043c366004611055565b61091d565b6040516102c891906110e9565b6102be60055481565b6102be60035481565b5f546001600160a01b031661031d565b6102be60065481565b61028d610487366004610ff8565b610998565b6102be60045481565b61028d6104a3366004610ff8565b6109a5565b6102be600e5481565b6104d36104bf366004610ff8565b60136020525f908152604090205460ff1681565b60405190151581526020016102c8565b61028d6104f1366004610ff8565b6109b2565b6102be60095481565b61028d61050d366004611055565b6109bf565b61028d610520366004611055565b6109e9565b61028d610533366004610ff8565b610a45565b61028d610546366004610ff8565b610a52565b610582610559366004611109565b600a60209081525f92835260408084209091529082529020805460019091015460ff9091169082565b6040516102c892919061112c565b61028d61059e366004611055565b610a5f565b6102be60025481565b60085461031d906001600160a01b031681565b6104d36105cd366004611055565b6001600160a01b03165f9081526001602052604090205460ff1690565b6102be60125481565b6105fb610a9c565b600d55565b610608610a9c565b5f91825260136020526040909120805460ff1916911515919091179055565b61062f610a9c565b600f55565b61063c610a9c565b6001600160a01b0381166106975760405162461bcd60e51b815260206004820152601a60248201527f4d7563686f50726963696e6720696e76616c696420746f6b656e00000000000060448201526064015b60405180910390fd5b600880546001600160a01b0319166001600160a01b0392909216919091179055565b6106c1610a9c565b60016106d06020830183611153565b60018111156106e1576106e16110b5565b1415806106f45750612710816020013511155b6107385760405162461bcd60e51b8152602060048201526015602482015274446973636f756e74206f7574206f662072616e676560581b604482015260640161068e565b600b545f908152600a602090815260408083206001600160a01b038616845290915290208190610768828261116e565b50505050565b610776610a9c565b600555565b610783610a9c565b600655565b610790610a9c565b601155565b61079d610a9c565b600355565b6107aa610a9c565b600b8054905f6107b9836111c7565b9190505550565b604080518082019091525f808252602082015260025442101561081e5760405162461bcd60e51b8152602060048201526016602482015275135d58da1bd41c9a58d9481b9bdd081cdd185c9d195960521b604482015260640161068e565b6003544211156108635760405162461bcd60e51b815260206004820152601060248201526f135d58da1bd41c9a58d948195b99195960821b604482015260640161068e565b61086c82610b32565b60208201526008546001600160a01b03168152919050565b61088c610c9b565b6001600160a01b0381165f81815260016020908152604091829020805460ff1916905590519182527fb392249530409099dedf8a34dfe3498cfc2f81a2f80804432221e95cda37175491015b60405180910390a150565b6108eb610a9c565b600755565b6108f8610a9c565b601255565b610905610c9b565b61090e5f610cc7565b565b610918610a9c565b600455565b6040805180820182525f8082526020808301829052600b548252600a81528382206001600160a01b0386168352905282902082518084019093528054919291829060ff166001811115610972576109726110b5565b6001811115610983576109836110b5565b81526020016001820154815250509050919050565b6109a0610a9c565b600e55565b6109ad610a9c565b600955565b6109ba610a9c565b601055565b6109c7610a9c565b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b6109f1610c9b565b6001600160a01b0381165f81815260016020818152604092839020805460ff191690921790915590519182527fdc84e3a4c83602050e3865df792a4e6800211a79ac60db94e703a820ce89292491016108d8565b610a4d610a9c565b600b55565b610a5a610a9c565b600255565b610a67610c9b565b6001600160a01b038116610a9057604051631e4fbdf760e01b81525f600482015260240161068e565b610a9981610cc7565b50565b5f546001600160a01b0316331480610ac85750335f9081526001602081905260409091205460ff161515145b61090e5760405162461bcd60e51b815260206004820152603560248201527f41636365737320436f6e74726f6c3a2063616c6c6572206973206e6f7420746860448201527419481bdddb995c881bdc88185d5d1a1bdc9a5e9959605a1b606482015260840161068e565b5f610b3b610d16565b90505f610b4783610de6565b9050818110610ba25760405162461bcd60e51b815260206004820152602160248201527f4e465420646973636f756e7420697320686967686572207468616e20707269636044820152606560f81b606482015260840161068e565b610bac81836111df565b91505f610bb88461091d565b9050600181516001811115610bcf57610bcf6110b5565b03610c04576127108160200151612710610be991906111df565b610bf390856111f8565b610bfd919061120f565b9250610c94565b5f81516001811115610c1857610c186110b5565b03610c40578281602001511015610c38576020810151610bfd90846111df565b5f9250610c94565b60405162461bcd60e51b815260206004820152602360248201527f4d7563686f50726963696e673a20556e6b6e6f776e20646973636f756e74207460448201526279706560e81b606482015260840161068e565b5050919050565b5f546001600160a01b0316331461090e5760405163118cdaa760e01b815233600482015260240161068e565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600654600554421115610d2a575060075490565b60045442118015610d3d57506005544211155b15610de3575f60045442610d5191906111df565b90505f600454600554610d6491906111df565b9050826007541115610da557808284600754610d8091906111df565b610d8a91906111f8565b610d94919061120f565b610d9e908461122e565b9250610de0565b826007541015610de057808260075485610dbf91906111df565b610dc991906111f8565b610dd3919061120f565b610ddd90846111df565b92505b50505b90565b5f6001600160a01b03821615801590610e095750600c546001600160a01b031615155b8015610e165750600d5442115b8015610e245750600e544211155b15610ff357600c546040516359f769a960e01b81526001600160a01b0384811660048301525f9216906359f769a990602401602060405180830381865afa158015610e71573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e959190611241565b1115610ff357600c54604051632f745c5960e01b81526001600160a01b0384811660048301525f60248301819052921690632f745c5990604401602060405180830381865afa158015610eea573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f0e9190611241565b5f8181526013602052604090205490915060ff16610ff157600f54421015610f3a576011549150610ff1565b601054421115610f4e576012549150610ff1565b5f600f5442610f5d91906111df565b90505f600f54601054610f7091906111df565b90506011546012541015610fb8578082601254601154610f9091906111df565b610f9a91906111f8565b610fa4919061120f565b601154610fb191906111df565b9350610fee565b8082601154601254610fca91906111df565b610fd491906111f8565b610fde919061120f565b601154610feb919061122e565b93505b50505b505b919050565b5f60208284031215611008575f80fd5b5035919050565b5f8060408385031215611020575f80fd5b8235915060208301358015158114611036575f80fd5b809150509250929050565b6001600160a01b0381168114610a99575f80fd5b5f60208284031215611065575f80fd5b813561107081611041565b9392505050565b5f808284036060811215611089575f80fd5b833561109481611041565b92506040601f19820112156110a7575f80fd5b506020830190509250929050565b634e487b7160e01b5f52602160045260245ffd5b600281106110e557634e487b7160e01b5f52602160045260245ffd5b9052565b5f6040820190506110fb8284516110c9565b602092830151919092015290565b5f806040838503121561111a575f80fd5b82359150602083013561103681611041565b6040810161113a82856110c9565b8260208301529392505050565b60028110610a99575f80fd5b5f60208284031215611163575f80fd5b813561107081611147565b813561117981611147565b6002811061119557634e487b7160e01b5f52602160045260245ffd5b60ff1982541660ff8216811783555050602082013560018201555050565b634e487b7160e01b5f52601160045260245ffd5b5f600182016111d8576111d86111b3565b5060010190565b818103818111156111f2576111f26111b3565b92915050565b80820281158282048414176111f2576111f26111b3565b5f8261122957634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156111f2576111f26111b3565b5f60208284031215611251575f80fd5b505191905056fea2646970667358221220446c31cb845437ab2dda893a5509b6c8cdc8bbbce73b6df51aa9d067a5ac72e964736f6c63430008180033