Skip to content

Commit 9efd8d9

Browse files
committed
fix(coprocessor): fix tests and query cache after host-listener update
1 parent d1b9fd7 commit 9efd8d9

File tree

7 files changed

+60
-52
lines changed

7 files changed

+60
-52
lines changed

coprocessor/fhevm-engine/host-listener/.sqlx/query-e4260b9ba59d978d5504b787a0002c6eec8c6b95b2cb8b5da83f8885fb273c39.json renamed to coprocessor/fhevm-engine/host-listener/.sqlx/query-0fe024db8ce4cb065633e9f02bd96e67b62460c4d725030ce6fb3b488d0541a7.json

Lines changed: 4 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coprocessor/fhevm-engine/host-listener/src/database/tfhe_event_propagate.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -716,9 +716,7 @@ pub fn tfhe_result_handle(op: &TfheContractEvents) -> Option<Handle> {
716716
| E::FheNot(C::FheNot { result, .. })
717717
| E::FheRand(C::FheRand { result, .. })
718718
| E::FheRandBounded(C::FheRandBounded { result, .. })
719-
| E::TrivialEncrypt(C::TrivialEncrypt { result, .. }) => {
720-
Some(result.clone())
721-
}
719+
| E::TrivialEncrypt(C::TrivialEncrypt { result, .. }) => Some(*result),
722720

723721
E::Initialized(_)
724722
| E::OwnershipTransferStarted(_)

coprocessor/fhevm-engine/stress-test-generator/src/dex.rs

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ async fn dex_swap_request_update_dex_balance(
6060
result: sent_amount,
6161
scalarByte: ScalarByte::from(false as u8),
6262
}));
63-
insert_tfhe_event(listener_event_to_db, transaction_id, event).await?;
63+
insert_tfhe_event(listener_event_to_db, transaction_id, event, false).await?;
6464
Ok((sent_amount, new_current_balance))
6565
}
6666

@@ -97,7 +97,7 @@ async fn dex_swap_request_finalize(
9797
result: pending_in,
9898
scalarByte: ScalarByte::from(false as u8),
9999
}));
100-
insert_tfhe_event(listener_event_to_db, transaction_id, event).await?;
100+
insert_tfhe_event(listener_event_to_db, transaction_id, event, true).await?;
101101
let pending_total_token_in = next_random_handle(DEF_TYPE);
102102
let event = tfhe_event(TfheContractEvents::FheAdd(TfheContract::FheAdd {
103103
caller,
@@ -106,7 +106,7 @@ async fn dex_swap_request_finalize(
106106
result: pending_total_token_in,
107107
scalarByte: ScalarByte::from(false as u8),
108108
}));
109-
insert_tfhe_event(listener_event_to_db, transaction_id, event).await?;
109+
insert_tfhe_event(listener_event_to_db, transaction_id, event, true).await?;
110110
Ok((pending_in, pending_total_token_in))
111111
}
112112

