0 txs
346 calls
constructor
constructor(address _chainlinkToken, address _chainlinkOracle, bytes32 _jobId, uint256 _fee, uint64 _minTimeBetweenUpdates, uint128 _minDepositsSinceLastUpdate, uint64 _minBlockConfirmations, address _priorityPool)
functions
awaitingManualVerification
viewfunction awaitingManualVerification() view returns (uint128)
checkUpkeep
viewfunction checkUpkeep(bytes) view returns (bool, bytes)
fee
viewfunction fee() view returns (uint256)
jobId
viewfunction jobId() view returns (bytes32)
manualVerificationRequired
viewfunction manualVerificationRequired() view returns (uint128)
minBlockConfirmations
viewfunction minBlockConfirmations() view returns (uint64)
minDepositsSinceLastUpdate
viewfunction minDepositsSinceLastUpdate() view returns (uint128)
minTimeBetweenUpdates
viewfunction minTimeBetweenUpdates() view returns (uint64)
owner
viewfunction owner() view returns (address)
priorityPool
viewfunction priorityPool() view returns (address)
updateData
viewfunction updateData() view returns (bytes32 merkleRoot, bytes32 ipfsHash, uint256 amountDistributed, uint256 sharesAmountDistributed)
updateStatus
viewfunction updateStatus() view returns (uint64 timeOfLastUpdate, uint64 pausedAtBlockNumber, uint128 requestInProgress)
cancelRequest
nonpayablefunction cancelRequest(bytes32 _requestId, uint256 _expiration)
executeManualVerification
nonpayablefunction executeManualVerification()
fulfillRequest
nonpayablefunction fulfillRequest(bytes32 _requestId, bytes32 _merkleRoot, bytes32 _ipfsHash, uint256 _amountDistributed, uint256 _sharesAmountDistributed)
pauseForUpdate
nonpayablefunction pauseForUpdate()
performUpkeep
nonpayablefunction performUpkeep(bytes _performData)
rejectManualVerificationAndRetry
nonpayablefunction rejectManualVerificationAndRetry()
renounceOwnership
nonpayablefunction renounceOwnership()
requestUpdate
nonpayablefunction requestUpdate()
setChainlinkParams
nonpayablefunction setChainlinkParams(bytes32 _jobId, uint256 _fee)
setUpdateParams
nonpayablefunction setUpdateParams(uint64 _minTimeBetweenUpdates, uint128 _minDepositsSinceLastUpdate, uint64 _minBlockConfirmations)
toggleManualVerification
nonpayablefunction toggleManualVerification()
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
withdrawLink
nonpayablefunction withdrawLink(uint256 _amount)
events
ChainlinkCancelled
event ChainlinkCancelled(bytes32 indexed id)
ChainlinkFulfilled
event ChainlinkFulfilled(bytes32 indexed id)
ChainlinkRequested
event ChainlinkRequested(bytes32 indexed id)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
SetChainlinkParams
event SetChainlinkParams(bytes32 jobId, uint256 fee)
SetUpdateParams
event SetUpdateParams(uint64 minTimeBetweenUpdates, uint128 minDepositsSinceLastUpdate, uint64 minBlockConfirmations)
ToggleManualVerification
event ToggleManualVerification(uint128 manualVerificationRequired)
errors
AwaitingManualVerification
error AwaitingManualVerification()
InsufficientBalance
error InsufficientBalance()
InsufficientBlockConfirmations
error InsufficientBlockConfirmations()
InvalidUpkeepType
error InvalidUpkeepType()
NotPaused
error NotPaused()
NoVerificationPending
error NoVerificationPending()
RequestInProgress
error RequestInProgress()
UpdateConditionsNotMet
error UpdateConditionsNotMet()
creation bytecode
0x60a060405260016004553480156200001657600080fd5b506040516200219a3803806200219a83398101604081905262000039916200018f565b620000443362000108565b600280546001600160a01b0319166001600160a01b038a16179055600380546001600160a01b0319166001600160a01b038916179055600795909555600893909355600980546001600160401b039485166801000000000000000002600160401b600160801b03196001600160801b03909416600160801b026fffffffffffffffff0000000000000000909216959094169490941793909317161790556001600160a01b03166080525050600b80546001600160801b031916600117905562000233565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80516001600160a01b03811681146200017257600080fd5b919050565b80516001600160401b03811681146200017257600080fd5b600080600080600080600080610100898b031215620001ad57600080fd5b620001b8896200015a565b9750620001c860208a016200015a565b96506040890151955060608901519450620001e660808a0162000177565b60a08a01519094506001600160801b03811681146200020457600080fd5b92506200021460c08a0162000177565b91506200022460e08a016200015a565b90509295985092959890939650565b608051611f136200028760003960008181610356015281816104b8015281816106eb0152818161076f015281816108640152818161092001528181610ae801528181610eff015261101b0152611f136000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c80638da5cb5b116100de578063c2939d9711610097578063ddca3f4311610071578063ddca3f43146103c4578063ec8eadbe146103cd578063f2fde38b146103d5578063f5ca2b6c146103e857600080fd5b8063c2939d9714610392578063c51df75d146103a9578063cfbf915b146103bc57600080fd5b80638da5cb5b146102d45780638e00a2bb146102f95780639c312cfd1461032f578063ae1bcfc114610337578063b5169e5314610351578063b919e7081461037857600080fd5b80635f60f485116101305780635f60f4851461021d5780636e04ff0d1461027d578063707072e21461029e578063715018a6146102a65780637a8042bd146102ae5780637b4c1648146102c157600080fd5b80630b9259271461017857806319a6e9e6146101825780633109f576146101b25780633b89581f146101e45780634585e33b146101f7578063499a2dea1461020a575b600080fd5b6101806103fb565b005b600954610195906001600160401b031681565b6040516001600160401b0390911681526020015b60405180910390f35b6009546101cc90600160801b90046001600160801b031681565b6040516001600160801b0390911681526020016101a9565b600b546101cc906001600160801b031681565b610180610205366004611a27565b61046e565b610180610218366004611a98565b61059e565b600a5461024e906001600160401b0380821691600160401b810490911690600160801b90046001600160801b031683565b604080516001600160401b0394851681529390921660208401526001600160801b0316908201526060016101a9565b61029061028b366004611a27565b610767565b6040516101a9929190611b20565b610180610a69565b610180610b4e565b6101806102bc366004611b3b565b610b62565b6101806102cf366004611b54565b610c18565b6006546001600160a01b03165b6040516001600160a01b0390911681526020016101a9565b600c54600d54600e54600f5461030f9392919084565b6040805194855260208501939093529183015260608201526080016101a9565b610180610c67565b600b546101cc90600160801b90046001600160801b031681565b6102e17f000000000000000000000000000000000000000000000000000000000000000081565b60095461019590600160401b90046001600160401b031681565b61039b60075481565b6040519081526020016101a9565b6101806103b7366004611b92565b610c77565b610180610d20565b61039b60085481565b610180610d30565b6101806103e3366004611be3565b610d82565b6101806103f6366004611b54565b610dfb565b610403610e2b565b600b546001600160801b031660011461041d576001610420565b60005b600b80546001600160801b03191660ff9290921691821790556040519081527f57599e5c77554b728e2e26fb1ab59dd5a6c62ebcb96a87585f8bad46f64ceb009060200160405180910390a1565b600061047c82840184611c13565b9050600081600181111561049257610492611c34565b0361056457600960109054906101000a90046001600160801b03166001600160801b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638945621b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610514573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105389190611c4a565b101561055757604051637e8b026360e01b815260040160405180910390fd5b61055f610e85565b505050565b600181600181111561057857610578611c34565b036105855761055f610fc9565b604051630b77359760e41b815260040160405180910390fd5b60008581526005602052604090205485906001600160a01b0316331461061c5760405162461bcd60e51b815260206004820152602860248201527f536f75726365206d75737420626520746865206f7261636c65206f6620746865604482015267081c995c5d595cdd60c21b60648201526084015b60405180910390fd5b60008181526005602052604080822080546001600160a01b03191690555182917f7cc135e0cebb02c3480ae5d74d377283180a2601f8f644edf7987b009316c63a91a2600b546001600160801b03166001036106c0576040805160808101825286815260208101869052908101849052606001829052600c859055600d849055600e839055600f829055600b80546001600160801b0316600160801b179055610750565b60405163661d208160e01b8152600481018690526024810185905260448101849052606481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063661d208190608401600060405180830381600087803b15801561073757600080fd5b505af115801561074b573d6000803e3d6000fd5b505050505b5050600a80546001600160801b0316905550505050565b6000606060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ef9190611c63565b15801561080c5750600b54600160801b90046001600160801b0316155b801561083c5750600954600a5461082f916001600160401b039081169116611c9b565b6001600160401b03164210155b80156108e75750600960109054906101000a90046001600160801b03166001600160801b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638945621b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e49190611c4a565b10155b9050801561091c57600160006040516020016109039190611cc6565b6040516020818303038152906040529250925050610a62565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c975abb6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561097c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a09190611c63565b80156109bc5750600b54600160801b90046001600160801b0316155b80156109d85750600a54600160801b90046001600160801b0316155b8015610a145750600954600a54610a07916001600160401b03600160401b918290048116929190910416611c9b565b6001600160401b03164310155b90508015610a4957600180604051602001610a2f9190611cc6565b604051602081830303815290604052935093505050610a62565b6000604051806020016040528060008152509350935050505b9250929050565b610a71610e2b565b600b54600160801b90046001600160801b0316600003610aa457604051633d75612960e01b815260040160405180910390fd5b600b80546001600160801b03169055600c54600d54600e54600f5460405163661d208160e01b815260048101949094526024840192909252604483015260648201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063661d208190608401600060405180830381600087803b158015610b3457600080fd5b505af1158015610b48573d6000803e3d6000fd5b50505050565b610b56610e2b565b610b6060006111d9565b565b610b6a610e2b565b6000610b7e6002546001600160a01b031690565b60405163a9059cbb60e01b8152336004820152602481018490529091506001600160a01b0382169063a9059cbb906044016020604051808303816000875af1158015610bce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf29190611c63565b1515600114610c1457604051631e9acf1760e31b815260040160405180910390fd5b5050565b610c20610e2b565b6007829055600881905560408051838152602081018390527f4901a18e5855c65d9ec4cccdb426e660eb091a27964eb80e36c5e6fd35dd98a3910160405180910390a15050565b610c6f610e2b565b610b60610fc9565b610c7f610e2b565b600980546001600160401b038581166fffffffffffffffff00000000000000009092168217600160801b6001600160801b038716908102919091176fffffffffffffffff00000000000000001916600160401b928616928302179093556040805192835260208301939093528183015290517fe53e10d563efbcf1ade8dcd90d15edb3425b24ed7e76c9c909feaa80a1ff88d89181900360600190a1505050565b610d28610e2b565b610b60610e85565b610d38610e2b565b600b54600160801b90046001600160801b0316600003610d6b57604051633d75612960e01b815260040160405180910390fd5b600b80546001600160801b03169055610b60610fc9565b610d8a610e2b565b6001600160a01b038116610def5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610613565b610df8816111d9565b50565b610e03610e2b565b610e188260085463499a2dea60e01b8461122b565b5050600a80546001600160801b03169055565b6006546001600160a01b03163314610b605760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610613565b600954600a54610ea1916001600160401b039081169116611c9b565b6001600160401b0316421015610eca57604051637e8b026360e01b815260040160405180910390fd5b600b54600160801b90046001600160801b0316600103610efd57604051635bca6cb960e01b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663cfbf915b6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610f5857600080fd5b505af1158015610f6c573d6000803e3d6000fd5b5050604080516060810182526001600160401b03428116808352439091166020830181905260009290930191909152600a8054600160401b9093026001600160801b0319909316909117919091176001600160801b031690555050565b60408051606081018252600a546001600160401b038082168352600160401b820416602080840191909152600160801b9091046001600160801b0316828401528251635c975abb60e01b8152925191927f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031692635c975abb926004808401939192918290030181865afa15801561106c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110909190611c63565b6110ad57604051636cd6020160e01b815260040160405180910390fd5b60095460208201516110cf91600160401b90046001600160401b031690611c9b565b6001600160401b03164310156110f857604051630ba86cd360e31b815260040160405180910390fd5b80604001516001600160801b0316600103611126576040516303ead14560e11b815260040160405180910390fd5b600b54600160801b90046001600160801b031660010361115957604051635bca6cb960e01b815260040160405180910390fd5b600a80546001600160801b0316600160801b17905560075460009061118690306324cd16f560e11b6112fd565b90506111cd6040518060400160405280600b81526020016a313637b1b5a73ab6b132b960a91b81525083602001516001600160401b0316836113229092919063ffffffff16565b61055f81600854611340565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60008481526005602052604080822080546001600160a01b0319811690915590516001600160a01b039091169186917fe1fe3afa0f7f761ff0a8b89086790efd5140d2907ebd5b7ff6bfcb5e075fd4c59190a2604051636ee4d55360e01b815260048101869052602481018590526001600160e01b031984166044820152606481018390526001600160a01b03821690636ee4d55390608401600060405180830381600087803b1580156112de57600080fd5b505af11580156112f2573d6000803e3d6000fd5b505050505050505050565b6113056119ec565b61130d6119ec565b61131981868686611363565b95945050505050565b608083015161133190836113a9565b608083015161055f90826113c0565b60035460009061135a906001600160a01b031684846113e5565b90505b92915050565b61136b6119ec565b61137b8560800151610100611478565b50508284526001600160a01b03821660208501526001600160e01b031981166040850152835b949350505050565b6113b682600383516114dd565b61055f82826115e4565b6001600160401b038111156113d957610c14828261160b565b610c14826000836114dd565b6004546000906113f6816001611cee565b600455835160408086015160808701515191516000936320214ca360e11b9361142e9386938493923092918a91600191602401611d06565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152905061146e86838684611642565b9695505050505050565b604080518082019091526060815260006020820152611498602083611d6e565b156114c0576114a8602083611d6e565b6114b3906020611d90565b6114bd9083611cee565b91505b506020828101829052604080518085526000815290920101905290565b6017816001600160401b03161161150157610b488360e0600585901b1683176117a0565b60ff816001600160401b03161161153d57611527836018611fe0600586901b16176117a0565b50610b48836001600160401b03831660016117c5565b61ffff816001600160401b03161161157a57611564836019611fe0600586901b16176117a0565b50610b48836001600160401b03831660026117c5565b63ffffffff816001600160401b0316116115b9576115a383601a611fe0600586901b16176117a0565b50610b48836001600160401b03831660046117c5565b6115ce83601b611fe0600586901b16176117a0565b50610b48836001600160401b03831660086117c5565b60408051808201909152606081526000602082015261135a838460000151518485516117eb565b6116168260c26117a0565b50610c14828260405160200161162e91815260200190565b6040516020818303038152906040526118d5565b6040516bffffffffffffffffffffffff193060601b1660208201526034810184905260009060540160408051808303601f1901815282825280516020918201206000818152600590925291812080546001600160a01b0319166001600160a01b038a1617905590925082917fb5e6e01e79f91267dc17b4e6314d5d4d03593d2ceee0fbb452b750bd70ea5af99190a2600254604051630200057560e51b81526001600160a01b0390911690634000aea09061170590889087908790600401611da7565b6020604051808303816000875af1158015611724573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117489190611c63565b6113a15760405162461bcd60e51b815260206004820152602360248201527f756e61626c6520746f207472616e73666572416e6443616c6c20746f206f7261604482015262636c6560e81b6064820152608401610613565b60408051808201909152606081526000602082015261135a83846000015151846118e2565b6040805180820190915260608152600060208201526113a184856000015151858561193d565b604080518082019091526060815260006020820152825182111561180e57600080fd5b602085015161181d8386611cee565b111561185057611850856118408760200151878661183b9190611cee565b6119be565b61184b906002611dce565b6119d5565b60008086518051876020830101935080888701111561186f5787860182525b505050602084015b602084106118af578051825261188e602083611cee565b915061189b602082611cee565b90506118a8602085611d90565b9350611877565b51815160001960208690036101000a019081169019919091161790525083949350505050565b6113b682600283516114dd565b6040805180820190915260608152600060208201528360200151831061191757611917848560200151600261184b9190611dce565b8351805160208583010184815350808503611933576001810182525b5093949350505050565b60408051808201909152606081526000602082015260208501516119618584611cee565b111561197557611975856118408685611cee565b6000600161198584610100611ed1565b61198f9190611d90565b90508551838682010185831982511617815250805184870111156119b35783860181525b509495945050505050565b6000818311156119cf57508161135d565b50919050565b81516119e18383611478565b50610b4883826115e4565b6040805160a0810182526000808252602080830182905282840182905260608084018390528451808601909552845283015290608082015290565b60008060208385031215611a3a57600080fd5b82356001600160401b0380821115611a5157600080fd5b818501915085601f830112611a6557600080fd5b813581811115611a7457600080fd5b866020828501011115611a8657600080fd5b60209290920196919550909350505050565b600080600080600060a08688031215611ab057600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b6000815180845260005b81811015611af957602081850181015186830182015201611add565b81811115611b0b576000602083870101525b50601f01601f19169290920160200192915050565b82151581526040602082015260006113a16040830184611ad3565b600060208284031215611b4d57600080fd5b5035919050565b60008060408385031215611b6757600080fd5b50508035926020909101359150565b80356001600160401b0381168114611b8d57600080fd5b919050565b600080600060608486031215611ba757600080fd5b611bb084611b76565b925060208401356001600160801b0381168114611bcc57600080fd5b9150611bda60408501611b76565b90509250925092565b600060208284031215611bf557600080fd5b81356001600160a01b0381168114611c0c57600080fd5b9392505050565b600060208284031215611c2557600080fd5b813560028110611c0c57600080fd5b634e487b7160e01b600052602160045260246000fd5b600060208284031215611c5c57600080fd5b5051919050565b600060208284031215611c7557600080fd5b81518015158114611c0c57600080fd5b634e487b7160e01b600052601160045260246000fd5b60006001600160401b03808316818516808303821115611cbd57611cbd611c85565b01949350505050565b6020810160028310611ce857634e487b7160e01b600052602160045260246000fd5b91905290565b60008219821115611d0157611d01611c85565b500190565b6001600160a01b0389811682526020820189905260408201889052861660608201526001600160e01b03198516608082015260a0810184905260c0810183905261010060e08201819052600090611d5f83820185611ad3565b9b9a5050505050505050505050565b600082611d8b57634e487b7160e01b600052601260045260246000fd5b500690565b600082821015611da257611da2611c85565b500390565b60018060a01b03841681528260208201526060604082015260006113196060830184611ad3565b6000816000190483118215151615611de857611de8611c85565b500290565b600181815b80851115611e28578160001904821115611e0e57611e0e611c85565b80851615611e1b57918102915b93841c9390800290611df2565b509250929050565b600082611e3f5750600161135d565b81611e4c5750600061135d565b8160018114611e625760028114611e6c57611e88565b600191505061135d565b60ff841115611e7d57611e7d611c85565b50506001821b61135d565b5060208310610133831016604e8410600b8410161715611eab575081810a61135d565b611eb58383611ded565b8060001904821115611ec957611ec9611c85565b029392505050565b600061135a8383611e3056fea2646970667358221220570b60317028e5c56f7f6441d73059b652c10cbd04cae1951c30554986626a9d64736f6c634300080f0033000000000000000000000000514910771af9ca656af840dff83e8264ecf986ca0000000000000000000000001152c76a0b3acc9856b1d8ee9ebdf2a2d0a01cc300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001518000000000000000000000000000000000000000000000003635c9adc5dea00000000000000000000000000000000000000000000000000000000000000000004b000000000000000000000000ddc796a66e8b83d0bccd97df33a6ccfba8fd60ea