0 txs
1 call
constructor
constructor(address nativePriceAggregator, address wnative)
functions
_nativePriceAggregator
viewfunction _nativePriceAggregator() view returns (address)
_wnative
viewfunction _wnative() view returns (address)
DECIMALS
viewfunction DECIMALS() view returns (uint256)
getNativePrice
viewfunction getNativePrice(address token) view returns (uint256 nativePrice)
getUsd
viewfunction getUsd(address token) view returns (uint256 price)
owner
viewfunction owner() view returns (address)
sources
viewfunction sources(address) view returns (uint8 sourceType, address sourceAddress, address baseAddress)
setNativePriceAggregator
nonpayablefunction setNativePriceAggregator(address nativePriceAggregator)
setSource
nonpayablefunction setSource(address token, uint8 sourceType, address sourceAddress, address baseAddress)
setSourceList
nonpayablefunction setSourceList(tuple[] sourceList)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
OwnershipTransferred
event OwnershipTransferred(address indexed user, address indexed newOwner)
UpdateSource
event UpdateSource(address indexed token, uint8 indexed sourceType, address sourceAddress, address indexed baseAddress)
errors
IncorrectBaseAddress
error IncorrectBaseAddress()
IncorrectChainlinkPrice
error IncorrectChainlinkPrice()
IncorrectSourceAddress
error IncorrectSourceAddress()
UnknowPrice
error UnknowPrice()
creation bytecode
0x60a06040523480156200001157600080fd5b506040516200243e3803806200243e8339810160408190526200003491620002a2565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506001600160a01b0381166080526200008d8262000095565b5050620004f5565b6000546001600160a01b03163314620000e35760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b604482015260640160405180910390fd5b620000ee8162000111565b50600280546001600160a01b0319166001600160a01b0392909216919091179055565b6000808290506000816001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa15801562000158573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200017e9190620002f2565b50505091505060008113620001a65760405163252a0a3960e11b815260040160405180910390fd5b8092506000826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000210919062000347565b60ff16905060068110156200024d576200022c81600662000389565b6200023990600a620004a2565b620002459085620004b0565b93506200027d565b60068111156200027d576200026460068262000389565b6200027190600a620004a2565b620002459085620004d2565b505050919050565b80516001600160a01b03811681146200029d57600080fd5b919050565b60008060408385031215620002b657600080fd5b620002c18362000285565b9150620002d16020840162000285565b90509250929050565b80516001600160501b03811681146200029d57600080fd5b600080600080600060a086880312156200030b57600080fd5b6200031686620002da565b94506020860151935060408601519250606086015191506200033b60808701620002da565b90509295509295909350565b6000602082840312156200035a57600080fd5b815160ff811681146200036c57600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b6000828210156200039e576200039e62000373565b500390565b600181815b80851115620003e4578160001904821115620003c857620003c862000373565b80851615620003d657918102915b93841c9390800290620003a8565b509250929050565b600082620003fd575060016200049c565b816200040c575060006200049c565b8160018114620004255760028114620004305762000450565b60019150506200049c565b60ff84111562000444576200044462000373565b50506001821b6200049c565b5060208310610133831016604e8410600b841016171562000475575081810a6200049c565b620004818383620003a3565b806000190482111562000498576200049862000373565b0290505b92915050565b60006200036c8383620003ec565b6000816000190483118215151615620004cd57620004cd62000373565b500290565b600082620004f057634e487b7160e01b600052601260045260246000fd5b500490565b608051611f126200052c6000396000818160f60152818161020201528181610522015281816109980152610a5b0152611f126000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80638da5cb5b116100715780638da5cb5b14610138578063b750bdde1461014b578063c23ede3514610198578063d04a8f7e146101ab578063f2fde38b146101be578063fc34a025146101d157600080fd5b8063287d2135146100ae5780632e0f2625146100d45780632e70218e146100dc578063318bf16e146100f1578063569ba30f14610125575b600080fd5b6100c16100bc3660046118c0565b6101e4565b6040519081526020015b60405180910390f35b6100c1600681565b6100ef6100ea36600461195c565b610295565b005b6101187f000000000000000000000000000000000000000000000000000000000000000081565b6040516100cb9190611a60565b600254610118906001600160a01b031681565b600054610118906001600160a01b031681565b6101896101593660046118c0565b6001602081905260009182526040909120805491015460ff8216916001600160a01b036101009091048116911683565b6040516100cb93929190611a8a565b6100c16101a63660046118c0565b61051e565b6100ef6101b9366004611aca565b61059c565b6100ef6101cc3660046118c0565b6106f1565b6100ef6101df3660046118c0565b610766565b60025460009081906101fe906001600160a01b03166107bc565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03160361023f5792915050565b600061024a8461091a565b90508060000361026d57604051639c2ea53560e01b815260040160405180910390fd5b6102796006600a611c1e565b6102838284611c2a565b61028d9190611c49565b949350505050565b6000546001600160a01b031633146102c85760405162461bcd60e51b81526004016102bf90611c6b565b60405180910390fd5b60005b815181101561051a57600060405180606001604052808484815181106102f3576102f3611c91565b602002602001015160200151600381111561031057610310611a74565b815260200184848151811061032757610327611c91565b6020026020010151604001516001600160a01b0316815260200184848151811061035357610353611c91565b6020026020010151606001516001600160a01b031681525090506103948184848151811061038357610383611c91565b602002602001015160000151610ae9565b80600160008585815181106103ab576103ab611c91565b602090810291909101810151516001600160a01b0316825281019190915260400160002081518154829060ff191660018360038111156103ed576103ed611a74565b021790555060208201518154610100600160a81b0319166101006001600160a01b0392831602178255604090920151600190910180546001600160a01b03191691909216179055825183908390811061044857610448611c91565b6020026020010151606001516001600160a01b031683838151811061046f5761046f611c91565b602002602001015160200151600381111561048c5761048c611a74565b84848151811061049e5761049e611c91565b6020026020010151600001516001600160a01b03167f30b6368a7c302c2592c2670f5282b03b8b9cb94a774bac2825642a498efa77db8686815181106104e6576104e6611c91565b6020026020010151604001516040516104ff9190611a60565b60405180910390a4508061051281611ca7565b9150506102cb565b5050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03160361056b576105656006600a611c1e565b92915050565b6105748261091a565b90508060000361059757604051639c2ea53560e01b815260040160405180910390fd5b919050565b6000546001600160a01b031633146105c65760405162461bcd60e51b81526004016102bf90611c6b565b600060405180606001604052808560038111156105e5576105e5611a74565b8152602001846001600160a01b03168152602001836001600160a01b031681525090506106128186610ae9565b6001600160a01b0385166000908152600160208190526040909120825181548493839160ff19169083600381111561064c5761064c611a74565b021790555060208201518154610100600160a81b0319166101006001600160a01b0392831602178255604090920151600190910180546001600160a01b03191691831691909117905582168460038111156106a9576106a9611a74565b866001600160a01b03167f30b6368a7c302c2592c2670f5282b03b8b9cb94a774bac2825642a498efa77db866040516106e29190611a60565b60405180910390a45050505050565b6000546001600160a01b0316331461071b5760405162461bcd60e51b81526004016102bf90611c6b565b600080546001600160a01b0319166001600160a01b0383169081178255604051909133917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b6000546001600160a01b031633146107905760405162461bcd60e51b81526004016102bf90611c6b565b610799816107bc565b50600280546001600160a01b0319166001600160a01b0392909216919091179055565b6000808290506000816001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610802573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108269190611cda565b5050509150506000811361084d5760405163252a0a3960e11b815260040160405180910390fd5b8092506000826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610890573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b49190611d2a565b60ff16905060068110156108e9576108cd816006611d4d565b6108d890600a611c1e565b6108e29085611c2a565b9350610912565b6006811115610912576108fd600682611d4d565b61090890600a611c1e565b6108e29085611c49565b505050919050565b6001600160a01b038116600090815260016020526040808220815160608101909252805483929190829060ff16600381111561095857610958611a74565b600381111561096957610969611a74565b815281546001600160a01b036101009091048116602083015260019092015482166040918201528201519192507f000000000000000000000000000000000000000000000000000000000000000081169116036109d1576109ca8184610e86565b9392505050565b6040808201516001600160a01b0316600090815260016020528181208251606081019093528054919291829060ff166003811115610a1157610a11611a74565b6003811115610a2257610a22611a74565b815281546001600160a01b036101009091048116602083015260019092015482166040918201528201519192501615801590610a9357507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681604001516001600160a01b0316145b15610ae2576000610aa8828460400151610e86565b90506000610ab68487610e86565b9050610ac46006600a611c1e565b610ace8383611c2a565b610ad89190611c49565b9695505050505050565b5050919050565b6000610af58383610e86565b905080600003610b1857604051639c2ea53560e01b815260040160405180910390fd5b600083516003811115610b2d57610b2d611a74565b1480610b4b5750600183516003811115610b4957610b49611a74565b145b15610cd5576000836020015190506000816001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bbd9190611d64565b90506000826001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c239190611d64565b9050846001600160a01b0316826001600160a01b031614158015610c595750846001600160a01b0316816001600160a01b031614155b15610c775760405163297a0b0d60e11b815260040160405180910390fd5b85604001516001600160a01b0316826001600160a01b031614158015610cb3575085604001516001600160a01b0316816001600160a01b031614155b15610cd15760405163fd496b4360e01b815260040160405180910390fd5b5050505b600283516003811115610cea57610cea611a74565b03610e8157602083015160405163c661065760e01b8152600060048201819052906001600160a01b0383169063c661065790602401602060405180830381865afa158015610d3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d609190611d64565b60405163c661065760e01b8152600160048201529091506000906001600160a01b0384169063c661065790602401602060405180830381865afa158015610dab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dcf9190611d64565b9050846001600160a01b0316826001600160a01b031614158015610e055750846001600160a01b0316816001600160a01b031614155b15610e235760405163297a0b0d60e11b815260040160405180910390fd5b85604001516001600160a01b0316826001600160a01b031614158015610e5f575085604001516001600160a01b0316816001600160a01b031614155b15610e7d5760405163fd496b4360e01b815260040160405180910390fd5b5050505b505050565b6000600383516003811115610e9d57610e9d611a74565b03610eb657610eaf83602001516107bc565b9050610565565b600083516003811115610ecb57610ecb611a74565b03610ede57610eaf836020015183610f47565b600183516003811115610ef357610ef3611a74565b03610f0657610eaf836020015183611299565b600283516003811115610f1b57610f1b611a74565b03610f2e57610eaf836020015183611581565b604051639c2ea53560e01b815260040160405180910390fd5b6000808390506000816001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb19190611d64565b90506000826001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ff3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110179190611d64565b9050600080846001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa15801561105a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107e9190611dac565b5091509150816001600160701b0316600014806110a257506001600160701b038116155b156110c057604051639c2ea53560e01b815260040160405180910390fd5b6000846001600160a01b0316886001600160a01b03161490506000856001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015611119573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061113d9190611d2a565b60ff1690506000856001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015611182573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111a69190611d2a565b60ff1690508215611220576001600160701b03851615611216576111cb81600a611c1e565b6111de906001600160701b038716611c2a565b6111e9600684611def565b6111f490600a611c1e565b611207906001600160701b038716611c2a565b6112119190611c49565b611219565b60005b985061128b565b6001600160701b038416156112855761123a82600a611c1e565b61124d906001600160701b038616611c2a565b611258600683611def565b61126390600a611c1e565b611276906001600160701b038816611c2a565b6112809190611c49565b611288565b60005b98505b505050505050505092915050565b6000808390506000816001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e060405180830381865afa1580156112df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113039190611e19565b5050505050509050806001600160a01b031660000361133557604051639c2ea53560e01b815260040160405180910390fd5b6000826001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015611375573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113999190611d64565b90506000836001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113ff9190611d64565b90506000826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015611441573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114659190611d2a565b60ff1690506000826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114ce9190611d2a565b60ff1690506001600160a01b03888116908516146000600160c01b6114f484600a611c1e565b6114ff600687611def565b61150a90600a611c1e565b6115149190611c49565b6115276001600160a01b038a1680611c2a565b6115319190611c2a565b61153b9190611c49565b9050811561154b5780985061128b565b6000600261155b6006600a611c1e565b6115659190611eb4565b90506115718282611c49565b9c9b505050505050505050505050565b60405163c661065760e01b815260006004820181905290839082906001600160a01b0383169063c661065790602401602060405180830381865afa1580156115cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115f19190611d64565b60405163c661065760e01b8152600160048201529091506000906001600160a01b0384169063c661065790602401602060405180830381865afa15801561163c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116609190611d64565b90506000826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116c69190611d2a565b60ff1690506000826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561170b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061172f9190611d2a565b60ff1690506001600160a01b038781169085161480156118105760006001600160a01b03871663556d6e9f82600161176888600a611c1e565b6040516001600160e01b031960e086901b168152600481019390935260248301919091526044820152606401602060405180830381865afa1580156117b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117d59190611ec3565b90506117e283600a611c1e565b6117ee6006600a611c1e565b6117f89083611c2a565b6118029190611c49565b975050505050505050610565565b60006001600160a01b03871663556d6e9f60018361182e8783611c1e565b6040516001600160e01b031960e086901b168152600481019390935260248301919091526044820152606401602060405180830381865afa158015611877573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061189b9190611ec3565b90506117e284600a611c1e565b6001600160a01b03811681146118bd57600080fd5b50565b6000602082840312156118d257600080fd5b81356109ca816118a8565b634e487b7160e01b600052604160045260246000fd5b6040516080810167ffffffffffffffff81118282101715611916576119166118dd565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715611945576119456118dd565b604052919050565b80356004811061059757600080fd5b6000602080838503121561196f57600080fd5b823567ffffffffffffffff8082111561198757600080fd5b818501915085601f83011261199b57600080fd5b8135818111156119ad576119ad6118dd565b6119bb848260051b0161191c565b818152848101925060079190911b8301840190878211156119db57600080fd5b928401925b81841015611a5557608084890312156119f95760008081fd5b611a016118f3565b8435611a0c816118a8565b8152611a1985870161194d565b86820152604080860135611a2c816118a8565b90820152606085810135611a3f816118a8565b90820152835260809390930192918401916119e0565b979650505050505050565b6001600160a01b0391909116815260200190565b634e487b7160e01b600052602160045260246000fd5b6060810160048510611aac57634e487b7160e01b600052602160045260246000fd5b9381526001600160a01b039283166020820152911660409091015290565b60008060008060808587031215611ae057600080fd5b8435611aeb816118a8565b9350611af96020860161194d565b92506040850135611b09816118a8565b91506060850135611b19816118a8565b939692955090935050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115611b75578160001904821115611b5b57611b5b611b24565b80851615611b6857918102915b93841c9390800290611b3f565b509250929050565b600082611b8c57506001610565565b81611b9957506000610565565b8160018114611baf5760028114611bb957611bd5565b6001915050610565565b60ff841115611bca57611bca611b24565b50506001821b610565565b5060208310610133831016604e8410600b8410161715611bf8575081810a610565565b611c028383611b3a565b8060001904821115611c1657611c16611b24565b029392505050565b60006109ca8383611b7d565b6000816000190483118215151615611c4457611c44611b24565b500290565b600082611c6657634e487b7160e01b600052601260045260246000fd5b500490565b6020808252600c908201526b15539055551213d49256915160a21b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b600060018201611cb957611cb9611b24565b5060010190565b805169ffffffffffffffffffff8116811461059757600080fd5b600080600080600060a08688031215611cf257600080fd5b611cfb86611cc0565b9450602086015193506040860151925060608601519150611d1e60808701611cc0565b90509295509295909350565b600060208284031215611d3c57600080fd5b815160ff811681146109ca57600080fd5b600082821015611d5f57611d5f611b24565b500390565b600060208284031215611d7657600080fd5b81516109ca816118a8565b80516001600160701b038116811461059757600080fd5b805163ffffffff8116811461059757600080fd5b600080600060608486031215611dc157600080fd5b611dca84611d81565b9250611dd860208501611d81565b9150611de660408501611d98565b90509250925092565b60008219821115611e0257611e02611b24565b500190565b805161ffff8116811461059757600080fd5b600080600080600080600060e0888a031215611e3457600080fd5b8751611e3f816118a8565b8097505060208801518060020b8114611e5757600080fd5b9550611e6560408901611e07565b9450611e7360608901611e07565b9350611e8160808901611e07565b9250611e8f60a08901611d98565b915060c08801518015158114611ea457600080fd5b8091505092959891949750929550565b60006109ca60ff841683611b7d565b600060208284031215611ed557600080fd5b505191905056fea2646970667358221220706ee8a689f5567ae1b6f2dd4ea263b14318ff2cc70d66e79f9ac4799a931c2264736f6c634300080d00330000000000000000000000005f4ec3df9cbd43714fe2740f5e3616155c5b8419000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2