@@ -9,7 +9,7 @@ contract CheckBalance is FunctionsClient, ConfirmedOwner {
99 using FunctionsRequest for FunctionsRequest.Request;
1010
1111 bytes32 private s_lastRequestId;
12- uint256 private s_lastResponse;
12+ bytes private s_lastResponse;
1313 bytes private s_lastError;
1414 uint32 private s_gasLimit = 300000 ;
1515 bytes32 private s_donID;
@@ -28,10 +28,11 @@ contract CheckBalance is FunctionsClient, ConfirmedOwner {
2828 "} "
2929 "const { data } = apiResponse; "
3030 "return Functions.encodeString(data.result); " ;
31+ uint256 private s_balance;
3132
3233 error UnexpectedRequestID (bytes32 requestId );
3334
34- event Response (bytes32 indexed requestId , uint256 response , bytes err );
35+ event Response (bytes32 indexed requestId , bytes response , bytes err );
3536
3637 constructor (
3738 string memory _chainBaseUrl ,
@@ -78,9 +79,10 @@ contract CheckBalance is FunctionsClient, ConfirmedOwner {
7879 revert UnexpectedRequestID (requestId); // Check if request IDs match
7980 }
8081 // Update the contract's state variables with the response and any errors
81- string memory responseString = abi.decode (response, (string ));
82- s_lastResponse = stringToUint256 (responseString);
82+ s_lastResponse = response;
8383 s_lastError = err;
84+ string memory balanceString = string (response);
85+ s_balance = stringToUint256 (balanceString);
8486
8587 // Emit an event to log the response
8688 emit Response (requestId, s_lastResponse, s_lastError);
@@ -100,11 +102,15 @@ contract CheckBalance is FunctionsClient, ConfirmedOwner {
100102 }
101103 }
102104
103- function getResponse () external view returns (uint256 ) {
105+ function getResponse () external view returns (bytes memory ) {
104106 return s_lastResponse;
105107 }
106108
107109 function getLastError () external view returns (bytes memory ) {
108110 return s_lastError;
109111 }
112+
113+ function getBalance () external view returns (uint256 ) {
114+ return s_balance;
115+ }
110116}
0 commit comments