0 txs
5 calls
constructor
constructor((string description, address baseAssetAddress, uint8 baseAssetDecimals, address quoteAssetAddress, uint8 quoteAssetDecimals) baseParams, uint256 _fixedPrice, address _priceCheckOracle)
functions
assetScalingFactor
viewfunction assetScalingFactor() view returns (uint256)
baseAsset
viewfunction baseAsset() view returns (address)
convertAmount
viewfunction convertAmount(address fromAsset, uint256 fromAssetAmount, uint8 priceType, uint8 roundingMode) view returns (uint256 toAssetAmount)
decimals
viewfunction decimals() view returns (uint8)
description
viewfunction description() view returns (string)
latestPrice
viewfunction latestPrice(uint8 priceType, uint8 roundingMode) view returns (uint256 price)
latestPrices
viewfunction latestPrices(uint8 priceType1, uint8 roundingMode1, uint8 priceType2, uint8 roundingMode2) view returns (uint256, uint256, address, address)
matchAssets
viewfunction matchAssets(address asset1, address asset2) view returns (bool)
precision
viewfunction precision() view returns (uint256)
priceCheckOracle
viewfunction priceCheckOracle() view returns (address)
quoteAsset
viewfunction quoteAsset() view returns (address)
events
ValidPriceRangeSet
event ValidPriceRangeSet(uint128 validFloor, uint128 validCeiling)
errors
AboveMaxValidRange
error AboveMaxValidRange(address oracle, uint256 price, uint128 ceiling)
BelowMinValidRange
error BelowMinValidRange(address oracle, uint256 price, uint128 floor)
InvalidOracleData
error InvalidOracleData(address oracle)
InvalidParam
error InvalidParam()
InvalidPrice
error InvalidPrice(address oracle, int256 price)
InvalidToken
error InvalidToken(address token)
PRBMath_MulDiv_Overflow
error PRBMath_MulDiv_Overflow(uint256 x, uint256 y, uint256 denominator)
StalePrice
error StalePrice(address oracle, uint256 lastUpdatedAt, int256 price)
UnknownPriceType
error UnknownPriceType(uint8 priceType)
creation bytecode
0x61012060405234801562000011575f80fd5b506040516200126d3803806200126d83398101604081905262000034916200018d565b825183905f9062000046908262000359565b5060208101516001600160a01b0390811660805260608201511660a05260408101516200007590601262000439565b60ff16816080015160ff161115620000a057604051633494a40d60e21b815260040160405180910390fd5b60808101516040820151620000b790601262000439565b620000c391906200045b565b620000d090600a62000570565b60c0525060e0919091526001600160a01b0316610100525062000587565b634e487b7160e01b5f52604160045260245ffd5b60405160a081016001600160401b0381118282101715620001275762000127620000ee565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620001585762000158620000ee565b604052919050565b80516001600160a01b038116811462000177575f80fd5b919050565b805160ff8116811462000177575f80fd5b5f805f60608486031215620001a0575f80fd5b83516001600160401b0380821115620001b7575f80fd5b9085019060a08288031215620001cb575f80fd5b620001d562000102565b825182811115620001e4575f80fd5b8301601f81018913620001f5575f80fd5b8051838111156200020a576200020a620000ee565b6020935062000222601f8201601f191685016200012d565b8181528a8583850101111562000236575f80fd5b5f5b828110156200025557838101860151828201870152850162000238565b505f8583830101528084525050506200027082840162000160565b8282015262000282604084016200017c565b6040820152620002956060840162000160565b6060820152620002a8608084016200017c565b6080820152908601519094509250620002c690506040850162000160565b90509250925092565b600181811c90821680620002e457607f821691505b6020821081036200030357634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200035457805f5260205f20601f840160051c81016020851015620003305750805b601f840160051c820191505b8181101562000351575f81556001016200033c565b50505b505050565b81516001600160401b03811115620003755762000375620000ee565b6200038d81620003868454620002cf565b8462000309565b602080601f831160018114620003c3575f8415620003ab5750858301515b5f19600386901b1c1916600185901b1785556200041d565b5f85815260208120601f198616915b82811015620003f357888601518255948401946001909101908401620003d2565b50858210156200041157878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b634e487b7160e01b5f52601160045260245ffd5b60ff818116838216019081111562000455576200045562000425565b92915050565b60ff828116828216039081111562000455576200045562000425565b600181815b80851115620004b757815f19048211156200049b576200049b62000425565b80851615620004a957918102915b93841c93908002906200047c565b509250929050565b5f82620004cf5750600162000455565b81620004dd57505f62000455565b8160018114620004f65760028114620005015762000521565b600191505062000455565b60ff84111562000515576200051562000425565b50506001821b62000455565b5060208310610133831016604e8410600b841016171562000546575081810a62000455565b62000552838362000477565b805f190482111562000568576200056862000425565b029392505050565b5f6200058060ff841683620004bf565b9392505050565b60805160a05160c05160e05161010051610c54620006195f395f81816101710152818161069f015261071601525f61079101525f81816101bd015281816103d001526104ca01525f8181610250015281816102b4015281816103ff0152818161059b015261064701525f818161021a015281816102910152818161036b0152818161054501526105f10152610c545ff3fe608060405234801561000f575f80fd5b50600436106100c4575f3560e01c80638fc5e88d1161007d578063cdf456e111610058578063cdf456e114610215578063d3b5dc3b1461023c578063fdf262b71461024b575f80fd5b80638fc5e88d146101b857806395021280146101df578063c6845a0914610202575f80fd5b80637284e416116100ad5780637284e416146101365780637349615f1461014b578063766800341461016c575f80fd5b8063313ce567146100c857806369994511146100e7575b5f80fd5b6100d0601281565b60405160ff90911681526020015b60405180910390f35b6100fa6100f536600461097b565b610272565b60408051948552602085019390935273ffffffffffffffffffffffffffffffffffffffff918216928401929092521660608201526080016100de565b61013e6102dd565b6040516100de91906109d4565b61015e610159366004610a66565b610368565b6040519081526020016100de565b6101937f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100de565b61015e7f000000000000000000000000000000000000000000000000000000000000000081565b6101f26101ed366004610a99565b610542565b60405190151581526020016100de565b61015e610210366004610aca565b61069c565b6101937f000000000000000000000000000000000000000000000000000000000000000081565b61015e670de0b6b3a764000081565b6101937f000000000000000000000000000000000000000000000000000000000000000081565b5f805f80610280888861069c565b61028a878761069c565b90999098507f000000000000000000000000000000000000000000000000000000000000000097507f00000000000000000000000000000000000000000000000000000000000000009650945050505050565b5f80546102e990610b01565b80601f016020809104026020016040519081016040528092919081815260200182805461031590610b01565b80156103605780601f1061033757610100808354040283529160200191610360565b820191905f5260205f20905b81548152906001019060200180831161034357829003601f168201915b505050505081565b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036103fd575f6103c7848461069c565b90506103f585827f0000000000000000000000000000000000000000000000000000000000000000866107b6565b91505061053a565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036104f0575f61047b84600185600181111561046957610469610b52565b1461047557600161069c565b5f61069c565b9050805f036104c4576040517fdcd07d4f000000000000000000000000000000000000000000000000000000008152306004820152602481018290526044015b60405180910390fd5b6103f5857f000000000000000000000000000000000000000000000000000000000000000083866107b6565b6040517f961c9a4f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff861660048201526024016104bb565b949350505050565b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156105e957507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b8061069557507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614801561069557507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b9392505050565b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff161561078e576040517fc6845a0900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063c6845a099061074d9086908690600401610bb4565b602060405180830381865afa158015610768573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061078c9190610bda565b505b507f000000000000000000000000000000000000000000000000000000000000000092915050565b5f6107c2858585610866565b905060018260018111156107d8576107d8610b52565b0361053a5782806107eb576107eb610bf1565b8486091561053a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110156108235760010161053a565b6040517f63a057780000000000000000000000000000000000000000000000000000000081526004810186905260248101859052604481018490526064016104bb565b5f80807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff858709858702925082811083820303915050805f036108bc578382816108b2576108b2610bf1565b0492505050610695565b838110610906576040517f63a057780000000000000000000000000000000000000000000000000000000081526004810187905260248101869052604481018590526064016104bb565b5f84868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203025f889003889004909101858311909403939093029303949094049190911702949350505050565b60028110610978575f80fd5b50565b5f805f806080858703121561098e575f80fd5b84356109998161096c565b935060208501356109a98161096c565b925060408501356109b98161096c565b915060608501356109c98161096c565b939692955090935050565b5f602080835283518060208501525f5b81811015610a00578581018301518582016040015282016109e4565b505f6040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b803573ffffffffffffffffffffffffffffffffffffffff81168114610a61575f80fd5b919050565b5f805f8060808587031215610a79575f80fd5b610a8285610a3e565b93506020850135925060408501356109b98161096c565b5f8060408385031215610aaa575f80fd5b610ab383610a3e565b9150610ac160208401610a3e565b90509250929050565b5f8060408385031215610adb575f80fd5b8235610ae68161096c565b91506020830135610af68161096c565b809150509250929050565b600181811c90821680610b1557607f821691505b602082108103610b4c577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b60028110610978577f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b60408101610bc184610b7f565b838252610bcd83610b7f565b8260208301529392505050565b5f60208284031215610bea575f80fd5b5051919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffdfea2646970667358221220691df2b5045d5e63e22d9448dc2c136141bca6d15c29e204344fcc7592e16ebc64736f6c6343000816003300000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000035d8949372d46b7a3d5a56006ae77b215fc69bc00000000000000000000000000000000000000000000000000000000000000012000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000b555344302b2b2f55534443000000000000000000000000000000000000000000