0 txs
0 calls
constructor
No constructor.
functions
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
getPrice
viewfunction getPrice(address token) view returns (tuple)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
owner
viewfunction owner() view returns (address)
PRICE_UPDATER_ROLE
viewfunction PRICE_UPDATER_ROLE() view returns (bytes32)
priceInfo
viewfunction priceInfo(address) view returns (uint256 price, uint256 sqrtPriceX96, uint256 slippage, uint256 timestamp, address token, uint8 decimals)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
UPGRADE_INTERFACE_VERSION
viewfunction UPGRADE_INTERFACE_VERSION() view returns (string)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
initialize
nonpayablefunction initialize(address owner)
renounceOwnership
nonpayablefunction renounceOwnership()
renounceRole
nonpayablefunction renounceRole(bytes32 role, address callerConfirmation)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updatePrice
nonpayablefunction updatePrice(address token, tuple _priceInfo)
updatePriceBatch
nonpayablefunction updatePriceBatch(address[] tokens, tuple[] priceInfos)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
events
Initialized
event Initialized(uint64 version)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
PriceUpdated
event PriceUpdated(address token, uint256 price, uint256 slippage, uint256 timestamp)
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
Upgraded
event Upgraded(address indexed implementation)
errors
AccessControlBadConfirmation
error AccessControlBadConfirmation()
AccessControlUnauthorizedAccount
error AccessControlUnauthorizedAccount(address account, bytes32 neededRole)
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
0x60a0806040523460295730608052611e47908161002e8239608051818181610a540152610b550152f35b5f80fdfe6080806040526004361015610012575f80fd5b5f3560e01c90816301ffc9a71461132557508063248a9ca3146112d35780632f2ff15d1461127657806336568abe1461120c57806341976e0914610ff95780634b76930e14610e105780634f1ef28614610acc57806352d1902d14610a2d5780636b81158e146106a85780636d048d5314610616578063715018a61461055a5780638da5cb5b1461050857806391d1485414610492578063a217fddf14610478578063ad3cb1cc146103e4578063c4d66de8146101b8578063d547741f14610156578063f2fde38b1461012b5763fb8d8101146100ed575f80fd5b34610127575f6003193601126101275760206040517fd96ba01d6560c2ab35f2940dd8d70c5f5fe06236c72674237120515918198fb08152f35b5f80fd5b34610127576020600319360112610127576101546101476113e6565b61014f611cb5565b61173d565b005b34610127576040600319360112610127576101546004356101756113c3565b906101b36101ae825f527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800602052600160405f20015490565b61182a565b611bad565b34610127576020600319360112610127576101d16113e6565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460ff8160401c16159167ffffffffffffffff8216801590816103dc575b60011490816103d2575b1590816103c9575b506103a157818360017fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000006102b29516177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005561034c575b50610282611d21565b61028a611d21565b6102938161173d565b61029b611d21565b6102a3611d21565b6102ac816118b0565b50611997565b506102b957005b7fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054167ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b7fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000001668010000000000000001177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005583610279565b7ff92ee8a9000000000000000000000000000000000000000000000000000000005f5260045ffd5b90501584610222565b303b15915061021a565b849150610210565b34610127575f6003193601126101275760408051906104038183611452565b6005825260208201917f352e302e3000000000000000000000000000000000000000000000000000000083527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8351948593602085525180918160208701528686015e5f85828601015201168101030190f35b34610127575f6003193601126101275760206040515f8152f35b34610127576040600319360112610127576104ab6113c3565b6004355f527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b62680060205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060ff60405f2054166040519015158152f35b34610127575f60031936011261012757602073ffffffffffffffffffffffffffffffffffffffff7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c1993005416604051908152f35b34610127575f60031936011261012757610572611cb5565b5f73ffffffffffffffffffffffffffffffffffffffff7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300547fffffffffffffffffffffffff000000000000000000000000000000000000000081167f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346101275760206003193601126101275773ffffffffffffffffffffffffffffffffffffffff6106446113e6565b165f525f60205260c060405f2060ff8154916001810154906002810154600460038301549201549260405195865260208601526040850152606084015273ffffffffffffffffffffffffffffffffffffffff8116608084015260a01c1660a0820152f35b346101275760406003193601126101275760043567ffffffffffffffff811161012757366023820112156101275780600401359067ffffffffffffffff8211610127576024810190602436918460051b010111610127576024359067ffffffffffffffff8211610127573660238301121561012757816004013567ffffffffffffffff81116101275760248301926024369160c0840201011161012757335f9081527fc256c2f634d6da12a4a07efdac9dc2d265baedd567b31337ba6cb23fe11b4899602052604090205461077f9060ff166114cd565b8084036109a9575f5b84811061079157005b6107a761079f8284876116f0565b351515611532565b6107c060606107b78385886116f0565b013515156115bc565b61080b6107d960806107d38486896116f0565b0161166a565b73ffffffffffffffffffffffffffffffffffffffff806108026107fd868b8a61172d565b61166a565b1691161461168b565b6108168183866116f0565b9073ffffffffffffffffffffffffffffffffffffffff61083a6107fd83898861172d565b165f525f60205260a0600460405f2084358155602085013560018201556040850135600282015560608501356003820155019273ffffffffffffffffffffffffffffffffffffffff61088e6080830161166a565b167fffffffffffffffffffffffff000000000000000000000000000000000000000085541617845501359160ff83168303610127576001927fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff74ff000000000000000000000000000000000000000083549260a01b1691161790557f40a2e1011bc4b63fe019abc98ce43b9ae4a22f2072b84f3d14941dc1675979c26109386107fd83898861172d565b6109438386896116f0565b35906109a0604061095586898c6116f0565b01356060610964878a8d6116f0565b013590604051948594859094939260609273ffffffffffffffffffffffffffffffffffffffff6080840197168352602083015260408201520152565b0390a101610788565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f4f7261636c653a20746f6b656e7320616e64207072696365496e666f73206c6560448201527f6e677468206d69736d61746368000000000000000000000000000000000000006064820152fd5b34610127575f6003193601126101275773ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610aa45760206040517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152f35b7fe07c8dba000000000000000000000000000000000000000000000000000000005f5260045ffd5b604060031936011261012757610ae06113e6565b6024359067ffffffffffffffff8211610127573660238301121561012757816004013590610b0d82611493565b91610b1b6040519384611452565b8083526020830193366024838301011161012757815f9260246020930187378401015273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016803014908115610dce575b50610aa457610b8d611cb5565b73ffffffffffffffffffffffffffffffffffffffff8116926040517f52d1902d000000000000000000000000000000000000000000000000000000008152602081600481885afa5f9181610d9a575b50610c0d57847f4c9c8ce3000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc869203610d6f5750823b15610d4457807fffffffffffffffffffffffff00000000000000000000000000000000000000007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416177f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2825115610d12575f8091610154945190845af43d15610d0a573d91610cee83611493565b92610cfc6040519485611452565b83523d5f602085013e611d78565b606091611d78565b50505034610d1c57005b7fb398979f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4c9c8ce3000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b7faa1d49a4000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b9091506020813d602011610dc6575b81610db660209383611452565b8101031261012757519086610bdc565b3d9150610da9565b905073ffffffffffffffffffffffffffffffffffffffff7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416141584610b80565b346101275760e060031936011261012757610e296113e6565b60c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc36011261012757335f9081527fc256c2f634d6da12a4a07efdac9dc2d265baedd567b31337ba6cb23fe11b48996020526040902054610e8d9060ff166114cd565b602435610e9b811515611532565b60843591610eaa8315156115bc565b73ffffffffffffffffffffffffffffffffffffffff610ed6610eca611647565b8383169216821461168b565b5f525f60205260405f208281556044356001820155600460643591826002820155856003820155019373ffffffffffffffffffffffffffffffffffffffff610f1c611647565b167fffffffffffffffffffffffff000000000000000000000000000000000000000086541617855560c4359160ff831683036101275785610ff4937fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff74ff00000000000000000000000000000000000000007f40a2e1011bc4b63fe019abc98ce43b9ae4a22f2072b84f3d14941dc1675979c299549260a01b169116179055604051948594859094939260609273ffffffffffffffffffffffffffffffffffffffff6080840197168352602083015260408201520152565b0390a1005b346101275760206003193601126101275773ffffffffffffffffffffffffffffffffffffffff6110276113e6565b5f60a060405161103681611409565b8281528260208201528260408201528260608201528260808201520152165f525f60205260405f2060405161106a81611409565b815481526001820154602082019081526002830154906040830191825260038401549060046060850195838752015491608085019073ffffffffffffffffffffffffffffffffffffffff8416825260ff60a087019460a01c168452156111ae578551420342811161118157610e1011156111235760c09560ff9473ffffffffffffffffffffffffffffffffffffffff936040519751885251602088015251604087015251606086015251166080840152511660a0820152f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4f7261636c653a20507269636520746f6f206f6c6400000000000000000000006044820152fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f4f7261636c653a205072696365206e6f7420617661696c61626c6500000000006044820152fd5b34610127576040600319360112610127576112256113c3565b3373ffffffffffffffffffffffffffffffffffffffff82160361124e5761015490600435611bad565b7f6697b232000000000000000000000000000000000000000000000000000000005f5260045ffd5b34610127576040600319360112610127576101546004356112956113c3565b906112ce6101ae825f527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800602052600160405f20015490565b611a9b565b3461012757602060031936011261012757602061131d6004355f527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800602052600160405f20015490565b604051908152f35b3461012757602060031936011261012757600435907fffffffff00000000000000000000000000000000000000000000000000000000821680920361012757817f7965db0b0000000000000000000000000000000000000000000000000000000060209314908115611399575b5015158152f35b7f01ffc9a70000000000000000000000000000000000000000000000000000000091501483611392565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361012757565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361012757565b60c0810190811067ffffffffffffffff82111761142557604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761142557604052565b67ffffffffffffffff811161142557601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b156114d457565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4f7261636c653a204e6f7420617574686f72697a6564000000000000000000006044820152fd5b1561153957565b60846040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f4f7261636c653a205072696365206d757374206265206772656174657220746860448201527f616e2030000000000000000000000000000000000000000000000000000000006064820152fd5b156115c357565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4f7261636c653a2054696d657374616d70206d7573742062652067726561746560448201527f72207468616e20300000000000000000000000000000000000000000000000006064820152fd5b60a43573ffffffffffffffffffffffffffffffffffffffff811681036101275790565b3573ffffffffffffffffffffffffffffffffffffffff811681036101275790565b1561169257565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4f7261636c653a20546f6b656e206d69736d61746368000000000000000000006044820152fd5b91908110156117005760c0020190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b91908110156117005760051b0190565b73ffffffffffffffffffffffffffffffffffffffff1680156117fe5773ffffffffffffffffffffffffffffffffffffffff7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930054827fffffffffffffffffffffffff00000000000000000000000000000000000000008216177f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b7f1e4fbdf7000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b805f527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b62680060205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f5260205260ff60405f205416156118815750565b7fe2517d3f000000000000000000000000000000000000000000000000000000005f523360045260245260445ffd5b73ffffffffffffffffffffffffffffffffffffffff81165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d602052604090205460ff166119925773ffffffffffffffffffffffffffffffffffffffff165f8181527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d6020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790553391907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b505f90565b73ffffffffffffffffffffffffffffffffffffffff81165f9081527fc256c2f634d6da12a4a07efdac9dc2d265baedd567b31337ba6cb23fe11b4899602052604090205460ff166119925773ffffffffffffffffffffffffffffffffffffffff165f8181527fc256c2f634d6da12a4a07efdac9dc2d265baedd567b31337ba6cb23fe11b48996020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790553391907fd96ba01d6560c2ab35f2940dd8d70c5f5fe06236c72674237120515918198fb0907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b805f527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b62680060205260405f2073ffffffffffffffffffffffffffffffffffffffff83165f5260205260ff60405f205416155f14611ba757805f527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b62680060205260405f2073ffffffffffffffffffffffffffffffffffffffff83165f5260205260405f2060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082541617905573ffffffffffffffffffffffffffffffffffffffff339216907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b50505f90565b805f527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b62680060205260405f2073ffffffffffffffffffffffffffffffffffffffff83165f5260205260ff60405f2054165f14611ba757805f527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b62680060205260405f2073ffffffffffffffffffffffffffffffffffffffff83165f5260205260405f207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00815416905573ffffffffffffffffffffffffffffffffffffffff339216907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b73ffffffffffffffffffffffffffffffffffffffff7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930054163303611cf557565b7f118cdaa7000000000000000000000000000000000000000000000000000000005f523360045260245ffd5b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c1615611d5057565b7fd7e6bcf8000000000000000000000000000000000000000000000000000000005f5260045ffd5b90611db55750805115611d8d57805190602001fd5b7fd6bda275000000000000000000000000000000000000000000000000000000005f5260045ffd5b81511580611e08575b611dc6575090565b73ffffffffffffffffffffffffffffffffffffffff907f9996b315000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b50803b15611dbe56fea264697066735822122077c5c79f1c29432b9cd185cfbf3230e0a8e0da9449e6766caabb63ff5f873b0d64736f6c634300081a0033