0 txs
7.2k calls
constructor
constructor(address _dataStore, address _oracle, address _verifier)
functions
dataStore
viewfunction dataStore() view returns (address)
isChainlinkOnChainProvider
purefunction isChainlinkOnChainProvider() pure returns (bool)
oracle
viewfunction oracle() view returns (address)
shouldAdjustTimestamp
purefunction shouldAdjustTimestamp() pure returns (bool)
verifier
viewfunction verifier() view returns (address)
getOraclePrice
nonpayablefunction getOraclePrice(address token, bytes data) returns (tuple)
events
No events.
errors
EmptyDataStreamFeedId
error EmptyDataStreamFeedId(address token)
EmptyDataStreamMultiplier
error EmptyDataStreamMultiplier(address token)
InvalidDataStreamBidAsk
error InvalidDataStreamBidAsk(address token, int192 bid, int192 ask)
InvalidDataStreamFeedId
error InvalidDataStreamFeedId(address token, bytes32 feedId, bytes32 expectedFeedId)
InvalidDataStreamPrices
error InvalidDataStreamPrices(address token, int192 bid, int192 ask)
InvalidDataStreamSpreadReductionFactor
error InvalidDataStreamSpreadReductionFactor(address token, uint256 spreadReductionFactor)
Unauthorized
error Unauthorized(address msgSender, string role)
creation bytecode
0x60e060405234801561001057600080fd5b50604051610fbd380380610fbd83398101604081905261002f91610064565b6001600160a01b0392831660805290821660a0521660c0526100b1565b6001600160a01b038116811461006157600080fd5b50565b60008060006060848603121561007957600080fd5b83516100848161004c565b60208501519093506100958161004c565b60408501519092506100a68161004c565b809150509250925092565b60805160a05160c051610eb461010960003960008181606c01526102e601526000818161012c01526101b70152600081816101050152818161021f015281816106160152818161074201526108180152610eb46000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80632b7ac3f314610067578063377bbdaf146100a4578063660d0d67146101005780637dc0d1d0146101275780638263c28e1461014e578063eed790c714610161575b600080fd5b61008e7f000000000000000000000000000000000000000000000000000000000000000081565b60405161009b9190610a7c565b60405180910390f35b6100b76100b2366004610b3e565b610168565b60405161009b919081516001600160a01b039081168252602080840151908301526040808401519083015260608084015190830152608092830151169181019190915260a00190565b61008e7f000000000000000000000000000000000000000000000000000000000000000081565b61008e7f000000000000000000000000000000000000000000000000000000000000000081565b60015b604051901515815260200161009b565b6000610151565b6101ac6040518060a0016040528060006001600160a01b0316815260200160008152602001600081526020016000815260200160006001600160a01b031681525090565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461021b576040805163a35b150b60e01b8152336004820152602481019190915260066044820152654f7261636c6560d01b60648201526084015b60405180910390fd5b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a6ed563e61025586610592565b6040518263ffffffff1660e01b815260040161027391815260200190565b602060405180830381865afa158015610290573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102b49190610bd0565b9050806102d657836040516318b900b360e21b81526004016102129190610a7c565b60006102e0610610565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f7e83aee86846040518363ffffffff1660e01b8152600401610332929190610c39565b6000604051808303816000875af1158015610351573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103799190810190610c67565b90506000818060200190518101906103919190610d16565b805190915084146103d157805160405163a4949e2560e01b81526001600160a01b0389166004820152602481019190915260448101859052606401610212565b60008160e0015160170b1315806103f15750600081610100015160170b13155b1561041e57868160e00151826101000151604051632a74194d60e01b815260040161021293929190610dc8565b80610100015160170b8160e0015160170b131561045d57868160e00151826101000151604051638d56bea160e01b815260040161021293929190610dc8565b60006104688861073d565b905060006104908360e001516001600160c01b03168368327cb2734119d3b7a9601e1b6107fc565b905060006104b98461010001516001600160c01b03168468327cb2734119d3b7a9601e1b6107fc565b905060006104c68b610813565b905080156105495768327cb2734119d3b7a9601e1b81036105015760026104ed8484610e03565b6104f79190610e2c565b9250829150610549565b6000600261050f8585610e4e565b6105199190610e2c565b905061052581836108ee565b61052f9085610e03565b935061053b81836108ee565b6105459084610e4e565b9250505b506040805160a0810182526001600160a01b038c168152602081019390935282810191909152929092015163ffffffff1660608301525030608082015293505050505b92915050565b60006040516020016105c6906020808252600e908201526d1110551057d4d51491505357d25160921b604082015260600190565b60408051601f198184030181528282528051602091820120908301526001600160a01b03841690820152606001604051602081830303815290604052805190602001209050919050565b606060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166321f8a72160405160200161067e9060208082526017908201527621a420a4a72624a725afa820aca6a2a72a2faa27a5a2a760491b604082015260600190565b604051602081830303815290604052805190602001206040518263ffffffff1660e01b81526004016106b291815260200190565b602060405180830381865afa1580156106cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f39190610e61565b90506001600160a01b03811661071757505060408051600081526020810190915290565b806040516020016107289190610a7c565b60405160208183030381529060405291505090565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bd02d0f561077885610907565b6040518263ffffffff1660e01b815260040161079691815260200190565b602060405180830381865afa1580156107b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d79190610bd0565b90508060000361058c578260405163044202e360e11b81526004016102129190610a7c565b6000610809848484610943565b90505b9392505050565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bd02d0f561084e85610a2d565b6040518263ffffffff1660e01b815260040161086c91815260200190565b602060405180830381865afa158015610889573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ad9190610bd0565b905068327cb2734119d3b7a9601e1b81111561058c57604051636e0c29ed60e01b81526001600160a01b038416600482015260248101829052604401610212565b600061080c838368327cb2734119d3b7a9601e1b6107fc565b60006040516020016105c6906020808252601690820152752220aa20afa9aa2922a0a6afa6aaa62a24a82624a2a960511b604082015260600190565b600080806000198587098587029250828110838203039150508060000361097d5783828161097357610973610e16565b049250505061080c565b8084116109c45760405162461bcd60e51b81526020600482015260156024820152744d6174683a206d756c446976206f766572666c6f7760581b6044820152606401610212565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b60006040516020016105c69060208082526023908201527f444154415f53545245414d5f5350524541445f524544554354494f4e5f4641436040820152622a27a960e91b606082015260800190565b6001600160a01b0391909116815260200190565b6001600160a01b0381168114610aa557600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b0381118282101715610ae157610ae1610aa8565b60405290565b604051601f8201601f191681016001600160401b0381118282101715610b0f57610b0f610aa8565b604052919050565b60006001600160401b03821115610b3057610b30610aa8565b50601f01601f191660200190565b60008060408385031215610b5157600080fd5b8235610b5c81610a90565b915060208301356001600160401b03811115610b7757600080fd5b8301601f81018513610b8857600080fd5b8035610b9b610b9682610b17565b610ae7565b818152866020838501011115610bb057600080fd5b816020840160208301376000602083830101528093505050509250929050565b600060208284031215610be257600080fd5b5051919050565b60005b83811015610c04578181015183820152602001610bec565b50506000910152565b60008151808452610c25816020860160208601610be9565b601f01601f19169290920160200192915050565b604081526000610c4c6040830185610c0d565b8281036020840152610c5e8185610c0d565b95945050505050565b600060208284031215610c7957600080fd5b81516001600160401b03811115610c8f57600080fd5b8201601f81018413610ca057600080fd5b8051610cae610b9682610b17565b818152856020838501011115610cc357600080fd5b610c5e826020830160208601610be9565b805163ffffffff81168114610ce857600080fd5b919050565b80516001600160c01b0381168114610ce857600080fd5b8051601781900b8114610ce857600080fd5b6000610120828403128015610d2a57600080fd5b50610d33610abe565b82518152610d4360208401610cd4565b6020820152610d5460408401610cd4565b6040820152610d6560608401610ced565b6060820152610d7660808401610ced565b6080820152610d8760a08401610cd4565b60a0820152610d9860c08401610d04565b60c0820152610da960e08401610d04565b60e0820152610dbb6101008401610d04565b6101008201529392505050565b6001600160a01b03939093168352601791820b6020840152900b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8082018082111561058c5761058c610ded565b634e487b7160e01b600052601260045260246000fd5b600082610e4957634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561058c5761058c610ded565b600060208284031215610e7357600080fd5b815161080c81610a9056fea264697066735822122051ca9461d4ad7bc61d2a4599fe8b0f79613b2a14539d4458e33707448d2b58be64736f6c634300081d0033000000000000000000000000fd70de6b91282d8017aa4e741e9ae325cab992d80000000000000000000000007f01614ca5198ec979b1aad1daf0de7e0a215bdf000000000000000000000000478aa2ac9f6d65f84e09d9185d126c3a17c2a93c