hash_raw_pedersen_poseidon.adl
1 /* 2 namespace: Compile 3 expectation: Pass 4 */ 5 6 program test.alpha { 7 struct Point { 8 x: u64, 9 y: u64, 10 } 11 12 // Test all Pedersen and Poseidon raw hash variants 13 transition main(input: u64) -> ( 14 field, group, scalar, address, // Pedersen64 raw 15 field, group, scalar, u128, // Pedersen128 raw 16 field, group, scalar, address, // Poseidon2 raw 17 field, group, scalar, u64 // Poseidon4 & Poseidon8 raw 18 ) { 19 let point: Point = Point { x: 42u64, y: 84u64 }; 20 21 // Pedersen64 raw hashes 22 let ped64_field_raw: field = Pedersen64::hash_to_field_raw(input); 23 let ped64_group_raw: group = Pedersen64::hash_to_group_raw(input); 24 let ped64_scalar_raw: scalar = Pedersen64::hash_to_scalar_raw(input); 25 let ped64_addr_raw: address = Pedersen64::hash_to_address_raw(point); 26 27 // Pedersen128 raw hashes 28 let ped128_field_raw: field = Pedersen128::hash_to_field_raw(point); 29 let ped128_group_raw: group = Pedersen128::hash_to_group_raw(point); 30 let ped128_scalar_raw: scalar = Pedersen128::hash_to_scalar_raw(point); 31 let ped128_u128_raw: u128 = Pedersen128::hash_to_u128_raw(input); 32 33 // Poseidon2 raw hashes 34 let psd2_field_raw: field = Poseidon2::hash_to_field_raw(input); 35 let psd2_group_raw: group = Poseidon2::hash_to_group_raw(input); 36 let psd2_scalar_raw: scalar = Poseidon2::hash_to_scalar_raw(input); 37 let psd2_addr_raw: address = Poseidon2::hash_to_address_raw(point); 38 39 // Poseidon4 raw hashes 40 let psd4_field_raw: field = Poseidon4::hash_to_field_raw(point); 41 let psd4_group_raw: group = Poseidon4::hash_to_group_raw(point); 42 let psd4_scalar_raw: scalar = Poseidon4::hash_to_scalar_raw(point); 43 44 // Poseidon8 raw hashes 45 let psd8_u64_raw: u64 = Poseidon8::hash_to_u64_raw(point); 46 47 return ( 48 ped64_field_raw, ped64_group_raw, ped64_scalar_raw, ped64_addr_raw, 49 ped128_field_raw, ped128_group_raw, ped128_scalar_raw, ped128_u128_raw, 50 psd2_field_raw, psd2_group_raw, psd2_scalar_raw, psd2_addr_raw, 51 psd4_field_raw, psd4_group_raw, psd4_scalar_raw, psd8_u64_raw 52 ); 53 } 54 }