You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -111,10 +116,16 @@ impl TryFrom<RequestRow> for RequestStatus {
111
116
))?;
112
117
let provider_random_number:[u8;32] =
113
118
hex::FromHex::from_hex(provider_random_number)?;
119
+
let gas_used = row.gas_used.ok_or(anyhow::anyhow!(
120
+
"Gas used is missing for completed request"
121
+
))?;
122
+
let gas_used = U256::from_dec_str(&gas_used)
123
+
.map_err(|_| anyhow::anyhow!("Failed to parse gas used"))?;
114
124
RequestEntryState::Completed{
115
125
reveal_block_number,
116
126
reveal_tx_hash,
117
127
provider_random_number,
128
+
gas_used,
118
129
}
119
130
}
120
131
"Failed" => RequestEntryState::Failed{
@@ -220,22 +231,31 @@ impl History {
220
231
reveal_block_number,
221
232
reveal_tx_hash,
222
233
provider_random_number,
234
+
gas_used
223
235
} => {
224
236
let reveal_block_number = reveal_block_number asi64;
225
237
let reveal_tx_hash:String = reveal_tx_hash.encode_hex();
226
238
let provider_random_number:String = provider_random_number.encode_hex();
227
-
sqlx::query!("UPDATE request SET state = ?, last_updated_at = ?, reveal_block_number = ?, reveal_tx_hash = ?, provider_random_number = ? WHERE chain_id = ? AND sequence = ? AND provider = ? AND request_tx_hash = ?",
239
+
let gas_used:String = gas_used.to_string();
240
+
let result = sqlx::query!("UPDATE request SET state = ?, last_updated_at = ?, reveal_block_number = ?, reveal_tx_hash = ?, provider_random_number =?, gas_used = ? WHERE chain_id = ? AND sequence = ? AND provider = ? AND request_tx_hash = ?",
228
241
"Completed",
229
242
new_status.last_updated_at,
230
243
reveal_block_number,
231
244
reveal_tx_hash,
232
245
provider_random_number,
246
+
gas_used,
233
247
chain_id,
234
248
sequence,
235
249
provider,
236
250
request_tx_hash)
237
251
.execute(pool)
238
-
.await
252
+
.await;
253
+
ifletOk(query_result) = &result {
254
+
if query_result.rows_affected() == 0{
255
+
tracing::error!("Failed to update request status to complete: No rows affected. Chain ID: {}, Sequence: {}, Request TX Hash: {}", chain_id, sequence, request_tx_hash);
0 commit comments