@@ -298,14 +298,15 @@ async fn dex_swap_claim_prepare(
298298
toType: crate::utils::FheType::FheUint128 as u8,
299299
result: big_pending_1_in,
300300
}));
301-
insert_tfhe_event(listener_event_to_db, transaction_id, event).await?;
301+
insert_tfhe_event(listener_event_to_db, transaction_id, event, false).await?;
302302
let total_dex_token_0_out_te = generate_trivial_encrypt(
303303
contract_address,
304304
user_address,
305305
transaction_id,
306306
listener_event_to_db,
307307
Some(crate::utils::FheType::FheUint128),
308308
Some(total_dex_token_0_out.into()),
309+
false,
309310
)
310311
.await?;
311312
let big_amount_0_out_mul = next_random_handle(crate::utils::FheType::FheUint128);
@@ -316,14 +317,15 @@ async fn dex_swap_claim_prepare(
316317
result: big_amount_0_out_mul,
317318
scalarByte: ScalarByte::from(false as u8),
318319
}));
319-
insert_tfhe_event(listener_event_to_db, transaction_id, event).await?;
320+
insert_tfhe_event(listener_event_to_db, transaction_id, event, false).await?;
320321
let total_dex_token_1_in_te = generate_trivial_encrypt(
321322
contract_address,
322323
user_address,
323324
transaction_id,
324325
listener_event_to_db,
325326
Some(crate::utils::FheType::FheUint128),
326327
Some(total_dex_token_1_in.into()),
328+
false,
327329
)
328330
.await?;
329331
let big_amount_0_out_div = next_random_handle(crate::utils::FheType::FheUint128);
@@ -334,15 +336,15 @@ async fn dex_swap_claim_prepare(
334336
result: big_amount_0_out_div,
335337
scalarByte: ScalarByte::from(false as u8),
336338
}));
337-
insert_tfhe_event(listener_event_to_db, transaction_id, event).await?;
339+
insert_tfhe_event(listener_event_to_db, transaction_id, event, false).await?;
338340
amount_0_out = next_random_handle(crate::utils::FheType::FheUint64);
339341
let event = tfhe_event(TfheContractEvents::Cast(TfheContract::Cast {
340342
caller,
341343
ct: big_amount_0_out_div,
342344
toType: crate::utils::FheType::FheUint64 as u8,
343345
result: amount_0_out,
344346
}));
345-
insert_tfhe_event(listener_event_to_db, transaction_id, event).await?;
347+
insert_tfhe_event(listener_event_to_db, transaction_id, event, false).await?;
346348
}
347349
if total_dex_token_0_in != 0 {
348350
let big_pending_0_in = next_random_handle(crate::utils::FheType::FheUint128);
@@ -352,14 +354,15 @@ async fn dex_swap_claim_prepare(
352354
toType: crate::utils::FheType::FheUint128 as u8,
353355
result: big_pending_0_in,
354356
}));
355-
insert_tfhe_event(listener_event_to_db, transaction_id, event).await?;
357+
insert_tfhe_event(listener_event_to_db, transaction_id, event, false).await?;
356358
let total_dex_token_1_out_te = generate_trivial_encrypt(
357359
contract_address,
358360
user_address,
359361
transaction_id,
360362
listener_event_to_db,
361363
Some(crate::utils::FheType::FheUint128),
362364
Some(total_dex_token_1_out.into()),
365+
false,
363366
)
364367
.await?;
365368
let big_amount_1_out_mul = next_random_handle(crate::utils::FheType::FheUint128);
@@ -370,14 +373,15 @@ async fn dex_swap_claim_prepare(
370373
result: big_amount_1_out_mul,
371374
scalarByte: ScalarByte::from(false as u8),
372375
}));
373-
insert_tfhe_event(listener_event_to_db, transaction_id, event).await?;
376+
insert_tfhe_event(listener_event_to_db, transaction_id, event, false).await?;
374377
let total_dex_token_0_in_te = generate_trivial_encrypt(
375378
contract_address,
376379
user_address,
377380
transaction_id,
378381
listener_event_to_db,
379382
Some(crate::utils::FheType::FheUint128),
380383
Some(total_dex_token_0_in.into()),
384+
false,
381385
)
382386
.await?;
383387
let big_amount_1_out_div = next_random_handle(crate::utils::FheType::FheUint128);
@@ -388,15 +392,15 @@ async fn dex_swap_claim_prepare(
388392
result: big_amount_1_out_div,
389393
scalarByte: ScalarByte::from(false as u8),
390394
}));
391-
insert_tfhe_event(listener_event_to_db, transaction_id, event).await?;
395+
insert_tfhe_event(listener_event_to_db, transaction_id, event, false).await?;
392396
amount_1_out = next_random_handle(crate::utils::FheType::FheUint64);
393397
let event = tfhe_event(TfheContractEvents::Cast(TfheContract::Cast {
394398
caller,
395399
ct: big_amount_1_out_div,
396400
toType: crate::utils::FheType::FheUint64 as u8,
397401
result: amount_1_out,
398402
}));
399-
insert_tfhe_event(listener_event_to_db, transaction_id, event).await?;
403+
insert_tfhe_event(listener_event_to_db, transaction_id, event, false).await?;
400404
}
401405
Ok((amount_0_out, amount_1_out))
402406
}

