@@ -7,6 +7,8 @@ use crate::{
7
7
},
8
8
hash:: pedersen_hash ,
9
9
};
10
+ use dep::std::ops::Eq ;
11
+ use crate::traits::Hash ;
10
12
11
13
// docs:start:call-context
12
14
struct CallContext {
@@ -24,6 +26,26 @@ struct CallContext {
24
26
}
25
27
// docs:end:call-context
26
28
29
+ impl Eq for CallContext {
30
+ fn eq (self , call_context : CallContext ) -> bool {
31
+ // TODO(https://github.com/AztecProtocol/aztec-packages/issues/3595)
32
+ call_context .msg_sender .eq (self .msg_sender )
33
+ & call_context .storage_contract_address .eq (self .storage_contract_address )
34
+ & call_context .portal_contract_address .eq (self .portal_contract_address )
35
+ & call_context .function_selector .eq (self .function_selector )
36
+ & (call_context .is_delegate_call == self .is_delegate_call )
37
+ & (call_context .is_static_call == self .is_static_call )
38
+ & (call_context .is_contract_deployment == self .is_contract_deployment )
39
+ & (call_context .start_side_effect_counter == self .start_side_effect_counter )
40
+ }
41
+ }
42
+
43
+ impl Hash for CallContext {
44
+ fn hash (self ) -> Field {
45
+ pedersen_hash (self .serialize (), GENERATOR_INDEX__CALL_CONTEXT )
46
+ }
47
+ }
48
+
27
49
impl CallContext {
28
50
fn serialize (self ) -> [Field ; CALL_CONTEXT_LENGTH ] {
29
51
[
@@ -38,10 +60,6 @@ impl CallContext {
38
60
]
39
61
}
40
62
41
- fn hash (self ) -> Field {
42
- pedersen_hash (self .serialize (), GENERATOR_INDEX__CALL_CONTEXT )
43
- }
44
-
45
63
fn assert_is_zero (self ) {
46
64
// TODO(https://github.com/AztecProtocol/aztec-packages/issues/3595)
47
65
assert (self .msg_sender .to_field () == 0 );
@@ -53,16 +71,4 @@ impl CallContext {
53
71
assert (self .is_contract_deployment == false );
54
72
assert (self .start_side_effect_counter == 0 );
55
73
}
56
-
57
- fn eq (self , call_context : CallContext ) -> bool {
58
- // TODO(https://github.com/AztecProtocol/aztec-packages/issues/3595)
59
- call_context .msg_sender .eq (self .msg_sender )
60
- & call_context .storage_contract_address .eq (self .storage_contract_address )
61
- & call_context .portal_contract_address .eq (self .portal_contract_address )
62
- & call_context .function_selector .eq (self .function_selector )
63
- & (call_context .is_delegate_call == self .is_delegate_call )
64
- & (call_context .is_static_call == self .is_static_call )
65
- & (call_context .is_contract_deployment == self .is_contract_deployment )
66
- & (call_context .start_side_effect_counter == self .start_side_effect_counter )
67
- }
68
74
}
0 commit comments