0 txs
0 calls
constructor
No constructor.
functions
checkPrice
viewfunction checkPrice(uint256 _amountIn, address _fromToken, address _toToken, uint256 _minOut, uint256 _slippageInBps) view returns (bool)
getExpectedOut
viewfunction getExpectedOut(uint256 _amountIn, address _fromToken, address _toToken) view returns (uint256)
isRewardToken
viewfunction isRewardToken(address token) view returns (bool)
maxTimePriceValid
viewfunction maxTimePriceValid(address token) view returns (uint256 maxTimePriceValid)
owner
viewfunction owner() view returns (address)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
tokenOracleData
viewfunction tokenOracleData(address token, uint256) view returns (address chainlinkFeed, bool reverse, uint256 heartbeat)
tokenOracleInformation
viewfunction tokenOracleInformation(address token) view returns (tuple[])
UPGRADE_INTERFACE_VERSION
viewfunction UPGRADE_INTERFACE_VERSION() view returns (string)
addTokenConfiguration
nonpayablefunction addTokenConfiguration(address token, tuple[] configurations, uint256 _maxTimePriceValid)
initialize
nonpayablefunction initialize(address _owner)
removeTokenConfiguration
nonpayablefunction removeTokenConfiguration(address token)
renounceOwnership
nonpayablefunction renounceOwnership()
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
events
Initialized
event Initialized(uint64 version)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
TokenConfigurationRemoved
event TokenConfigurationRemoved(address indexed token)
TokenConfigured
event TokenConfigured(address indexed token, address indexed chainlinkFeed, bool reverse, uint256 heartbeat, uint256 maxTimePriceValid)
Upgraded
event Upgraded(address indexed implementation)
errors
AddressEmptyCode
error AddressEmptyCode(address target)
ERC1967InvalidImplementation
error ERC1967InvalidImplementation(address implementation)
ERC1967NonPayable
error ERC1967NonPayable()
FailedCall
error FailedCall()
InvalidInitialization
error InvalidInitialization()
NotInitializing
error NotInitializing()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
UUPSUnauthorizedCallContext
error UUPSUnauthorizedCallContext()
UUPSUnsupportedProxiableUUID
error UUPSUnsupportedProxiableUUID(bytes32 slot)
creation bytecode
0x60a080604052346029573060805261166f908161002e823960805181818161065601526107260152f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c80633a78f84114610c27578063403685e214610bf057806347d72f1d146108db5780634f1ef286146106aa57806352d1902d14610644578063715018a6146105dd5780638da5cb5b146105a9578063a187781a1461053a578063aa8131191461045e578063ad3cb1cc14610400578063b5fd73f8146103a7578063c4d66de814610257578063d043c9e81461021f578063f10b183b146100ed5763f2fde38b146100be575f80fd5b346100e95760203660031901126100e9576100e76100da610cf5565b6100e26114df565b61146e565b005b5f80fd5b346100e95760203660031901126100e9576001600160a01b0361010e610cf5565b165f525f60205260405f2080549061012582610e3c565b916101336040519384610d37565b808352602083019081925f5260205f20915f905b8282106101b6578486604051918291602083019060208452518091526040830191905f5b818110610179575050500390f35b825180516001600160a01b03168552602081810151151581870152604091820151918601919091528695506060909401939092019160010161016b565b6040516060810181811067ffffffffffffffff82111761020b5760019260029260209260405260ff8854868060a01b038116835260a01c16151583820152848801546040820152815201940191019092610147565b634e487b7160e01b5f52604160045260245ffd5b346100e95760203660031901126100e9576001600160a01b03610240610cf5565b165f526001602052602060405f2054604051908152f35b346100e95760203660031901126100e957610270610cf5565b5f51602061161a5f395f51905f525460ff8160401c16159167ffffffffffffffff82168015908161039f575b6001149081610395575b15908161038c575b5061037d5767ffffffffffffffff1982166001175f51602061161a5f395f51905f52556102ec9183610351575b506102e4611550565b6100e2611550565b6102f4611550565b6102fa57005b68ff0000000000000000195f51602061161a5f395f51905f5254165f51602061161a5f395f51905f52557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b68ffffffffffffffffff191668010000000000000001175f51602061161a5f395f51905f5255836102db565b63f92ee8a960e01b5f5260045ffd5b905015846102ae565b303b1591506102a6565b84915061029c565b346100e95760203660031901126100e9576001600160a01b036103c8610cf5565b16805f525f60205260405f20541515806103ea575b6020906040519015158152f35b505f526001602052602060405f205415156103dd565b346100e9575f3660031901126100e957604080519061041f8183610d37565b600582526020820191640352e302e360dc1b83528151928391602083525180918160208501528484015e5f828201840152601f01601f19168101030190f35b346100e95760a03660031901126100e957610477610d0b565b61047f610d21565b906084359160018060a01b0382165f525f6020526104a260405f20541515610de6565b61271083116104f5576104b791600435610e68565b906127100361271081116104e1576104d461271091602093610e29565b0460643511604051908152f35b634e487b7160e01b5f52601160045260245ffd5b60405162461bcd60e51b815260206004820152601860248201527f536c6970706167652065786365656473206d6178696d756d00000000000000006044820152606490fd5b346100e95760403660031901126100e957610553610cf5565b6024359060018060a01b03165f525f60205260405f2080548210156100e95760609161057e91610d75565b506001815491015460ff6040519260018060a01b038116845260a01c16151560208301526040820152f35b346100e9575f3660031901126100e9575f5160206115da5f395f51905f52546040516001600160a01b039091168152602090f35b346100e9575f3660031901126100e9576105f56114df565b5f5160206115da5f395f51905f5280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346100e9575f3660031901126100e9577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316300361069b5760206040515f5160206115fa5f395f51905f528152f35b63703e46dd60e11b5f5260045ffd5b60403660031901126100e9576106be610cf5565b6024359067ffffffffffffffff82116100e957366023830112156100e9578160040135906106eb82610d59565b916106f96040519384610d37565b808352602083019336602483830101116100e957815f926024602093018737840101526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163081149081156108b9575b5061069b5761075e6114df565b6040516352d1902d60e01b81526001600160a01b0382169390602081600481885afa5f9181610885575b506107a05784634c9c8ce360e01b5f5260045260245ffd5b805f5160206115fa5f395f51905f528692036108735750823b15610861575f5160206115fa5f395f51905f5280546001600160a01b031916821790557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2825115610848575f80916100e7945190845af43d15610840573d9161082483610d59565b926108326040519485610d37565b83523d5f602085013e61157b565b60609161157b565b5050503461085257005b63b398979f60e01b5f5260045ffd5b634c9c8ce360e01b5f5260045260245ffd5b632a87526960e21b5f5260045260245ffd5b9091506020813d6020116108b1575b816108a160209383610d37565b810103126100e957519086610788565b3d9150610894565b5f5160206115fa5f395f51905f52546001600160a01b03161415905084610751565b346100e95760603660031901126100e9576108f4610cf5565b60243567ffffffffffffffff81116100e957366023820112156100e95780600401359067ffffffffffffffff82116100e957602481019060243691606085020101116100e957604435926109466114df565b6001600160a01b031661095a811515610da2565b8215610bab578315610b5b57805f5260016020528360405f20555f5b83811061097f57005b6001600160a01b0361099a610995838787611412565b611422565b1615610b165760406109ad828686611412565b013515610ad257815f525f60205260405f20906109cb818686611412565b9180546801000000000000000081101561020b576109ee91600182018155610d75565b610abf5760019283906040906001600160a01b03610a0b82611422565b85546001600160a01b0319169116178455610a2860208201611436565b845460ff60a01b191690151560a01b60ff60a01b161784550135910155610a53610995828787611412565b837f5bd69fb2f4fbc259a745fe3f80f479c2526b6ad14f39c041dd9da3e7329d39986060610a8d6020610a87878c8c611412565b01611436565b936040610a9b878c8c611412565b0135604051951515865260208601528a6040860152868060a01b031693a301610976565b634e487b7160e01b5f525f60045260245ffd5b606460405162461bcd60e51b815260206004820152602060248201527f486561727462656174206d7573742062652067726561746572207468616e20306044820152fd5b60405162461bcd60e51b815260206004820152601e60248201527f496e76616c696420636861696e6c696e6b2066656564206164647265737300006044820152606490fd5b60405162461bcd60e51b815260206004820152602260248201527f4d61782074696d652070726963652076616c69642063616e2774206265207a65604482015261726f60f01b6064820152608490fd5b60405162461bcd60e51b815260206004820152601a60248201527f456d70747920636f6e66696775726174696f6e732061727261790000000000006044820152606490fd5b346100e95760603660031901126100e9576020610c1f610c0e610d0b565b610c16610d21565b90600435610e68565b604051908152f35b346100e95760203660031901126100e957610c40610cf5565b610c486114df565b6001600160a01b0316610c5c811515610da2565b805f525f602052610c7260405f20541515610de6565b805f525f60205260405f208054905f815581610cbe575b82805f5260016020525f60408120557f85fa018ea5060cc06456b809a1b21ccf166eaa2c860f946dbc27e56d9ba42fd35f80a2005b6001600160ff1b03821682036104e1575f5260205f209060011b8101905b81811015610c89575f8082556001820155600201610cdc565b600435906001600160a01b03821682036100e957565b602435906001600160a01b03821682036100e957565b604435906001600160a01b03821682036100e957565b90601f8019910116810190811067ffffffffffffffff82111761020b57604052565b67ffffffffffffffff811161020b57601f01601f191660200190565b8054821015610d8e575f5260205f209060011b01905f90565b634e487b7160e01b5f52603260045260245ffd5b15610da957565b60405162461bcd60e51b8152602060048201526015602482015274496e76616c696420746f6b656e206164647265737360581b6044820152606490fd5b15610ded57565b60405162461bcd60e51b8152602060048201526014602482015273151bdad95b881b9bdd0818dbdb999a59dd5c995960621b6044820152606490fd5b818102929181159184041417156104e157565b67ffffffffffffffff811161020b5760051b60200190565b8051821015610d8e5760209160051b010190565b919060018060a01b0316805f525f602052610e8860405f20541515610de6565b805f525f60205260405f2092835493610ea085610e3c565b90610eae6040519283610d37565b858252601f19610ebd87610e3c565b01366020840137610ecd86610e3c565b95610edb6040519788610d37565b808752601f19610eea82610e3c565b01366020890137610efa81610e3c565b91610f086040519384610d37565b818352601f19610f1783610e3c565b013660208501375f5b8281106113b0575050505f95825192831561136b578151840361130f57825184036112b157939291905f945b83861061105d5750505050505060206004916040519283809263313ce56760e01b82525afa80156110355760ff6020916004935f91611040575b5060405163313ce56760e01b81529116939092839182906001600160a01b03165afa80156110355760ff915f91611006575b50169081811115610fe257610fd4610fdf9392610fd992611443565b611542565b90611450565b90565b90808210610fef57505090565b610fd4610fdf939261100092611443565b90610e29565b611028915060203d60201161102e575b6110208183610d37565b810190611529565b5f610fb8565b503d611016565b6040513d5f823e3d90fd5b6110579150833d851161102e576110208183610d37565b5f610f86565b90919293949760018060a01b036110748a84610e54565b51604051633fabe5a360e21b815291169160a082600481865afa8015611035575f925f9161125e575b505f8313156112035780156111be576110b68c88610e54565b5181018091116104e15742116111685760206004936040519485809263313ce56760e01b82525afa80156110355760ff6110fb916001955f9161114a575b5016611542565b908b6111455750875b61110e8c87610e54565b511561113357611127929161112291610e29565b611450565b98019493929190610f4c565b6111409261112291610e29565b611127565b611104565b611162915060203d811161102e576110208183610d37565b5f6110f4565b60405162461bcd60e51b815260206004820152602860248201527f50726963652066656564207570646174652074696d652065786365656473206860448201526719585c9d1899585d60c21b6064820152608490fd5b60405162461bcd60e51b815260206004820152601d60248201527f526f756e6420697320696e20696e636f6d706c657465642073746174650000006044820152606490fd5b60405162461bcd60e51b815260206004820152602d60248201527f436861696e6c696e6b2070726963652063616e6e6f74206265206c6f7765722060448201526c06f7220657175616c20746f203609c1b6064820152608490fd5b92505060a0823d82116112a9575b8161127960a09383610d37565b810103126100e95761128a82611512565b5060208201516112a1608060608501519401611512565b50915f61109d565b3d915061126c565b60405162461bcd60e51b815260206004820152603060248201527f507269636520666565647320616e642068656172746265617473206d7573742060448201526f0d0c2ecca40e6c2daca40d8cadccee8d60831b6064820152608490fd5b60405162461bcd60e51b815260206004820152602e60248201527f507269636520666565647320616e64207265766572736573206d75737420686160448201526d0ecca40e6c2daca40d8cadccee8d60931b6064820152608490fd5b60405162461bcd60e51b815260206004820152601c60248201527f4e656564206174206c65617374206f6e652070726963652066656564000000006044820152606490fd5b806113bd60019284610d75565b50828060a01b039054166113d18288610e54565b5260ff6113de8285610d75565b505460a01c166113ee828c610e54565b9015159052816113fe8285610d75565b50015461140b8287610e54565b5201610f20565b9190811015610d8e576060020190565b356001600160a01b03811681036100e95790565b3580151581036100e95790565b919082039182116104e157565b811561145a570490565b634e487b7160e01b5f52601260045260245ffd5b6001600160a01b031680156114cc575f5160206115da5f395f51905f5280546001600160a01b0319811683179091556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b631e4fbdf760e01b5f525f60045260245ffd5b5f5160206115da5f395f51905f52546001600160a01b031633036114ff57565b63118cdaa760e01b5f523360045260245ffd5b519069ffffffffffffffffffff821682036100e957565b908160209103126100e9575160ff811681036100e95790565b604d81116104e157600a0a90565b60ff5f51602061161a5f395f51905f525460401c161561156c57565b631afcd79f60e31b5f5260045ffd5b9061159f575080511561159057805190602001fd5b63d6bda27560e01b5f5260045ffd5b815115806115d0575b6115b0575090565b639996b31560e01b5f9081526001600160a01b0391909116600452602490fd5b50803b156115a856fe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbcf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220815e0017f8d24abae8577dfcd68844042cb2ce9574011dba755486659743bad364736f6c634300081c0033