0 txs
0 calls
constructor
constructor(address _userSellToken, address _userBuyToken, address _fundsOwner, uint256 _offerPrice, uint8 _offerPricingToken, uint128 _minValidOfferPrice, uint128 _maxValidOfferPrice)
functions
fundsOwner
viewfunction fundsOwner() view returns (address)
maxValidOfferPrice
viewfunction maxValidOfferPrice() view returns (uint128)
minValidOfferPrice
viewfunction minValidOfferPrice() view returns (uint128)
OFFER_PRICE_DECIMALS
viewfunction OFFER_PRICE_DECIMALS() view returns (uint8)
offerPrice
viewfunction offerPrice() view returns (uint256)
offerPricingToken
viewfunction offerPricingToken() view returns (uint8)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
quote
viewfunction quote(uint256 sellTokenAmount) view returns (uint256 buyTokenAmount)
scalar
viewfunction scalar() view returns (uint256)
userBuyToken
viewfunction userBuyToken() view returns (address)
userBuyTokenAvailable
viewfunction userBuyTokenAvailable() view returns (uint256)
userSellToken
viewfunction userSellToken() view returns (address)
pause
nonpayablefunction pause()
renounceOwnership
nonpayablefunction renounceOwnership()
setFundsOwner
nonpayablefunction setFundsOwner(address _fundsOwner)
setOfferPrice
nonpayablefunction setOfferPrice(uint256 _offerPrice)
setOfferPriceRange
nonpayablefunction setOfferPriceRange(uint128 _minValidOfferPrice, uint128 _maxValidOfferPrice)
swap
nonpayablefunction swap(uint256 sellTokenAmount) returns (uint256 buyTokenAmount)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
unpause
nonpayablefunction unpause()
events
FundsOwnerSet
event FundsOwnerSet(address indexed fundsOwner)
OfferPriceRangeSet
event OfferPriceRangeSet(uint128 minValidOfferPrice, uint128 maxValidOfferPrice)
OfferPriceSet
event OfferPriceSet(uint256 _offerPrice)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Paused
event Paused(address account)
Swap
event Swap(address indexed account, address indexed fundsOwner, uint256 userSellTokenAmount, uint256 userBuyTokenAmount)
Unpaused
event Unpaused(address account)
errors
ExpectedNonZero
error ExpectedNonZero()
InvalidAddress
error InvalidAddress()
InvalidParam
error InvalidParam()
OfferPriceNotValid
error OfferPriceNotValid()
creation bytecode
0x6101006040523480156200001257600080fd5b50604051620019ae380380620019ae833981016040819052620000359162000366565b6000805460ff191690556200004a33620002d8565b6001600160a01b0387811660805286811660a052600180546001600160a01b031916918716919091178155600285905583908111156200008e576200008e620003f7565b60c0816001811115620000a557620000a5620003f7565b9052506001600160801b03818116600160801b029083161760035560008060c0516001811115620000da57620000da620003f7565b14620001cd576080516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000121573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014791906200040d565b60a0516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000188573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001ae91906200040d565b620001bb9060126200044f565b620001c7919062000471565b620002b4565b60a0516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200020e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200023491906200040d565b6080516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000275573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200029b91906200040d565b620002a89060126200044f565b620002b4919062000471565b60ff169050620002c681600a6200058a565b60e05250620005989650505050505050565b600080546001600160a01b03838116610100818102610100600160a81b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b80516001600160a01b03811681146200034957600080fd5b919050565b80516001600160801b03811681146200034957600080fd5b600080600080600080600060e0888a0312156200038257600080fd5b6200038d8862000331565b96506200039d6020890162000331565b9550620003ad6040890162000331565b945060608801519350608088015160028110620003c957600080fd5b9250620003d960a089016200034e565b9150620003e960c089016200034e565b905092959891949750929550565b634e487b7160e01b600052602160045260246000fd5b6000602082840312156200042057600080fd5b815160ff811681146200043257600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b60ff81811683821601908111156200046b576200046b62000439565b92915050565b60ff82811682821603908111156200046b576200046b62000439565b600181815b80851115620004ce578160001904821115620004b257620004b262000439565b80851615620004c057918102915b93841c939080029062000492565b509250929050565b600082620004e7575060016200046b565b81620004f6575060006200046b565b81600181146200050f57600281146200051a576200053a565b60019150506200046b565b60ff8411156200052e576200052e62000439565b50506001821b6200046b565b5060208310610133831016604e8410600b84101617156200055f575081810a6200046b565b6200056b83836200048d565b806000190482111562000582576200058262000439565b029392505050565b6000620004328383620004d6565b60805160a05160c05160e0516113ab62000603600039600081816103b80152818161097001526109a601526000818161035e0152610933015260008181610282015281816105e8015281816107ee01526108aa01526000818161018101526105a601526113ab6000f3fe608060405234801561001057600080fd5b50600436106101775760003560e01c8063963d3715116100d8578063b873d8061161008c578063ed1bd76c11610066578063ed1bd76c1461038d578063f2fde38b146103a0578063f45e65d8146103b357600080fd5b8063b873d80614610337578063db590eac14610351578063eb99da4a1461035957600080fd5b8063aa13372e116100bd578063aa13372e146102b7578063ac12ea8e14610308578063aec1c3271461032457600080fd5b8063963d37151461027d578063972973e7146102a457600080fd5b80635c975abb1161012f5780638456cb59116101145780638456cb591461023f5780638da5cb5b1461024757806394b918de1461026a57600080fd5b80635c975abb14610221578063715018a61461023757600080fd5b80633f4ba83a116101605780633f4ba83a146101e45780633f7af9ea146101ee57806346ee3c591461020157600080fd5b80631980872e1461017c5780633bf19e29146101cd575b600080fd5b6101a37f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6101d660025481565b6040519081526020016101c4565b6101ec6103da565b005b6101ec6101fc366004611137565b6103ec565b6001546101a39073ffffffffffffffffffffffffffffffffffffffff1681565b60005460ff1660405190151581526020016101c4565b6101ec6104c1565b6101ec6104d3565b600054610100900473ffffffffffffffffffffffffffffffffffffffff166101a3565b6101d661027836600461116a565b6104e3565b6101a37f000000000000000000000000000000000000000000000000000000000000000081565b6101ec6102b236600461116a565b610616565b6003546102e79070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff1681565b6040516fffffffffffffffffffffffffffffffff90911681526020016101c4565b6003546102e7906fffffffffffffffffffffffffffffffff1681565b6101ec610332366004611183565b6106d9565b61033f601281565b60405160ff90911681526020016101c4565b6101d661079d565b6103807f000000000000000000000000000000000000000000000000000000000000000081565b6040516101c491906111ef565b6101d661039b36600461116a565b61092e565b6101ec6103ae366004611183565b6109e3565b6101d67f000000000000000000000000000000000000000000000000000000000000000081565b6103e2610a9f565b6103ea610b26565b565b6103f4610a9f565b806fffffffffffffffffffffffffffffffff16826fffffffffffffffffffffffffffffffff161115610452576040517fd252903400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6fffffffffffffffffffffffffffffffff82811670010000000000000000000000000000000091831691820281176003556040805191825260208201929092527f3cb7aa6ad329dbbae3ba64a123b11b3d714240d6b16f448bb41e815b7618b9ef910160405180910390a15050565b6104c9610a9f565b6103ea6000610ba3565b6104db610a9f565b6103ea610c20565b60006104ed610c7b565b81600003610527576040517f54db0c8c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6105308261092e565b600154604080518581526020810184905292935073ffffffffffffffffffffffffffffffffffffffff90911691829133917ffa2dda1cc1b86e41239702756b13effbc1a092b5c57e3ad320fbe4f3b13fe235910160405180910390a36105ce73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016338386610ce8565b61061073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016823385610ce8565b50919050565b61061e610a9f565b6003546fffffffffffffffffffffffffffffffff16811080610667575060035470010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff1681115b1561069e576040517f9aa5f25100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028190556040518181527f58af8a859607b837cd10bfb8098d6da3c00d714fd6a1a9b7c764533d1fcb17df9060200160405180910390a150565b6106e1610a9f565b73ffffffffffffffffffffffffffffffffffffffff811661072e576040517fe6c4247b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517ffc96af5cc8fe5d8e2880342c1ad3fbe1731bccf067275cd1fced2f4f8f13512d90600090a250565b6001546040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201819052600092909183917f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015610835573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108599190611230565b6040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84811660048301523060248301529192506000917f0000000000000000000000000000000000000000000000000000000000000000169063dd62ed3e90604401602060405180830381865afa1580156108f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109159190611230565b90508082106109245780610926565b815b935050505090565b6000807f00000000000000000000000000000000000000000000000000000000000000006001811115610963576109636111c0565b146109a4576002546109957f000000000000000000000000000000000000000000000000000000000000000084611249565b61099f9190611287565b6109dd565b7f0000000000000000000000000000000000000000000000000000000000000000600254836109d39190611249565b6109dd9190611287565b92915050565b6109eb610a9f565b73ffffffffffffffffffffffffffffffffffffffff8116610a93576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610a9c81610ba3565b50565b60005473ffffffffffffffffffffffffffffffffffffffff6101009091041633146103ea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a8a565b610b2e610d83565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b6000805473ffffffffffffffffffffffffffffffffffffffff8381166101008181027fffffffffffffffffffffff0000000000000000000000000000000000000000ff851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b610c28610c7b565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258610b793390565b60005460ff16156103ea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610a8a565b6040805173ffffffffffffffffffffffffffffffffffffffff85811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000179052610d7d908590610def565b50505050565b60005460ff166103ea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152606401610a8a565b6000610e51826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16610f039092919063ffffffff16565b9050805160001480610e72575080806020019051810190610e7291906112c2565b610efe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610a8a565b505050565b6060610f128484600085610f1a565b949350505050565b606082471015610fac576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610a8a565b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051610fd59190611308565b60006040518083038185875af1925050503d8060008114611012576040519150601f19603f3d011682016040523d82523d6000602084013e611017565b606091505b509150915061102887838387611033565b979650505050505050565b606083156110c95782516000036110c25773ffffffffffffffffffffffffffffffffffffffff85163b6110c2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610a8a565b5081610f12565b610f1283838151156110de5781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8a9190611324565b80356fffffffffffffffffffffffffffffffff8116811461113257600080fd5b919050565b6000806040838503121561114a57600080fd5b61115383611112565b915061116160208401611112565b90509250929050565b60006020828403121561117c57600080fd5b5035919050565b60006020828403121561119557600080fd5b813573ffffffffffffffffffffffffffffffffffffffff811681146111b957600080fd5b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b602081016002831061122a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b60006020828403121561124257600080fd5b5051919050565b80820281158282048414176109dd577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000826112bd577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b6000602082840312156112d457600080fd5b815180151581146111b957600080fd5b60005b838110156112ff5781810151838201526020016112e7565b50506000910152565b6000825161131a8184602087016112e4565b9190910192915050565b60208152600082518060208401526113438160408501602087016112e4565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fea264697066735822122082a3f6e1aa357972326934f293756dabd61fb0b11f345290f3604ea492ba99f764736f6c634300081300330000000000000000000000006b175474e89094c44da98b954eedeac495271d0f00000000000000000000000064aa3364f17a4d01c6f1751fd97c2bd3d7e7f1d5000000000000000000000000a0ec2af0ae7fe5f3ae572a2c8349f7e26be2e5fd000000000000000000000000000000000000000000000000c0e6b85ac9ee00000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000bed1d0263d9f000000000000000000000000000000000000000000000000000107ad8f556c6c0000