0 txs
1.4k calls
constructor
constructor()
functions
currentPrice
viewfunction currentPrice() view returns (uint256 price)
duration
viewfunction duration() view returns (uint256 auctionDuration)
minStartPrice
viewfunction minStartPrice() view returns (uint256 price)
paymentRecipient
viewfunction paymentRecipient() view returns (address recipient)
paymentToken
viewfunction paymentToken() view returns (address token)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
startPrice
viewfunction startPrice() view returns (uint256 price)
startTimestamp
viewfunction startTimestamp() view returns (uint256 timestamp)
UPGRADE_INTERFACE_VERSION
viewfunction UPGRADE_INTERFACE_VERSION() view returns (string)
buy
nonpayablefunction buy(uint256 _maxPrice, address[] _assets, uint256[] _minAmounts, address _receiver, uint256 _deadline)
initialize
nonpayablefunction initialize(address _accessControl, address _paymentToken, address _paymentRecipient, uint256 _duration, uint256 _minStartPrice)
setDuration
nonpayablefunction setDuration(uint256 _duration)
setMinStartPrice
nonpayablefunction setMinStartPrice(uint256 _minStartPrice)
setPaymentToken
nonpayablefunction setPaymentToken(address _paymentToken)
setStartPrice
nonpayablefunction setStartPrice(uint256 _startPrice)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
events
Buy
event Buy(address buyer, uint256 price, address[] assets, uint256[] balances)
Initialized
event Initialized(uint64 version)
SetDuration
event SetDuration(uint256 duration)
SetMinStartPrice
event SetMinStartPrice(uint256 minStartPrice)
SetPaymentToken
event SetPaymentToken(address paymentToken)
SetStartPrice
event SetStartPrice(uint256 startPrice)
Upgraded
event Upgraded(address indexed implementation)
errors
AccessDenied
error AccessDenied()
AddressEmptyCode
error AddressEmptyCode(address target)
ERC1967InvalidImplementation
error ERC1967InvalidImplementation(address implementation)
ERC1967NonPayable
error ERC1967NonPayable()
FailedCall
error FailedCall()
InsufficientBalance
error InsufficientBalance(address asset, uint256 balance, uint256 minAmount)
InvalidAsset
error InvalidAsset()
InvalidAssets
error InvalidAssets()
InvalidDeadline
error InvalidDeadline()
InvalidInitialization
error InvalidInitialization()
InvalidPaymentToken
error InvalidPaymentToken()
InvalidPrice
error InvalidPrice()
InvalidReceiver
error InvalidReceiver()
InvalidStartPrice
error InvalidStartPrice()
NoDuration
error NoDuration()
NoMinStartPrice
error NoMinStartPrice()
NotInitializing
error NotInitializing()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
UUPSUnauthorizedCallContext
error UUPSUnauthorizedCallContext()
UUPSUnsupportedProxiableUUID
error UUPSUnsupportedProxiableUUID(bytes32 slot)
creation bytecode
0x60a060405230608052348015610013575f5ffd5b5061001c610021565b6100d3565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff16156100715760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100d05780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6080516116406100f95f395f8181610abc01528181610ae50152610c1c01526116405ff3fe6080604052600436106100ef575f3560e01c8063885f615111610087578063ad3cb1cc11610057578063ad3cb1cc146102a4578063e6fd48bc146102e1578063f1a9af8914610301578063f6be71d114610334575f5ffd5b8063885f61511461021f5780639d1b464a14610252578063a16faeaa14610266578063a6b63eb814610285575f5ffd5b80634f1ef286116100c25780634f1ef286146101ba57806352d1902d146101cd5780636a326ab1146101e157806375bb23e814610200575f5ffd5b80630fb5a6b4146100f357806317d86154146101355780632b1eaf29146101565780633013ce29146101a6575b5f5ffd5b3480156100fe575f5ffd5b507fbbabf7dab1936c7afe15748adafbe56186d0b57f14b5bc3e6f8d57aad0236104545b6040519081526020015b60405180910390f35b348015610140575f5ffd5b5061015461014f3660046111c8565b610353565b005b348015610161575f5ffd5b507fbbabf7dab1936c7afe15748adafbe56186d0b57f14b5bc3e6f8d57aad0236101546001600160a01b03165b6040516001600160a01b03909116815260200161012c565b3480156101b1575f5ffd5b5061018e6103f5565b6101546101c836600461120e565b610414565b3480156101d8575f5ffd5b50610122610433565b3480156101ec575f5ffd5b506101546101fb3660046112d2565b61044e565b34801561020b575f5ffd5b5061015461021a3660046111c8565b6104df565b34801561022a575f5ffd5b507fbbabf7dab1936c7afe15748adafbe56186d0b57f14b5bc3e6f8d57aad023610554610122565b34801561025d575f5ffd5b50610122610573565b348015610271575f5ffd5b50610154610280366004611333565b61061d565b348015610290575f5ffd5b5061015461029f3660046113c8565b61077e565b3480156102af575f5ffd5b506102d4604051806040016040528060058152602001640352e302e360dc1b81525081565b60405161012c9190611419565b3480156102ec575f5ffd5b505f5160206115eb5f395f51905f5254610122565b34801561030c575f5ffd5b507fbbabf7dab1936c7afe15748adafbe56186d0b57f14b5bc3e6f8d57aad023610254610122565b34801561033f575f5ffd5b5061015461034e3660046111c8565b61095d565b6305f6185560e21b610364816109f1565b7fbbabf7dab1936c7afe15748adafbe56186d0b57f14b5bc3e6f8d57aad0236105545f5160206115cb5f395f51905f52908310156103b557604051630fbc961960e31b815260040160405180910390fd5b600281018390556040518381527ff80c27d4671c8c90dce5976e1d545b7c1403c48379b10b7e8d8b451e86d79b36906020015b60405180910390a1505050565b5f5f5160206115cb5f395f51905f525b546001600160a01b0316919050565b61041c610ab1565b61042582610b41565b61042f8282610b4b565b5050565b5f61043c610c11565b505f5160206115ab5f395f51905f5290565b636a326ab160e01b61045f816109f1565b6001600160a01b038216610486576040516356e7ec5f60e01b815260040160405180910390fd5b5f5160206115cb5f395f51905f5280546001600160a01b0319166001600160a01b03841690811782556040519081527fecb37ef3fd021d3a367c7a8ed51847a48e84b23843b099127b839d141633e9c0906020016103e8565b630eb7647d60e31b6104f0816109f1565b815f036105105760405163559aacf360e11b815260040160405180910390fd5b7fbbabf7dab1936c7afe15748adafbe56186d0b57f14b5bc3e6f8d57aad02361058290556040518281525f5160206115cb5f395f51905f52907f54a271d79eeee80af3054e816c63b1e08e92cfe3606b2d537595032a14d6fc46906020016103e8565b5f5160206115eb5f395f51905f52545f905f5160206115cb5f395f51905f5290829061059f9042611462565b905081600401548111156105b4575060048101545b60048201546b033b2e3c9fd0803ce8000000906105dd836b02e87669c308736a04000000611475565b6105e7919061148c565b6105fd906b033b2e3c9fd0803ce8000000611462565b836002015461060c9190611475565b610616919061148c565b9250505090565b5f610626610573565b9050878111156106485760405162bfc92160e01b815260040160405180910390fd5b8515806106555750858414155b15610673576040516318374fd160e21b815260040160405180910390fd5b6001600160a01b03831661069a57604051631e4ec46b60e01b815260040160405180910390fd5b428210156106bb57604051631da7447960e21b815260040160405180910390fd5b425f5160206115eb5f395f51905f52555f5160206115cb5f395f51905f525f6106e5836002611475565b905081600501548110156106fa575060058101545b600282018190555f61070f8a8a8a8a8a610c5a565b60018401548454919250610732916001600160a01b039081169133911687610e23565b7fd20c929f417baf0af661fae6f1365f4afbfa370a8207c89bbdcb99506404c99a33858c8c856040516107699594939291906114ab565b60405180910390a15050505050505050505050565b5f610787610e90565b805490915060ff600160401b820416159067ffffffffffffffff165f811580156107ae5750825b90505f8267ffffffffffffffff1660011480156107ca5750303b155b9050811580156107d8575080155b156107f65760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561082057845460ff60401b1916600160401b1785555b6108298a610eba565b610831610ece565b5f5160206115cb5f395f51905f5280546001600160a01b038b81166001600160a01b03199283161783557fbbabf7dab1936c7afe15748adafbe56186d0b57f14b5bc3e6f8d57aad02361018054918c16919092161790557fbbabf7dab1936c7afe15748adafbe56186d0b57f14b5bc3e6f8d57aad0236102879055425f5160206115eb5f395f51905f52555f8890036108dd576040516363c6843b60e01b815260040160405180910390fd5b600481018890555f8790036109055760405163559aacf360e11b815260040160405180910390fd5b600501869055831561095157845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050505050565b63f6be71d160e01b61096e816109f1565b815f0361098e576040516363c6843b60e01b815260040160405180910390fd5b7fbbabf7dab1936c7afe15748adafbe56186d0b57f14b5bc3e6f8d57aad02361048290556040518281525f5160206115cb5f395f51905f52907f30e4fe018f9748721db1d6cfa76687e1ff0f75594888399281701125a49774ee906020016103e8565b5f7fb413d65cb88f23816c329284a0d3eb15a99df7963ab7402ade4c5da22bff6b0054604051633657648360e21b81526001600160e01b0319841660048201523060248201523360448201526001600160a01b039091169063d95d920c90606401602060405180830381865afa158015610a6d573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a91919061154a565b90508061042f57604051634ca8886760e01b815260040160405180910390fd5b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610b2157507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610b15610ed6565b6001600160a01b031614155b15610b3f5760405163703e46dd60e11b815260040160405180910390fd5b565b5f61042f816109f1565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610ba5575060408051601f3d908101601f19168201909252610ba291810190611569565b60015b610bd257604051634c9c8ce360e01b81526001600160a01b03831660048201526024015b60405180910390fd5b5f5160206115ab5f395f51905f528114610c0257604051632a87526960e21b815260048101829052602401610bc9565b610c0c8383610eea565b505050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610b3f5760405163703e46dd60e11b815260040160405180910390fd5b6060848067ffffffffffffffff811115610c7657610c766111fa565b604051908082528060200260200182016040528015610c9f578160200160208202803683370190505b5091505f5b81811015610e18575f888883818110610cbf57610cbf611580565b9050602002016020810190610cd491906112d2565b90506001600160a01b038116610cfd57604051636448d6e960e11b815260040160405180910390fd5b6040516370a0823160e01b81523060048201525f906001600160a01b038316906370a0823190602401602060405180830381865afa158015610d41573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d659190611569565b905080858481518110610d7a57610d7a611580565b602002602001018181525050878784818110610d9857610d98611580565b90506020020135811015610df4578181898986818110610dba57610dba611580565b60405163db42144d60e01b81526001600160a01b039095166004860152602485019390935250602090910201356044820152606401610bc9565b8015610e0e57610e0e6001600160a01b0383168783610f3f565b5050600101610ca4565b505095945050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052610e8a9186918216906323b872dd906084015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050610f70565b50505050565b5f807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005b92915050565b610ec2610fdc565b610ecb81611001565b50565b610b3f610fdc565b5f5f5160206115ab5f395f51905f52610405565b610ef38261104d565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a2805115610f3757610c0c8282611096565b61042f611108565b6040516001600160a01b03838116602483015260448201839052610c0c91859182169063a9059cbb90606401610e58565b5f5f60205f8451602086015f885af180610f8f576040513d5f823e3d81fd5b50505f513d91508115610fa6578060011415610fb3565b6001600160a01b0384163b155b15610e8a57604051635274afe760e01b81526001600160a01b0385166004820152602401610bc9565b610fe4611127565b610b3f57604051631afcd79f60e31b815260040160405180910390fd5b611009610fdc565b807fb413d65cb88f23816c329284a0d3eb15a99df7963ab7402ade4c5da22bff6b005b80546001600160a01b0319166001600160a01b039290921691909117905550565b806001600160a01b03163b5f0361108257604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610bc9565b805f5160206115ab5f395f51905f5261102c565b60605f5f846001600160a01b0316846040516110b29190611594565b5f60405180830381855af49150503d805f81146110ea576040519150601f19603f3d011682016040523d82523d5f602084013e6110ef565b606091505b50915091506110ff858383611140565b95945050505050565b3415610b3f5760405163b398979f60e01b815260040160405180910390fd5b5f611130610e90565b54600160401b900460ff16919050565b606082611155576111508261119f565b611198565b815115801561116c57506001600160a01b0384163b155b1561119557604051639996b31560e01b81526001600160a01b0385166004820152602401610bc9565b50805b9392505050565b8051156111af5780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b5f602082840312156111d8575f5ffd5b5035919050565b80356001600160a01b03811681146111f5575f5ffd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f5f6040838503121561121f575f5ffd5b611228836111df565b9150602083013567ffffffffffffffff811115611243575f5ffd5b8301601f81018513611253575f5ffd5b803567ffffffffffffffff81111561126d5761126d6111fa565b604051601f8201601f19908116603f0116810167ffffffffffffffff8111828210171561129c5761129c6111fa565b6040528181528282016020018710156112b3575f5ffd5b816020840160208301375f602083830101528093505050509250929050565b5f602082840312156112e2575f5ffd5b611198826111df565b5f5f83601f8401126112fb575f5ffd5b50813567ffffffffffffffff811115611312575f5ffd5b6020830191508360208260051b850101111561132c575f5ffd5b9250929050565b5f5f5f5f5f5f5f60a0888a031215611349575f5ffd5b87359650602088013567ffffffffffffffff811115611366575f5ffd5b6113728a828b016112eb565b909750955050604088013567ffffffffffffffff811115611391575f5ffd5b61139d8a828b016112eb565b90955093506113b09050606089016111df565b96999598509396929591949193505060809091013590565b5f5f5f5f5f60a086880312156113dc575f5ffd5b6113e5866111df565b94506113f3602087016111df565b9350611401604087016111df565b94979396509394606081013594506080013592915050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610eb457610eb461144e565b8082028115828204841417610eb457610eb461144e565b5f826114a657634e487b7160e01b5f52601260045260245ffd5b500490565b6001600160a01b03861681526020810185905260806040820181905281018390525f8460a08301825b86811015611502576001600160a01b036114ed846111df565b168252602092830192909101906001016114d4565b508381036060850152845180825260209182019250908501905f5b8181101561153b57825184526020938401939092019160010161151d565b50919998505050505050505050565b5f6020828403121561155a575f5ffd5b81518015158114611198575f5ffd5b5f60208284031215611579575f5ffd5b5051919050565b634e487b7160e01b5f52603260045260245ffd5b5f82518060208501845e5f92019182525091905056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbcbbabf7dab1936c7afe15748adafbe56186d0b57f14b5bc3e6f8d57aad0236100bbabf7dab1936c7afe15748adafbe56186d0b57f14b5bc3e6f8d57aad0236103a26469706673582212208e71329ff11de93a65ef6e3bb8c194f5e17da5f24f0b192b27f508bfa305e8eb64736f6c634300081c0033