PriceConsumer
The PriceConsumer contract is used by the router in order to determine the current value of a token in EXC.
Address: 0xF5580BE00EEfA89125308293B3BeBBbd1975A717
Github: https://github.com/ExcaliburExchange/contracts/blob/main/periphery/PriceConsumerV3.sol
EXC price reliability
A non-decreasing mechanism to handle the EXC price has been implemented, so that even if an exploiter were to manipulate the price of the EXC pair price to be lower, it wouldn't affect the price estimation from the contract.
Pairs whitelisting
The owner of the PriceConsumer contract can whitelist pairs, hence allowing the ExcaliburRouter to obtain their EXC value. It can only be done on ChainLink listed output tokens. Contrary to the EXC price estimation, a pessimistic approach is taken here, the contract using the lowest value between the ChainLink and Excalibur on-chain quotes.
ChainLink oracle
Every time it's called by the ExcaliburRouter contract (basically on every swap), it tries to use the ChainLink token feeder in order to get the swapped tokens values.
Daily mint limits
Finally, because of the sensitivity of such a feature, after some discussions with our auditor Paladin, a daily mint limit has been implemented to ensure that the project would not be severely impacted in the event that an exploiter would manage to bypass all our previously mentioned safety mechanisms.
Last updated