@@ -19,6 +19,7 @@ pragma solidity 0.7.3;
1919pragma experimental ABIEncoderV2;
2020
2121import "@chainlink/contracts/src/v0.7/ChainlinkClient.sol " ;
22+ import "./../../lib/dappsys/erc20.sol " ;
2223
2324
2425contract Snaplink is ChainlinkClient {
@@ -33,11 +34,11 @@ contract Snaplink is ChainlinkClient {
3334 uint256 constant WAD = 10 ** 18 ;
3435 bytes4 constant SELECTOR = bytes4 (keccak256 ("fulfill(bytes32,uint256 " ));
3536
36- constructor (address _oracle , bytes32 _jobId , uint256 _fee ) public {
37+ constructor () public {
3738 setPublicChainlinkToken ();
38- oracle = _oracle; // 0xc57B33452b4F7BB189bB5AfaE9cc4aBa1f7a4FD8 ;
39- jobId = _jobId; // "d5270d1c311941d0b08bead21fea7747 ";
40- fee = _fee; // 0.1 * WAD
39+ oracle = 0x3A56aE4a2831C3d3514b5D7Af5578E45eBDb7a40 ;
40+ jobId = " b7ca0d48c7a4b2da9268456665d11ae " ;
41+ fee = WAD / 10 ;
4142 }
4243
4344 function requestVolumeData () public returns (bytes32 requestId ) {
@@ -47,7 +48,8 @@ contract Snaplink is ChainlinkClient {
4748 request.add ("path " , "RAW.ETH.USD.VOLUME24HOUR " );
4849 request.addInt ("times " , int256 (WAD));
4950
50- return sendChainlinkRequestTo (oracle, request, fee);
51+ require (ERC20 (chainlinkTokenAddress ()).balanceOf (address (this )) >= fee, "insufficient-balance " );
52+ requestId = sendChainlinkRequestTo (oracle, request, fee);
5153 }
5254
5355 function fulfill (bytes32 _requestId , uint256 _volume )
0 commit comments