Skip to content

Commit 97de9b4

Browse files
committed
update CheckBalance contract to store response as bytes and add balance retrieval functionality
1 parent 41ae983 commit 97de9b4

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

src/CheckBalance.sol

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)