0 txs
36 calls
constructor
constructor(address _token, bytes32 _dataFeedId, address[10] _signers, uint8 signersThreshold)
functions
aggregateValues
viewfunction aggregateValues(uint256[] values) view returns (uint256)
dataFeedId
viewfunction dataFeedId() view returns (bytes32)
decimals
viewfunction decimals() view returns (uint8)
description
viewfunction description() view returns (string)
extractTimestampsAndAssertAllAreEqual
purefunction extractTimestampsAndAssertAllAreEqual() pure returns (uint256 extractedTimestamp)
getAuthorisedSignerIndex
viewfunction getAuthorisedSignerIndex(address signerAddress) view returns (uint8)
getDataServiceId
viewfunction getDataServiceId() view returns (string)
getUniqueSignersThreshold
viewfunction getUniqueSignersThreshold() view returns (uint8)
lastPayloadTimestamp
viewfunction lastPayloadTimestamp() view returns (uint40)
lastPrice
viewfunction lastPrice() view returns (uint128)
latestRoundData
viewfunction latestRoundData() view returns (uint80, int256, uint256, uint256, uint80)
priceFeedType
viewfunction priceFeedType() view returns (uint8)
signerAddress0
viewfunction signerAddress0() view returns (address)
signerAddress1
viewfunction signerAddress1() view returns (address)
signerAddress2
viewfunction signerAddress2() view returns (address)
signerAddress3
viewfunction signerAddress3() view returns (address)
signerAddress4
viewfunction signerAddress4() view returns (address)
signerAddress5
viewfunction signerAddress5() view returns (address)
signerAddress6
viewfunction signerAddress6() view returns (address)
signerAddress7
viewfunction signerAddress7() view returns (address)
signerAddress8
viewfunction signerAddress8() view returns (address)
signerAddress9
viewfunction signerAddress9() view returns (address)
skipPriceCheck
viewfunction skipPriceCheck() view returns (bool)
token
viewfunction token() view returns (address)
updatable
viewfunction updatable() view returns (bool)
validateTimestamp
viewfunction validateTimestamp(uint256 receivedTimestampMilliseconds) view
version
viewfunction version() view returns (uint256)
updatePrice
nonpayablefunction updatePrice(bytes data)
events
UpdatePrice
event UpdatePrice(uint256 price)
errors
CalldataMustHaveValidPayload
error CalldataMustHaveValidPayload()
CalldataOverOrUnderFlow
error CalldataOverOrUnderFlow()
CanNotPickMedianOfEmptyArray
error CanNotPickMedianOfEmptyArray()
DataPackageTimestampIncorrect
error DataPackageTimestampIncorrect()
DataPackageTimestampMustNotBeZero
error DataPackageTimestampMustNotBeZero()
DataPackageTimestampsMustBeEqual
error DataPackageTimestampsMustBeEqual()
DuplicateSignersException
error DuplicateSignersException()
EachSignerMustProvideTheSameValue
error EachSignerMustProvideTheSameValue()
EmptyCalldataPointersArr
error EmptyCalldataPointersArr()
GetDataServiceIdNotImplemented
error GetDataServiceIdNotImplemented()
IncorrectPriceException
error IncorrectPriceException()
IncorrectSignersThresholdException
error IncorrectSignersThresholdException()
IncorrectUnsignedMetadataSize
error IncorrectUnsignedMetadataSize()
InsufficientNumberOfUniqueSigners
error InsufficientNumberOfUniqueSigners(uint256 receivedSignersCount, uint256 requiredSignersCount)
InvalidCalldataPointer
error InvalidCalldataPointer()
NotEnoughSignersException
error NotEnoughSignersException()
RedstonePayloadMustHaveAtLeastOneDataPackage
error RedstonePayloadMustHaveAtLeastOneDataPackage()
RedstonePayloadTimestampIncorrect
error RedstonePayloadTimestampIncorrect()
SignerNotAuthorised
error SignerNotAuthorised(address receivedSigner)
creation bytecode
0x6102206040523480156200001257600080fd5b506040516200205638038062002056833981016040819052620000359162000227565b60ff81161580620000495750600a8160ff16115b156200006857604051630d211b8f60e31b815260040160405180910390fd5b6000805b600a8110156200012f5760008482600a81106200008d576200008d620002e6565b60200201516001600160a01b0316146200012657600181015b600a8110156200011e578482600a8110620000c557620000c5620002e6565b60200201516001600160a01b03168582600a8110620000e857620000e8620002e6565b60200201516001600160a01b031603620001155760405163495df29160e11b815260040160405180910390fd5b600101620000a6565b508160010191505b6001016200006c565b508160ff168110156200015557604051630416f49d60e21b815260040160405180910390fd5b506001600160a01b03938416608090815260a09384528251851660c09081526020840151861660e0908152604085015187166101009081526060860151881661012090815293860151881661014052958501518716610160529084015186166101805283015185166101a0529282015184166101c0529101519091166101e05260ff1661020052620002fc565b80516001600160a01b0381168114620001fa57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b805160ff81168114620001fa57600080fd5b6000806000806101a085870312156200023f57600080fd5b6200024a85620001e2565b9350602080860151935086605f8701126200026457600080fd5b60405161014081016001600160401b03811182821017156200028a576200028a620001ff565b60405280610180880189811115620002a157600080fd5b604089015b81811015620002c857620002ba81620001e2565b8352918401918401620002a6565b50829550620002d78162000215565b94505050505092959194509250565b634e487b7160e01b600052603260045260246000fd5b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e05161020051611c5462000402600039600081816104d9015281816111830152818161145c01526115f701526000818161042501526107f50152600081816102ed01526107b401526000818161024f01526107730152600081816103eb015261073201526000818161049a01526106f101526000818161036101526106b0015260008181610210015261066f0152600081816103c4015261062e01526000818161032501526105ed01526000818161038801526105ac0152600081816102900152610ada01526000818161050201526109bf0152611c546000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c80638736ec47116100f9578063d62ada1111610097578063f50b2efe11610071578063f50b2efe146104c4578063f90c4924146104d7578063fc0c546a146104fd578063feaf968c1461052457600080fd5b8063d62ada111461047d578063dcdacf8914610495578063e75aeec8146104bc57600080fd5b8063b24ebfcc116100d3578063b24ebfcc1461040d578063bc48da9e14610420578063bdbe420414610447578063c274583a1461047557600080fd5b80638736ec47146103aa5780638dba0538146103bf5780639e0153d4146103e657600080fd5b80634ee1a1e6116101665780635decfe37116101405780635decfe37146103205780637284e416146103475780637ed0185f1461035c578063816f444a1461038357600080fd5b80634ee1a1e6146102e857806354fd4d501461030f57806355a547d51461031857600080fd5b8063313ce567116101a2578063313ce56714610271578063370c826b1461028b5780633ce142f5146102c05780633fd0875f146102d357600080fd5b8063053f14da146101c957806309c032ba1461020b5780631ac23b3d1461024a575b600080fd5b6000546101e5906fffffffffffffffffffffffffffffffff1681565b6040516fffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6102327f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610202565b6102327f000000000000000000000000000000000000000000000000000000000000000081565b610279600881565b60405160ff9091168152602001610202565b6102b27f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610202565b6102796102ce3660046117e0565b610571565b6102db600f81565b6040516102029190611809565b6102327f000000000000000000000000000000000000000000000000000000000000000081565b6102b261012c81565b6102b2610858565b6102327f000000000000000000000000000000000000000000000000000000000000000081565b61034f6109bb565b6040516102029190611855565b6102327f000000000000000000000000000000000000000000000000000000000000000081565b6102327f000000000000000000000000000000000000000000000000000000000000000081565b6103bd6103b8366004611888565b610a67565b005b6102327f000000000000000000000000000000000000000000000000000000000000000081565b6102327f000000000000000000000000000000000000000000000000000000000000000081565b6102b261041b366004611941565b610bd9565b6102327f000000000000000000000000000000000000000000000000000000000000000081565b60005461045f90600160801b900464ffffffffff1681565b60405164ffffffffff9091168152602001610202565b61034f610bea565b610485600081565b6040519015158152602001610202565b6102327f000000000000000000000000000000000000000000000000000000000000000081565b610485600181565b6103bd6104d23660046119db565b610c1e565b7f0000000000000000000000000000000000000000000000000000000000000000610279565b6102327f000000000000000000000000000000000000000000000000000000000000000081565b60008054604080518381526fffffffffffffffffffffffffffffffff83166020820152908101839052600160801b90910464ffffffffff166060820152608081019190915260a001610202565b60006001600160a01b0382166105aa576040516303b1166f60e61b81526001600160a01b03831660048201526024015b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316036105eb57506000919050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03160361062c57506001919050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03160361066d57506002919050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316036106ae57506003919050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316036106ef57506004919050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03160361073057506005919050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03160361077157506006919050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316036107b257506007919050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316036107f357506008919050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03160361083457506009919050565b6040516303b1166f60e61b81526001600160a01b03831660048201526024016105a1565b600080610863610c7c565b9050600061087082610d5c565b61ffff169050806000036108b0576040517f8552ff3c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6108bb600283611a0a565b915060005b818110156109b55760006108d384610d96565b90506000806108e3606887611a0a565b905060006108f18236611a1d565b9050803592508265ffffffffffff16600003610939576040517f336dc9d000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b87600003610951578265ffffffffffff169750610992565b878365ffffffffffff1614610992576040517fd9d1f46500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61099c8488611a0a565b96505050505080806109ad90611a30565b9150506108c0565b50505090565b60607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166395d89b416040518163ffffffff1660e01b8152600401600060405180830381865afa158015610a1b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610a439190810190611a71565b604051602001610a539190611aed565b604051602081830303815290604052905090565b6000610a7582840184611b2e565b50600054909150600160801b900464ffffffffff168111610a9557505050565b610a9e81610dd2565b600080547fffffffffffffffffffffff0000000000ffffffffffffffffffffffffffffffff16600160801b64ffffffffff841602178155610afe7f0000000000000000000000000000000000000000000000000000000000000000610e2e565b905080600003610b3a576040517f53b798e200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000546fffffffffffffffffffffffffffffffff168114610bd357610b5e81610e9e565b600080547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff929092169190911790556040518181527f1a15ab7124a4e1ce00837351261771caf1691cd7d85ed3a0ac3157a1ee1a38059060200160405180910390a15b50505050565b6000610be482610f44565b92915050565b60606040517f608b530700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610c2c6103e883611bc9565b600054909150600160801b900464ffffffffff168114610c78576040517f13f5f29000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006602ed57011e0000601f1936013581161480610cc6576040517fe7764c9e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60003660291115610cea57604051632bcb7bc560e11b815260040160405180910390fd5b5060281936013560006009610d05600362ffffff8516611a0a565b610d0f9190611a0a565b905036610d1d600283611a0a565b1115610d55576040517fc30a7bd700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9392505050565b600080610d6a602084611a0a565b905036811115610d8d57604051632bcb7bc560e11b815260040160405180910390fd5b36033592915050565b6000806000610da484610f4f565b9092509050604e610db6826020611a0a565b610dc09084611bdd565b610dca9190611a0a565b949350505050565b80421015610e2157603c610de64283611a1d565b1115610e1e576040517f36764ab900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b610258610de68242611a1d565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610e6757610e67611bf4565b602002602001018181525050610e7c81610fa6565b600081518110610e8e57610e8e611bf4565b6020026020010151915050919050565b60006fffffffffffffffffffffffffffffffff821115610f40576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201527f323820626974730000000000000000000000000000000000000000000000000060648201526084016105a1565b5090565b6000610be482610fb1565b600080808080610f60604187611a0a565b90506000610f79610f72602084611a0a565b3690611085565b803594509050610f8a816003611085565b62ffffff9490941697933563ffffffff16965092945050505050565b6060610be482611091565b60008151600003610fee576040517f9e198af900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610ff78261129d565b6000600283516110079190611bc9565b9050600283516110179190611c0a565b6000036110735760006110668461102f600185611a1d565b8151811061103f5761103f611bf4565b602002602001015185848151811061105957611059611bf4565b60200260200101516112e5565b9050610dca600282611bc9565b828181518110610e8e57610e8e611bf4565b6000610d558284611a1d565b60606000825167ffffffffffffffff8111156110af576110af6118fa565b6040519080825280602002602001820160405280156110d8578160200160208202803683370190505b5090506000835167ffffffffffffffff8111156110f7576110f76118fa565b604051908082528060200260200182016040528015611120578160200160208202803683370190505b5090506000845167ffffffffffffffff81111561113f5761113f6118fa565b60405190808252806020026020018201604052801561117257816020015b606081526020019060019003908161115d5790505b50905060005b8551811015611217577f000000000000000000000000000000000000000000000000000000000000000060ff1667ffffffffffffffff8111156111bd576111bd6118fa565b6040519080825280602002602001820160405280156111e6578160200160208202803683370190505b508282815181106111f9576111f9611bf4565b6020026020010181905250808061120f90611a30565b915050611178565b506000611222610c7c565b9050600061122f82610d5c565b61ffff169050611240600283611a0a565b60405190925060005b828110156112865760006112608a898989896112f1565b905061126c8186611a0a565b94508260405250808061127e90611a30565b915050611249565b5061129184876115a9565b98975050505050505050565b8051602082016020820281019150805b82811015610bd357815b818110156112dc5781518151808210156112d2578084528183525b50506020016112b7565b506020016112ad565b6000610d558284611a0a565b60008060008061130085610f4f565b909250905060008080606081600d61132361131c602089611a0a565b89906116fd565b61132d9190611a0a565b9050600061133f610f7260688d611a0a565b9050600061135c8361135260418f611a0a565b610f729190611a0a565b9050611368838261137b565b935082602085012094508135965061139f565b60408051838152602081850181019092526000910183838237601f19019392505050565b6113b08765ffffffffffff16610c1e565b6113c4856113bf60418f611a0a565b611709565b95506113cf86610571565b60ff1699505050505050505060008060005b84811015611576576113f4888583611781565b909350915060005b8c51811015611563578c818151811061141757611417611bf4565b602002602001015184036115515760008b828151811061143957611439611bf4565b6020026020010151905061145281896001901b16151590565b15801561149a57507f000000000000000000000000000000000000000000000000000000000000000060ff168d838151811061149057611490611bf4565b6020026020010151105b1561154b578c82815181106114b1576114b1611bf4565b6020026020010180518091906114c690611a30565b81525050838b83815181106114dd576114dd611bf4565b602002602001015160018f85815181106114f9576114f9611bf4565b602002602001015161150b9190611a1d565b8151811061151b5761151b611bf4565b60209081029190910101526001881b81178c838151811061153e5761153e611bf4565b6020026020010181815250505b50611563565b8061155b81611a30565b9150506113fc565b508061156e81611a30565b9150506113e1565b505050816020826115879190611a0a565b6115919190611bdd565b61159c90604e611a0a565b9998505050505050505050565b60606000835167ffffffffffffffff8111156115c7576115c76118fa565b6040519080825280602002602001820160405280156115f0578160200160208202803683370190505b50905060ff7f00000000000000000000000000000000000000000000000000000000000000001660005b85518110156116f3578185828151811061163657611636611bf4565b6020026020010151101561169c5784818151811061165657611656611bf4565b6020026020010151826040517f2b13aef50000000000000000000000000000000000000000000000000000000081526004016105a1929190918252602082015260400190565b60006116c08783815181106116b3576116b3611bf4565b6020026020010151610bd9565b9050808483815181106116d5576116d5611bf4565b602090810291909101015250806116eb81611a30565b91505061161a565b5090949350505050565b6000610d558284611bdd565b60408051600080825260208083018085528690523685900380850135831a948401859052803560608501819052910135608084018190529193909260019060a0016020604051602081039080840390855afa15801561176c573d6000803e3d6000fd5b5050604051601f190151979650505050505050565b60008080611790604e87611a0a565b905060006117bd6117b66117a5602089611a0a565b6117b0886001611a0a565b906116fd565b83906112e5565b905060006117cb3683611085565b80359960209091013598509650505050505050565b6000602082840312156117f257600080fd5b81356001600160a01b0381168114610d5557600080fd5b602081016016831061182b57634e487b7160e01b600052602160045260246000fd5b91905290565b60005b8381101561184c578181015183820152602001611834565b50506000910152565b6020815260008251806020840152611874816040850160208701611831565b601f01601f19169190910160400192915050565b6000806020838503121561189b57600080fd5b823567ffffffffffffffff808211156118b357600080fd5b818501915085601f8301126118c757600080fd5b8135818111156118d657600080fd5b8660208285010111156118e857600080fd5b60209290920196919550909350505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611939576119396118fa565b604052919050565b6000602080838503121561195457600080fd5b823567ffffffffffffffff8082111561196c57600080fd5b818501915085601f83011261198057600080fd5b813581811115611992576119926118fa565b8060051b91506119a3848301611910565b81815291830184019184810190888411156119bd57600080fd5b938501935b83851015611291578435825293850193908501906119c2565b6000602082840312156119ed57600080fd5b5035919050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610be457610be46119f4565b81810381811115610be457610be46119f4565b600060018201611a4257611a426119f4565b5060010190565b600067ffffffffffffffff821115611a6357611a636118fa565b50601f01601f191660200190565b600060208284031215611a8357600080fd5b815167ffffffffffffffff811115611a9a57600080fd5b8201601f81018413611aab57600080fd5b8051611abe611ab982611a49565b611910565b818152856020838501011115611ad357600080fd5b611ae4826020830160208601611831565b95945050505050565b60008251611aff818460208701611831565b7f202f205553442052656473746f6e652070726963652066656564000000000000920191825250601a01919050565b60008060408385031215611b4157600080fd5b82359150602083013567ffffffffffffffff811115611b5f57600080fd5b8301601f81018513611b7057600080fd5b8035611b7e611ab982611a49565b818152866020838501011115611b9357600080fd5b816020840160208301376000602083830101528093505050509250929050565b634e487b7160e01b600052601260045260246000fd5b600082611bd857611bd8611bb3565b500490565b8082028115828204841417610be457610be46119f4565b634e487b7160e01b600052603260045260246000fd5b600082611c1957611c19611bb3565b50069056fea2646970667358221220f204fdcd07153fc5ddaf69c340928f6b5b05a329d6a5715f3dec8a030a2e324c64736f6c6343000811003300000000000000000000000097ad75064b20fb2b2447fed4fa953bf7f007a7066265726153544f4e455f46554e44414d454e54414c00000000000000000000000000000000000000000000008bb8f32df04c8b654987daaed53d6b6091e3b774000000000000000000000000deb22f54738d54976c4c0fe5ce6d408e40d8849900000000000000000000000051ce04be4b3e32572c4ec9135221d0691ba7d202000000000000000000000000dd682daec5a90dd295d14da4b0bec9281017b5be0000000000000000000000009c5ae89c4af6aa32ce58588dbaf90d18a855b6de000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005