coprocessor/fhevm-engine/stress-test-generator/src/erc20.rs

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ pub async fn erc20_transaction(
5454
result: has_enough_funds,
5555
scalarByte: ScalarByte::from(false as u8),
5656
}));
57-
insert_tfhe_event(listener_event_to_db, transaction_id, event).await?;
57+
insert_tfhe_event(listener_event_to_db, transaction_id, event, false).await?;
5858
let new_source = next_random_handle(DEF_TYPE);
5959
let new_destination = next_random_handle(DEF_TYPE);
6060
match variant {
@@ -67,8 +67,7 @@ pub async fn erc20_transaction(
6767
result: new_destination_target,
6868
scalarByte: ScalarByte::from(false as u8),
6969
}));
70-
insert_tfhe_event(listener_event_to_db, transaction_id, event).await?;
71-
70+
insert_tfhe_event(listener_event_to_db, transaction_id, event, false).await?;
7271
let event = tfhe_event(TfheContractEvents::FheIfThenElse(
7372
TfheContract::FheIfThenElse {
7473
caller,
@@ -78,15 +77,14 @@ pub async fn erc20_transaction(
7877
result: new_destination,
7978
},
8079
));
80+
insert_tfhe_event(listener_event_to_db, transaction_id, event, true).await?;
8181
allow_handle(
8282
&new_destination.to_vec(),
8383
AllowEvents::AllowedForDecryption,
8484
contract_address.to_string(),
8585
pool,
8686
)
8787
.await?;
88-
insert_tfhe_event(listener_event_to_db, transaction_id, event).await?;
89-
9088
let new_source_target = next_random_handle(DEF_TYPE);
9189
let event = tfhe_event(TfheContractEvents::FheSub(TfheContract::FheSub {
9290
caller,
@@ -95,7 +93,7 @@ pub async fn erc20_transaction(
9593
result: new_source_target,
9694
scalarByte: ScalarByte::from(false as u8),
9795
}));
98-
insert_tfhe_event(listener_event_to_db, transaction_id, event).await?;
96+
insert_tfhe_event(listener_event_to_db, transaction_id, event, false).await?;
9997
let event = tfhe_event(TfheContractEvents::FheIfThenElse(
10098
TfheContract::FheIfThenElse {
10199
caller,
@@ -105,14 +103,14 @@ pub async fn erc20_transaction(
105103
result: new_source,
106104
},
107105
));
106+
insert_tfhe_event(listener_event_to_db, transaction_id, event, true).await?;
108107
allow_handle(
109108
&new_source.to_vec(),
110109
AllowEvents::AllowedForDecryption,
111110
contract_address.to_string(),
112111
pool,
113112
)
114113
.await?;
115-
insert_tfhe_event(listener_event_to_db, transaction_id, event).await?;
116114
}
117115
ERCTransferVariant::NoCMUX => {
118116
let cast_has_enough_funds = next_random_handle(DEF_TYPE);
@@ -122,8 +120,7 @@ pub async fn erc20_transaction(
122120
toType: 5u8,
123121
result: cast_has_enough_funds,
124122
}));
125-
insert_tfhe_event(listener_event_to_db, transaction_id, event).await?;
126-
123+
insert_tfhe_event(listener_event_to_db, transaction_id, event, false).await?;
127124
let select_amount = next_random_handle(DEF_TYPE);
128125
let event = tfhe_event(TfheContractEvents::FheMul(TfheContract::FheMul {
129126
caller,
@@ -132,17 +129,15 @@ pub async fn erc20_transaction(
132129
result: select_amount,
133130
scalarByte: ScalarByte::from(false as u8),
134131
}));
135-
insert_tfhe_event(listener_event_to_db, transaction_id, event).await?;
136-
132+
insert_tfhe_event(listener_event_to_db, transaction_id, event, false).await?;
137133
let event = tfhe_event(TfheContractEvents::FheAdd(TfheContract::FheAdd {
138134
caller,
139135
lhs: destination,
140136
rhs: select_amount,
141137
result: new_destination,
142138
scalarByte: ScalarByte::from(false as u8),
143139
}));
144-
insert_tfhe_event(listener_event_to_db, transaction_id, event).await?;
145-
140+
insert_tfhe_event(listener_event_to_db, transaction_id, event, true).await?;
146141
allow_handle(
147142
&new_destination.to_vec(),
148143
AllowEvents::AllowedForDecryption,
@@ -157,8 +152,7 @@ pub async fn erc20_transaction(
157152
result: new_source,
158153
scalarByte: ScalarByte::from(false as u8),
159154
}));
160-
insert_tfhe_event(listener_event_to_db, transaction_id, event).await?;
161-
155+
insert_tfhe_event(listener_event_to_db, transaction_id, event, true).await?;
162156
allow_handle(
163157
&new_source.to_vec(),
164158
AllowEvents::AllowedForDecryption,

coprocessor/fhevm-engine/stress-test-generator/src/synthetics.rs

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ pub async fn add_chain_transaction(
2626
) -> Result<(Handle, Handle), Box<dyn std::error::Error>> {
2727
let caller = user_address.parse().unwrap();
2828
let transaction_id = transaction_id.unwrap_or_else(|| next_random_handle(DEF_TYPE));
29-
let counter =
29+
let mut counter =
3030
generate_random_handle_amount_if_none(ctx, counter, contract_address, user_address).await?;
3131

3232
let amount = match amount {
@@ -39,12 +39,13 @@ pub async fn add_chain_transaction(
3939
listener_event_to_db,
4040
Some(DEF_TYPE),
4141
None,
42+
false,
4243
)
4344
.await?
4445
}
4546
};
4647

47-
for _ in 0..length {
48+
for i in 0..length {
4849
let new_counter = next_random_handle(FheType::FheUint64);
4950
let event = tfhe_event(TfheContractEvents::FheAdd(TfheContract::FheAdd {
5051
caller,
@@ -53,7 +54,8 @@ pub async fn add_chain_transaction(
5354
result: new_counter,
5455
scalarByte: ScalarByte::from(false as u8),
5556
}));
56-
insert_tfhe_event(listener_event_to_db, transaction_id, event).await?;
57+
insert_tfhe_event(listener_event_to_db, transaction_id, event, i == length - 1).await?;
58+
counter = new_counter;
5759
}
5860
allow_handle(
5961
&counter.to_vec(),
@@ -92,12 +94,13 @@ pub async fn mul_chain_transaction(
9294
listener_event_to_db,
9395
Some(DEF_TYPE),
9496
None,
97+
false,
9598
)
9699
.await?
97100
}
98101
};
99102

100-
for _ in 0..length {
103+
for i in 0..length {
101104
let new_counter = next_random_handle(FheType::FheUint64);
102105
let event = tfhe_event(TfheContractEvents::FheMul(TfheContract::FheMul {
103106
caller,
@@ -106,7 +109,7 @@ pub async fn mul_chain_transaction(
106109
result: new_counter,
107110
scalarByte: ScalarByte::from(false as u8),
108111
}));
109-
insert_tfhe_event(listener_event_to_db, transaction_id, event).await?;
112+
insert_tfhe_event(listener_event_to_db, transaction_id, event, i == length - 1).await?;
110113
counter = new_counter;
111114
}
112115
allow_handle(
@@ -145,6 +148,7 @@ pub async fn generate_pub_decrypt_handles_types(
145148
listener_event_to_db,
146149
Some(type_num.into()),
147150
Some(type_num.into()),
151+
true,
148152
)
149153
.await?;
150154
allow_handle(
@@ -185,6 +189,7 @@ pub async fn generate_user_decrypt_handles_types(
185189
listener_event_to_db,
186190
Some(type_num.into()),
187191
Some(type_num.into()),
192+
true,
188193
)
189194
.await?;
190195
allow_handle(

coprocessor/fhevm-engine/stress-test-generator/src/utils.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,7 @@ pub async fn generate_trivial_encrypt(
208208
listener_event_to_db: &mut ListenerDatabase,
209209
ct_type: Option<FheType>,
210210
ct_value: Option<u128>,
211+
is_allowed: bool,
211212
) -> Result<Handle, Box<dyn std::error::Error>> {
212213
let caller = user_address.parse().unwrap();
213214
let ct_type = ct_type.unwrap_or(DEF_TYPE);
@@ -223,6 +224,7 @@ pub async fn generate_trivial_encrypt(
223224
},
224225
)),
225226
transaction_hash: Some(transaction_hash),
227+
is_allowed,
226228
};
227229
let mut tx = listener_event_to_db.new_transaction().await?;
228230
listener_event_to_db
@@ -368,12 +370,14 @@ pub async fn insert_tfhe_event(
368370
listener_event_to_db: &ListenerDatabase,
369371
transaction_hash: TransactionHash,
370372
event: Log<TfheContractEvents>,
373+
is_allowed: bool,
371374
) -> Result<(), Box<dyn std::error::Error>> {
372375
let started_at = tokio::time::Instant::now();
373376
let mut tx = listener_event_to_db.new_transaction().await?;
374377
let log = LogTfhe {
375378
event,
376379
transaction_hash: Some(transaction_hash),
380+
is_allowed,
377381
};
378382
listener_event_to_db
379383
.insert_tfhe_event(&mut tx, &log)

0 commit comments

Comments
 (0)