reputrans 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +114 -0
  3. package/circuits/composite/target/composite.json +1 -0
  4. package/circuits/field_disclosure/target/field_disclosure.json +1 -0
  5. package/circuits/map_to_curve/target/map_to_curve.json +1 -0
  6. package/circuits/poseidon_compat/target/poseidon_compat.json +1 -0
  7. package/circuits/range_proof/target/range_proof.json +1 -0
  8. package/circuits/set_membership/target/set_membership.json +1 -0
  9. package/circuits/signature_verify/target/signature_verify.json +1 -0
  10. package/dist/cli/src/auto-detect.d.ts +9 -0
  11. package/dist/cli/src/auto-detect.d.ts.map +1 -0
  12. package/dist/cli/src/auto-detect.js +21 -0
  13. package/dist/cli/src/auto-detect.js.map +1 -0
  14. package/dist/cli/src/commands/inspect.d.ts +6 -0
  15. package/dist/cli/src/commands/inspect.d.ts.map +1 -0
  16. package/dist/cli/src/commands/inspect.js +43 -0
  17. package/dist/cli/src/commands/inspect.js.map +1 -0
  18. package/dist/cli/src/commands/issue.d.ts +8 -0
  19. package/dist/cli/src/commands/issue.d.ts.map +1 -0
  20. package/dist/cli/src/commands/issue.js +107 -0
  21. package/dist/cli/src/commands/issue.js.map +1 -0
  22. package/dist/cli/src/commands/keygen.d.ts +7 -0
  23. package/dist/cli/src/commands/keygen.d.ts.map +1 -0
  24. package/dist/cli/src/commands/keygen.js +39 -0
  25. package/dist/cli/src/commands/keygen.js.map +1 -0
  26. package/dist/cli/src/commands/prove.d.ts +9 -0
  27. package/dist/cli/src/commands/prove.d.ts.map +1 -0
  28. package/dist/cli/src/commands/prove.js +139 -0
  29. package/dist/cli/src/commands/prove.js.map +1 -0
  30. package/dist/cli/src/commands/verify.d.ts +6 -0
  31. package/dist/cli/src/commands/verify.d.ts.map +1 -0
  32. package/dist/cli/src/commands/verify.js +63 -0
  33. package/dist/cli/src/commands/verify.js.map +1 -0
  34. package/dist/cli/src/index.d.ts +3 -0
  35. package/dist/cli/src/index.d.ts.map +1 -0
  36. package/dist/cli/src/index.js +45 -0
  37. package/dist/cli/src/index.js.map +1 -0
  38. package/dist/sdk/src/circuit-loader.d.ts +19 -0
  39. package/dist/sdk/src/circuit-loader.d.ts.map +1 -0
  40. package/dist/sdk/src/circuit-loader.js +65 -0
  41. package/dist/sdk/src/circuit-loader.js.map +1 -0
  42. package/dist/sdk/src/eddsa.d.ts +63 -0
  43. package/dist/sdk/src/eddsa.d.ts.map +1 -0
  44. package/dist/sdk/src/eddsa.js +177 -0
  45. package/dist/sdk/src/eddsa.js.map +1 -0
  46. package/dist/sdk/src/encoder.d.ts +49 -0
  47. package/dist/sdk/src/encoder.d.ts.map +1 -0
  48. package/dist/sdk/src/encoder.js +117 -0
  49. package/dist/sdk/src/encoder.js.map +1 -0
  50. package/dist/sdk/src/identity.d.ts +69 -0
  51. package/dist/sdk/src/identity.d.ts.map +1 -0
  52. package/dist/sdk/src/identity.js +110 -0
  53. package/dist/sdk/src/identity.js.map +1 -0
  54. package/dist/sdk/src/index.d.ts +18 -0
  55. package/dist/sdk/src/index.d.ts.map +1 -0
  56. package/dist/sdk/src/index.js +18 -0
  57. package/dist/sdk/src/index.js.map +1 -0
  58. package/dist/sdk/src/poseidon.d.ts +33 -0
  59. package/dist/sdk/src/poseidon.d.ts.map +1 -0
  60. package/dist/sdk/src/poseidon.js +59 -0
  61. package/dist/sdk/src/poseidon.js.map +1 -0
  62. package/dist/sdk/src/proof-request.d.ts +58 -0
  63. package/dist/sdk/src/proof-request.d.ts.map +1 -0
  64. package/dist/sdk/src/proof-request.js +68 -0
  65. package/dist/sdk/src/proof-request.js.map +1 -0
  66. package/dist/sdk/src/prover.d.ts +38 -0
  67. package/dist/sdk/src/prover.d.ts.map +1 -0
  68. package/dist/sdk/src/prover.js +108 -0
  69. package/dist/sdk/src/prover.js.map +1 -0
  70. package/dist/sdk/src/vc-parser.d.ts +50 -0
  71. package/dist/sdk/src/vc-parser.d.ts.map +1 -0
  72. package/dist/sdk/src/vc-parser.js +96 -0
  73. package/dist/sdk/src/vc-parser.js.map +1 -0
  74. package/dist/sdk/src/verifier.d.ts +19 -0
  75. package/dist/sdk/src/verifier.d.ts.map +1 -0
  76. package/dist/sdk/src/verifier.js +31 -0
  77. package/dist/sdk/src/verifier.js.map +1 -0
  78. package/dist/verifier/src/did-resolver.d.ts +36 -0
  79. package/dist/verifier/src/did-resolver.d.ts.map +1 -0
  80. package/dist/verifier/src/did-resolver.js +179 -0
  81. package/dist/verifier/src/did-resolver.js.map +1 -0
  82. package/dist/verifier/src/index.d.ts +2 -0
  83. package/dist/verifier/src/index.d.ts.map +1 -0
  84. package/dist/verifier/src/index.js +9 -0
  85. package/dist/verifier/src/index.js.map +1 -0
  86. package/dist/verifier/src/server.d.ts +6 -0
  87. package/dist/verifier/src/server.d.ts.map +1 -0
  88. package/dist/verifier/src/server.js +75 -0
  89. package/dist/verifier/src/server.js.map +1 -0
  90. package/dist/verifier/src/verify.d.ts +20 -0
  91. package/dist/verifier/src/verify.d.ts.map +1 -0
  92. package/dist/verifier/src/verify.js +97 -0
  93. package/dist/verifier/src/verify.js.map +1 -0
  94. package/package.json +41 -0
@@ -0,0 +1 @@
1
+ {"noir_version":"0.36.0+801c71880ecf8386a26737a5d8bb5b4cb164b2ab","hash":13012713511766349187,"abi":{"parameters":[{"name":"field_value","type":{"kind":"field"},"visibility":"private"},{"name":"field_index","type":{"kind":"field"},"visibility":"public"},{"name":"merkle_path","type":{"kind":"array","length":4,"type":{"kind":"field"}},"visibility":"private"},{"name":"path_indices","type":{"kind":"array","length":4,"type":{"kind":"field"}},"visibility":"private"},{"name":"root","type":{"kind":"field"},"visibility":"public"}],"return_type":null,"error_types":{}},"bytecode":"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","debug_symbols":"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IrH0osxXPxEvSrP6iahOqFnIiysFycj0gEgcLrMZGqqTrjZaqE6GhuqEO6+lCSKSeFEqkhwqLEgsDhWKqE6oWRhBgkhymU1BYnGZjYbqpKuNFqqToaE6oc5r8aJUJNlKLkhyqLAgsThUKKI6oWYhL64UJLnMpiCxuMxGQ3XS1UYL1cnQUJ1Q57V4USqSbCUXJDlUWJAMh9VPRHVCzUJeXClIcplNQWJxmY2G6qSpjbuF6mTXUJ0w57U9XpSKJFvJBcnI6odIHA4V7iKqE2oW8uJKQZLLbAoSh8tsdg3VSVcbLVQnu4bqhDqvxYtSkYwgQSQ5VFiQOBwq3EVUJ9Qs5MWVgiSX2SASES9KMz1oqE662mihOtk1VCfUeS1elIokW8kFSQ4VFiQOhwp3EdUJNQt5cQWRWHpR5tODiBelmR40VCddbbRQnewaqhPuvJYmWJBkK7kgyaHCgsThUOEuojphZiFelIokl9kUJA6X2ewaqpOuNlqoTnYN1Ql3XksTLEiylVyQ5FBhQWJxqFBEdcLMQrwoFUkusylIHC6z2TVUJ11ttFCd7BqqE+68liZYkGQruSDJoUJEIuJFaVY/EdUJMwvxolQkucymIBkW04NFbbRQnewaqhPuvJYmWJBkKxmRWHpR5qufiBelWf1EVCfULOTFlYJkZHpAJBaX2WioTrraaKE62TVUJ9x5LU0QkcSLUpHkUGFBYnGoUER1Qs3CCBJEkstsChKLy2w0VCddbbRQnewaqhPqvBYvSkWSreSCJIcKCxKLQ4UiqhNqFvLiSkGSy2wKEovLbDRUJ11ttFCdHCKqk2Xcv+12K/zzEN8Cf//icXsAWJFo3FRIRaJxP81TSG6Dvn/j4/SV4Gi8lfwckuXtGx/bV/5KRv5KEInGCUTqX4nGvjP1r0TjaSP1r0SjY1IXYY1CykQiYlyhIkl7LUjSXguStNeCZCQ4iMSxvTbBcWyvTXAM22sXHMP22gXHsL02wdEQv1CDI2KJoSIxbK8dEsP22iEZWXEQSZ69FiSG7bULjuOz1yY4ju21CU6evSISDVkNNTgashpqcETMNtvbz7tt5/M7g6PRXqlIRpAgEo32SkWi0V6fQtKtOBrt9TkkzYqj0V6pwdFor8zgaAh2qMHREOxQg6Mh2OEGx7C9dsEZBCTj8obk2P76xb9/xP76jzhe/xHn13/E+1f/9TTevvh07PUjri//CIL0o/2I5fUfsRI+4i16t4846kdsrx/FeP1H7K//iOP1H3F+/a/79eneX5/u4/XpPl6f7uP16T5en+7j9ek+Xp/u4/XpPl6fbsJ9xuu6vL26uo5z/YjrSz/i9i/f/vTp8+dP//z75x+/+/jLpx+//Hz7v97+5//5+NOnj99+/v6Pf/3h31+++8t//eV///X7f7l9i/8D","file_map":{"26":{"source":"pub mod bn254;\nuse bn254::lt as bn254_lt;\nuse crate::runtime::is_unconstrained;\n\nimpl Field {\n /// Asserts that `self` can be represented in `bit_size` bits.\n ///\n /// # Failures\n /// Causes a constraint failure for `Field` values exceeding `2^{bit_size}`.\n // docs:start:assert_max_bit_size\n pub fn assert_max_bit_size<let BIT_SIZE: u32>(self) {\n // docs:end:assert_max_bit_size\n assert(BIT_SIZE < modulus_num_bits() as u32);\n self.__assert_max_bit_size(BIT_SIZE);\n }\n\n #[builtin(apply_range_constraint)]\n fn __assert_max_bit_size(self, bit_size: u32) {}\n\n /// Decomposes `self` into its little endian bit decomposition as a `[u1; N]` array.\n /// This slice will be zero padded should not all bits be necessary to represent `self`.\n ///\n /// # Failures\n /// Causes a constraint failure for `Field` values exceeding `2^N` as the resulting slice will not\n /// be able to represent the original `Field`.\n ///\n /// # Safety\n /// Values of `N` equal to or greater than the number of bits necessary to represent the `Field` modulus\n /// (e.g. 254 for the BN254 field) allow for multiple bit decompositions. This is due to how the `Field` will\n /// wrap around due to overflow when verifying the decomposition.\n #[builtin(to_le_bits)]\n // docs:start:to_le_bits\n pub fn to_le_bits<let N: u32>(self: Self) -> [u1; N] {}\n // docs:end:to_le_bits\n\n /// Decomposes `self` into its big endian bit decomposition as a `[u1; N]` array.\n /// This array will be zero padded should not all bits be necessary to represent `self`.\n ///\n /// # Failures\n /// Causes a constraint failure for `Field` values exceeding `2^N` as the resulting slice will not\n /// be able to represent the original `Field`.\n ///\n /// # Safety\n /// Values of `N` equal to or greater than the number of bits necessary to represent the `Field` modulus\n /// (e.g. 254 for the BN254 field) allow for multiple bit decompositions. This is due to how the `Field` will\n /// wrap around due to overflow when verifying the decomposition.\n #[builtin(to_be_bits)]\n // docs:start:to_be_bits\n pub fn to_be_bits<let N: u32>(self: Self) -> [u1; N] {}\n // docs:end:to_be_bits\n\n /// Decomposes `self` into its little endian byte decomposition as a `[u8;N]` array\n /// This array will be zero padded should not all bytes be necessary to represent `self`.\n ///\n /// # Failures\n /// The length N of the array must be big enough to contain all the bytes of the 'self',\n /// and no more than the number of bytes required to represent the field modulus\n ///\n /// # Safety\n /// The result is ensured to be the canonical decomposition of the field element\n // docs:start:to_le_bytes\n pub fn to_le_bytes<let N: u32>(self: Self) -> [u8; N] {\n // docs:end:to_le_bytes\n // Compute the byte decomposition\n let bytes = self.to_le_radix(256);\n\n if !is_unconstrained() {\n // Ensure that the byte decomposition does not overflow the modulus\n let p = modulus_le_bytes();\n assert(bytes.len() <= p.len());\n let mut ok = bytes.len() != p.len();\n for i in 0..N {\n if !ok {\n if (bytes[N - 1 - i] != p[N - 1 - i]) {\n assert(bytes[N - 1 - i] < p[N - 1 - i]);\n ok = true;\n }\n }\n }\n assert(ok);\n }\n bytes\n }\n\n /// Decomposes `self` into its big endian byte decomposition as a `[u8;N]` array of length required to represent the field modulus\n /// This array will be zero padded should not all bytes be necessary to represent `self`.\n ///\n /// # Failures\n /// The length N of the array must be big enough to contain all the bytes of the 'self',\n /// and no more than the number of bytes required to represent the field modulus\n ///\n /// # Safety\n /// The result is ensured to be the canonical decomposition of the field element\n // docs:start:to_be_bytes\n pub fn to_be_bytes<let N: u32>(self: Self) -> [u8; N] {\n // docs:end:to_be_bytes\n // Compute the byte decomposition\n let bytes = self.to_be_radix(256);\n\n if !is_unconstrained() {\n // Ensure that the byte decomposition does not overflow the modulus\n let p = modulus_be_bytes();\n assert(bytes.len() <= p.len());\n let mut ok = bytes.len() != p.len();\n for i in 0..N {\n if !ok {\n if (bytes[i] != p[i]) {\n assert(bytes[i] < p[i]);\n ok = true;\n }\n }\n }\n assert(ok);\n }\n bytes\n }\n\n // docs:start:to_le_radix\n pub fn to_le_radix<let N: u32>(self: Self, radix: u32) -> [u8; N] {\n // Brillig does not need an immediate radix\n if !crate::runtime::is_unconstrained() {\n crate::assert_constant(radix);\n }\n self.__to_le_radix(radix)\n }\n // docs:end:to_le_radix\n\n // docs:start:to_be_radix\n pub fn to_be_radix<let N: u32>(self: Self, radix: u32) -> [u8; N] {\n // Brillig does not need an immediate radix\n if !crate::runtime::is_unconstrained() {\n crate::assert_constant(radix);\n }\n self.__to_be_radix(radix)\n }\n // docs:end:to_be_radix\n\n // `_radix` must be less than 256\n #[builtin(to_le_radix)]\n fn __to_le_radix<let N: u32>(self, radix: u32) -> [u8; N] {}\n\n #[builtin(to_be_radix)]\n fn __to_be_radix<let N: u32>(self, radix: u32) -> [u8; N] {}\n\n // Returns self to the power of the given exponent value.\n // Caution: we assume the exponent fits into 32 bits\n // using a bigger bit size impacts negatively the performance and should be done only if the exponent does not fit in 32 bits\n pub fn pow_32(self, exponent: Field) -> Field {\n let mut r: Field = 1;\n let b: [u1; 32] = exponent.to_le_bits();\n\n for i in 1..33 {\n r *= r;\n r = (b[32 - i] as Field) * (r * self) + (1 - b[32 - i] as Field) * r;\n }\n r\n }\n\n // Parity of (prime) Field element, i.e. sgn0(x mod p) = 0 if x `elem` {0, ..., p-1} is even, otherwise sgn0(x mod p) = 1.\n pub fn sgn0(self) -> u1 {\n self as u1\n }\n\n pub fn lt(self, another: Field) -> bool {\n if crate::compat::is_bn254() {\n bn254_lt(self, another)\n } else {\n lt_fallback(self, another)\n }\n }\n\n /// Convert a little endian byte array to a field element.\n /// If the provided byte array overflows the field modulus then the Field will silently wrap around.\n pub fn from_le_bytes<let N: u32>(bytes: [u8; N]) -> Field {\n let mut v = 1;\n let mut result = 0;\n\n for i in 0..N {\n result += (bytes[i] as Field) * v;\n v = v * 256;\n }\n result\n }\n\n /// Convert a big endian byte array to a field element.\n /// If the provided byte array overflows the field modulus then the Field will silently wrap around.\n pub fn from_be_bytes<let N: u32>(bytes: [u8; N]) -> Field {\n let mut v = 1;\n let mut result = 0;\n\n for i in 0..N {\n result += (bytes[N - 1 - i] as Field) * v;\n v = v * 256;\n }\n result\n }\n}\n\n#[builtin(modulus_num_bits)]\npub comptime fn modulus_num_bits() -> u64 {}\n\n#[builtin(modulus_be_bits)]\npub comptime fn modulus_be_bits() -> [u1] {}\n\n#[builtin(modulus_le_bits)]\npub comptime fn modulus_le_bits() -> [u1] {}\n\n#[builtin(modulus_be_bytes)]\npub comptime fn modulus_be_bytes() -> [u8] {}\n\n#[builtin(modulus_le_bytes)]\npub comptime fn modulus_le_bytes() -> [u8] {}\n\n// Convert a 32 byte array to a field element by modding\npub fn bytes32_to_field(bytes32: [u8; 32]) -> Field {\n // Convert it to a field element\n let mut v = 1;\n let mut high = 0 as Field;\n let mut low = 0 as Field;\n\n for i in 0..16 {\n high = high + (bytes32[15 - i] as Field) * v;\n low = low + (bytes32[16 + 15 - i] as Field) * v;\n v = v * 256;\n }\n // Abuse that a % p + b % p = (a + b) % p and that low < p\n low + high * v\n}\n\nfn lt_fallback(x: Field, y: Field) -> bool {\n let x_bytes: [u8; 32] = x.to_le_bytes();\n let y_bytes: [u8; 32] = y.to_le_bytes();\n let mut x_is_lt = false;\n let mut done = false;\n for i in 0..32 {\n if (!done) {\n let x_byte = x_bytes[32 - 1 - i] as u8;\n let y_byte = y_bytes[32 - 1 - i] as u8;\n let bytes_match = x_byte == y_byte;\n if !bytes_match {\n x_is_lt = x_byte < y_byte;\n done = true;\n }\n }\n }\n x_is_lt\n}\n\nmod tests {\n #[test]\n // docs:start:to_be_bits_example\n fn test_to_be_bits() {\n let field = 2;\n let bits: [u1; 8] = field.to_be_bits();\n assert_eq(bits, [0, 0, 0, 0, 0, 0, 1, 0]);\n }\n // docs:end:to_be_bits_example\n\n #[test]\n // docs:start:to_le_bits_example\n fn test_to_le_bits() {\n let field = 2;\n let bits: [u1; 8] = field.to_le_bits();\n assert_eq(bits, [0, 1, 0, 0, 0, 0, 0, 0]);\n }\n // docs:end:to_le_bits_example\n\n #[test]\n // docs:start:to_be_bytes_example\n fn test_to_be_bytes() {\n let field = 2;\n let bits: [u8; 8] = field.to_be_bytes();\n assert_eq(bits, [0, 0, 0, 0, 0, 0, 0, 2]);\n assert_eq(Field::from_be_bytes::<8>(bits), field);\n }\n // docs:end:to_be_bytes_example\n\n #[test]\n // docs:start:to_le_bytes_example\n fn test_to_le_bytes() {\n let field = 2;\n let bits: [u8; 8] = field.to_le_bytes();\n assert_eq(bits, [2, 0, 0, 0, 0, 0, 0, 0]);\n assert_eq(Field::from_le_bytes::<8>(bits), field);\n }\n // docs:end:to_le_bytes_example\n\n #[test]\n // docs:start:to_be_radix_example\n fn test_to_be_radix() {\n let field = 2;\n let bits: [u8; 8] = field.to_be_radix(256);\n assert_eq(bits, [0, 0, 0, 0, 0, 0, 0, 2]);\n assert_eq(Field::from_be_bytes::<8>(bits), field);\n }\n // docs:end:to_be_radix_example\n\n #[test]\n // docs:start:to_le_radix_example\n fn test_to_le_radix() {\n let field = 2;\n let bits: [u8; 8] = field.to_le_radix(256);\n assert_eq(bits, [2, 0, 0, 0, 0, 0, 0, 0]);\n assert_eq(Field::from_le_bytes::<8>(bits), field);\n }\n // docs:end:to_le_radix_example\n}\n","path":"std/field/mod.nr"},"31":{"source":"// Instantiations of Poseidon permutation for the prime field of the same order as BN254\nuse crate::hash::poseidon::bn254::consts;\nuse crate::hash::poseidon::permute;\n\n#[field(bn254)]\npub fn x5_2(mut state: [Field; 2]) -> [Field; 2] {\n state = permute(consts::x5_2_config(), state);\n\n state\n}\n\n#[field(bn254)]\npub fn x5_3(mut state: [Field; 3]) -> [Field; 3] {\n state = permute(consts::x5_3_config(), state);\n\n state\n}\n\n#[field(bn254)]\npub fn x5_4(mut state: [Field; 4]) -> [Field; 4] {\n state = permute(consts::x5_4_config(), state);\n\n state\n}\n\n#[field(bn254)]\npub fn x5_5(mut state: [Field; 5]) -> [Field; 5] {\n state = permute(consts::x5_5_config(), state);\n\n state\n}\n\n#[field(bn254)]\npub fn x5_6(mut state: [Field; 6]) -> [Field; 6] {\n state = permute(consts::x5_6_config(), state);\n\n state\n}\n\n#[field(bn254)]\npub fn x5_7(mut state: [Field; 7]) -> [Field; 7] {\n state = permute(consts::x5_7_config(), state);\n\n state\n}\n\n#[field(bn254)]\npub fn x5_8(mut state: [Field; 8]) -> [Field; 8] {\n state = permute(consts::x5_8_config(), state);\n\n state\n}\n\n#[field(bn254)]\npub fn x5_9(mut state: [Field; 9]) -> [Field; 9] {\n state = permute(consts::x5_9_config(), state);\n\n state\n}\n\n#[field(bn254)]\npub fn x5_10(mut state: [Field; 10]) -> [Field; 10] {\n state = permute(consts::x5_10_config(), state);\n\n state\n}\n\n#[field(bn254)]\npub fn x5_11(mut state: [Field; 11]) -> [Field; 11] {\n state = permute(consts::x5_11_config(), state);\n\n state\n}\n\n#[field(bn254)]\npub fn x5_12(mut state: [Field; 12]) -> [Field; 12] {\n state = permute(consts::x5_12_config(), state);\n\n state\n}\n\n#[field(bn254)]\npub fn x5_13(mut state: [Field; 13]) -> [Field; 13] {\n state = permute(consts::x5_13_config(), state);\n\n state\n}\n\n#[field(bn254)]\npub fn x5_14(mut state: [Field; 14]) -> [Field; 14] {\n state = permute(consts::x5_14_config(), state);\n\n state\n}\n\n#[field(bn254)]\npub fn x5_15(mut state: [Field; 15]) -> [Field; 15] {\n state = permute(consts::x5_15_config(), state);\n\n state\n}\n\n#[field(bn254)]\npub fn x5_16(mut state: [Field; 16]) -> [Field; 16] {\n state = permute(consts::x5_16_config(), state);\n\n state\n}\n\n#[field(bn254)]\npub fn x5_17(mut state: [Field; 17]) -> [Field; 17] {\n state = permute(consts::x5_17_config(), state);\n\n state\n}\n","path":"std/hash/poseidon/bn254/perm.nr"},"32":{"source":"// Instantiations of Poseidon constants, permutations and sponge for prime field of the same order as BN254\npub mod perm;\npub mod consts;\n\nuse crate::hash::poseidon::absorb;\n\n// Variable-length Poseidon-128 sponge as suggested in second bullet point of section 3 of https://eprint.iacr.org/2019/458.pdf\n#[field(bn254)]\npub fn sponge<let N: u32>(msg: [Field; N]) -> Field {\n absorb(consts::x5_5_config(), [0; 5], 4, 1, msg)[1]\n}\n\n// Various instances of the Poseidon hash function\n// Consistent with Circom's implementation\n#[no_predicates]\npub fn hash_1(input: [Field; 1]) -> Field {\n let mut state = [0; 2];\n for i in 0..input.len() {\n state[i + 1] = input[i];\n }\n\n perm::x5_2(state)[0]\n}\n\n#[no_predicates]\npub fn hash_2(input: [Field; 2]) -> Field {\n let mut state = [0; 3];\n for i in 0..input.len() {\n state[i + 1] = input[i];\n }\n\n perm::x5_3(state)[0]\n}\n\n#[no_predicates]\npub fn hash_3(input: [Field; 3]) -> Field {\n let mut state = [0; 4];\n for i in 0..input.len() {\n state[i + 1] = input[i];\n }\n\n perm::x5_4(state)[0]\n}\n\n#[no_predicates]\npub fn hash_4(input: [Field; 4]) -> Field {\n let mut state = [0; 5];\n for i in 0..input.len() {\n state[i + 1] = input[i];\n }\n\n perm::x5_5(state)[0]\n}\n\n#[no_predicates]\npub fn hash_5(input: [Field; 5]) -> Field {\n let mut state = [0; 6];\n for i in 0..input.len() {\n state[i + 1] = input[i];\n }\n\n perm::x5_6(state)[0]\n}\n\n#[no_predicates]\npub fn hash_6(input: [Field; 6]) -> Field {\n let mut state = [0; 7];\n for i in 0..input.len() {\n state[i + 1] = input[i];\n }\n\n perm::x5_7(state)[0]\n}\n\n#[no_predicates]\npub fn hash_7(input: [Field; 7]) -> Field {\n let mut state = [0; 8];\n for i in 0..input.len() {\n state[i + 1] = input[i];\n }\n\n perm::x5_8(state)[0]\n}\n\n#[no_predicates]\npub fn hash_8(input: [Field; 8]) -> Field {\n let mut state = [0; 9];\n for i in 0..input.len() {\n state[i + 1] = input[i];\n }\n\n perm::x5_9(state)[0]\n}\n\n#[no_predicates]\npub fn hash_9(input: [Field; 9]) -> Field {\n let mut state = [0; 10];\n for i in 0..input.len() {\n state[i + 1] = input[i];\n }\n\n perm::x5_10(state)[0]\n}\n\n#[no_predicates]\npub fn hash_10(input: [Field; 10]) -> Field {\n let mut state = [0; 11];\n for i in 0..input.len() {\n state[i + 1] = input[i];\n }\n\n perm::x5_11(state)[0]\n}\n\n#[no_predicates]\npub fn hash_11(input: [Field; 11]) -> Field {\n let mut state = [0; 12];\n for i in 0..input.len() {\n state[i + 1] = input[i];\n }\n\n perm::x5_12(state)[0]\n}\n\n#[no_predicates]\npub fn hash_12(input: [Field; 12]) -> Field {\n let mut state = [0; 13];\n for i in 0..input.len() {\n state[i + 1] = input[i];\n }\n\n perm::x5_13(state)[0]\n}\n\n#[no_predicates]\npub fn hash_13(input: [Field; 13]) -> Field {\n let mut state = [0; 14];\n for i in 0..input.len() {\n state[i + 1] = input[i];\n }\n\n perm::x5_14(state)[0]\n}\n\n#[no_predicates]\npub fn hash_14(input: [Field; 14]) -> Field {\n let mut state = [0; 15];\n for i in 0..input.len() {\n state[i + 1] = input[i];\n }\n\n perm::x5_15(state)[0]\n}\n\n#[no_predicates]\npub fn hash_15(input: [Field; 15]) -> Field {\n let mut state = [0; 16];\n for i in 0..input.len() {\n state[i + 1] = input[i];\n }\n\n perm::x5_16(state)[0]\n}\n\n#[no_predicates]\npub fn hash_16(input: [Field; 16]) -> Field {\n let mut state = [0; 17];\n for i in 0..input.len() {\n state[i + 1] = input[i];\n }\n\n perm::x5_17(state)[0]\n}\n","path":"std/hash/poseidon/bn254.nr"},"33":{"source":"pub mod bn254; // Instantiations of Poseidon for prime field of the same order as BN254\nuse crate::hash::Hasher;\nuse crate::default::Default;\n\n// A config struct defining the parameters of the Poseidon instance to use.\n//\n// A thorough writeup of this method (along with an unoptimized method) can be found at: https://spec.filecoin.io/algorithms/crypto/poseidon/\npub struct PoseidonConfig<let T: u32, let N: u32, let X: u32> {\n // State width, should be equal to `T`\n t: Field,\n // Number of full rounds. should be even\n rf: u8,\n // Number of partial rounds\n rp: u8,\n // S-box power; depends on the underlying field\n alpha: Field,\n // The round constants for the\n round_constants: [Field; N],\n // The MDS matrix for the Poseidon instance\n mds: [[Field; T]; T],\n // An MDS matrix which also applies a basis transformation which allows\n // sparse matrices to be used for the partial rounds.\n //\n // This should be applied instead of `mds` in the final full round.\n presparse_mds: [[Field; T]; T],\n // A set of sparse matrices used for MDS mixing for the partial rounds.\n sparse_mds: [Field; X],\n}\n\npub fn config<let T: u32, let N: u32, let X: u32>(\n t: Field,\n rf: u8,\n rp: u8,\n alpha: Field,\n round_constants: [Field; N],\n mds: [[Field; T]; T],\n presparse_mds: [[Field; T]; T],\n sparse_mds: [Field; X],\n) -> PoseidonConfig<T, N, X> {\n // Input checks\n assert_eq(rf & 1, 0);\n assert_eq((t as u8) * rf + rp, N as u8);\n assert_eq(t, T as Field);\n assert(alpha != 0);\n\n PoseidonConfig { t, rf, rp, alpha, round_constants, mds, presparse_mds, sparse_mds }\n}\n\npub fn permute<let T: u32, let N: u32, let X: u32>(\n pos_conf: PoseidonConfig<T, N, X>,\n mut state: [Field; T],\n) -> [Field; T] {\n let PoseidonConfig { t, rf, rp, alpha, round_constants, mds, presparse_mds, sparse_mds } =\n pos_conf;\n\n for i in 0..state.len() {\n state[i] += round_constants[i];\n }\n\n for _r in 0..rf / 2 - 1 {\n state = sigma(state);\n for i in 0..T {\n state[i] += round_constants[T * (_r + 1) as u32 + i];\n }\n state = apply_matrix(mds, state);\n }\n\n state = sigma(state);\n for i in 0..T {\n state[i] += round_constants[T * (rf / 2) as u32 + i];\n }\n state = apply_matrix(presparse_mds, state);\n\n for i in 0..T {\n crate::as_witness(state[i]);\n }\n\n for _r in 0..rp {\n state[0] = state[0].pow_32(alpha);\n state[0] += round_constants[(rf / 2 + 1) as u32 * T + _r as u32];\n crate::as_witness(state[0]);\n {\n let mut newState0 = 0;\n for j in 0..T {\n newState0 += sparse_mds[(T * 2 - 1) * _r as u32 + j as u32] * state[j];\n }\n for k in 1..T {\n state[k] += state[0] * sparse_mds[(t * 2 - 1) as u32 * _r as u32 + T + k - 1];\n }\n state[0] = newState0;\n\n if (_r & 1 == 0) {\n for k in 1..T {\n crate::as_witness(state[k]);\n }\n }\n }\n }\n\n for _r in 0..rf / 2 - 1 {\n state = sigma(state);\n for i in 0..state.len() {\n state[i] += round_constants[(rf / 2 + 1) as u32 * T + rp as u32 + (_r as u32) * T + i];\n }\n state = apply_matrix(mds, state);\n }\n\n state = sigma(state);\n state = apply_matrix(mds, state);\n\n state\n}\n\n// Performs matrix multiplication on a vector\nfn apply_matrix<let N: u32>(matrix: [[Field; N]; N], vec: [Field; N]) -> [Field; N] {\n let mut out = [0; N];\n\n for i in 0..N {\n for j in 0..N {\n out[i] += vec[j] * matrix[j][i];\n }\n }\n\n out\n}\n\n// Corresponding absorption.\nfn absorb<let T: u32, let N: u32, let X: u32, let O: u32>(\n pos_conf: PoseidonConfig<T, N, X>,\n // Initial state; usually [0; O]\n mut state: [Field; T],\n rate: Field,\n capacity: Field,\n msg: [Field; O], // Arbitrary length message\n) -> [Field; T] {\n assert_eq(pos_conf.t, rate + capacity);\n\n let mut i = 0;\n\n for k in 0..msg.len() {\n // Add current block to state\n state[capacity + i] += msg[k];\n i = i + 1;\n // Enough to absorb\n if i == rate {\n state = permute(pos_conf, state);\n i = 0;\n }\n }\n // If we have one more block to permute\n if i != 0 {\n state = permute(pos_conf, state);\n }\n\n state\n}\n\nfn sigma<let O: u32>(x: [Field; O]) -> [Field; O] {\n let mut y = x;\n for i in 0..O {\n let t = y[i];\n let tt = t * t;\n let tttt = tt * tt;\n y[i] *= tttt;\n }\n y\n}\n\npub struct PoseidonHasher {\n _state: [Field],\n}\n\nimpl Hasher for PoseidonHasher {\n #[field(bn254)]\n fn finish(self) -> Field {\n let mut result = 0;\n let len = self._state.len();\n assert(len < 16);\n if len == 1 {\n result = bn254::hash_1([self._state[0]]);\n }\n if len == 2 {\n result = bn254::hash_2([self._state[0], self._state[1]]);\n }\n if len == 3 {\n result = bn254::hash_3([self._state[0], self._state[1], self._state[2]]);\n }\n if len == 4 {\n result = bn254::hash_4([self._state[0], self._state[1], self._state[2], self._state[3]]);\n }\n if len == 5 {\n result = bn254::hash_5([\n self._state[0],\n self._state[1],\n self._state[2],\n self._state[3],\n self._state[4],\n ]);\n }\n if len == 6 {\n result = bn254::hash_6([\n self._state[0],\n self._state[1],\n self._state[2],\n self._state[3],\n self._state[4],\n self._state[5],\n ]);\n }\n if len == 7 {\n result = bn254::hash_7([\n self._state[0],\n self._state[1],\n self._state[2],\n self._state[3],\n self._state[4],\n self._state[5],\n self._state[6],\n ]);\n }\n if len == 8 {\n result = bn254::hash_8([\n self._state[0],\n self._state[1],\n self._state[2],\n self._state[3],\n self._state[4],\n self._state[5],\n self._state[6],\n self._state[7],\n ]);\n }\n if len == 9 {\n result = bn254::hash_9([\n self._state[0],\n self._state[1],\n self._state[2],\n self._state[3],\n self._state[4],\n self._state[5],\n self._state[6],\n self._state[7],\n self._state[8],\n ]);\n }\n if len == 10 {\n result = bn254::hash_10([\n self._state[0],\n self._state[1],\n self._state[2],\n self._state[3],\n self._state[4],\n self._state[5],\n self._state[6],\n self._state[7],\n self._state[8],\n self._state[9],\n ]);\n }\n if len == 11 {\n result = bn254::hash_11([\n self._state[0],\n self._state[1],\n self._state[2],\n self._state[3],\n self._state[4],\n self._state[5],\n self._state[6],\n self._state[7],\n self._state[8],\n self._state[9],\n self._state[10],\n ]);\n }\n if len == 12 {\n result = bn254::hash_12([\n self._state[0],\n self._state[1],\n self._state[2],\n self._state[3],\n self._state[4],\n self._state[5],\n self._state[6],\n self._state[7],\n self._state[8],\n self._state[9],\n self._state[10],\n self._state[11],\n ]);\n }\n if len == 13 {\n result = bn254::hash_13([\n self._state[0],\n self._state[1],\n self._state[2],\n self._state[3],\n self._state[4],\n self._state[5],\n self._state[6],\n self._state[7],\n self._state[8],\n self._state[9],\n self._state[10],\n self._state[11],\n self._state[12],\n ]);\n }\n if len == 14 {\n result = bn254::hash_14([\n self._state[0],\n self._state[1],\n self._state[2],\n self._state[3],\n self._state[4],\n self._state[5],\n self._state[6],\n self._state[7],\n self._state[8],\n self._state[9],\n self._state[10],\n self._state[11],\n self._state[12],\n self._state[13],\n ]);\n }\n if len == 15 {\n result = bn254::hash_15([\n self._state[0],\n self._state[1],\n self._state[2],\n self._state[3],\n self._state[4],\n self._state[5],\n self._state[6],\n self._state[7],\n self._state[8],\n self._state[9],\n self._state[10],\n self._state[11],\n self._state[12],\n self._state[13],\n self._state[14],\n ]);\n }\n\n result\n }\n\n fn write(&mut self, input: Field) {\n self._state = self._state.push_back(input);\n }\n}\n\nimpl Default for PoseidonHasher {\n fn default() -> Self {\n PoseidonHasher { _state: &[] }\n }\n}\n\nmod poseidon_tests {\n use crate::hash::poseidon;\n\n #[test]\n fn reference_impl_test_vectors() {\n // hardcoded test vectors from https://extgit.iaik.tugraz.at/krypto/hadeshash/-/blob/master/code/test_vectors.txt\n {\n let mut state = [0, 1, 2];\n let mut expected = [\n 0x115cc0f5e7d690413df64c6b9662e9cf2a3617f2743245519e19607a4417189a,\n 0x0fca49b798923ab0239de1c9e7a4a9a2210312b6a2f616d18b5a87f9b628ae29,\n 0x0e7ae82e40091e63cbd4f16a6d16310b3729d4b6e138fcf54110e2867045a30c,\n ];\n assert_eq(\n expected,\n poseidon::bn254::perm::x5_3(state),\n \"Failed to reproduce output for [0, 1, 2]\",\n );\n }\n {\n let mut state = [0, 1, 2, 3, 4];\n let mut expected = [\n 0x299c867db6c1fdd79dcefa40e4510b9837e60ebb1ce0663dbaa525df65250465,\n 0x1148aaef609aa338b27dafd89bb98862d8bb2b429aceac47d86206154ffe053d,\n 0x24febb87fed7462e23f6665ff9a0111f4044c38ee1672c1ac6b0637d34f24907,\n 0x0eb08f6d809668a981c186beaf6110060707059576406b248e5d9cf6e78b3d3e,\n 0x07748bc6877c9b82c8b98666ee9d0626ec7f5be4205f79ee8528ef1c4a376fc7,\n ];\n assert_eq(\n expected,\n poseidon::bn254::perm::x5_5(state),\n \"Failed to reproduce output for [0, 1, 2, 3, 4]\",\n );\n }\n }\n}\n","path":"std/hash/poseidon/mod.nr"},"70":{"source":"// Selective field disclosure via Poseidon Merkle tree\n//\n// Credential fields are leaves of a Poseidon Merkle tree.\n// The Provar reveals a single field value and proves it sits\n// at the claimed index in the credential tree, without\n// revealing any other fields.\n//\n// Target: ~500 constraints per field (Poseidon hash ~300 per level)\n\nuse std::hash::poseidon::bn254::hash_2;\n\n// Depth of the credential field tree.\n// 4 levels = up to 16 fields per credential, which is sufficient\n// for most reputation/credential schemas.\nglobal FIELD_TREE_DEPTH: u32 = 4;\n\n// Prove that a field value is at a specific index in the credential Merkle tree.\n//\n// Parameters:\n// field_value - the disclosed field value (private witness)\n// field_index - which leaf position the field occupies (public)\n// merkle_path - sibling hashes along the path to the root\n// path_indices - direction bits (0=left, 1=right)\n// root - the credential Merkle root (public, tied to signature)\npub fn prove_field_disclosure(\n field_value: Field,\n field_index: pub Field,\n merkle_path: [Field; FIELD_TREE_DEPTH],\n path_indices: [Field; FIELD_TREE_DEPTH],\n root: pub Field,\n) {\n // The leaf is the raw field value. In production, consider hashing it\n // for domain separation, but for constraint efficiency we use raw values.\n let mut current = field_value;\n\n for i in 0..FIELD_TREE_DEPTH {\n let sibling = merkle_path[i];\n let (left, right) = if path_indices[i] == 0 {\n (current, sibling)\n } else {\n (sibling, current)\n };\n current = hash_2([left, right]);\n }\n\n assert(current == root, \"Field not in credential tree\");\n\n // Verify the path_indices encode the claimed field_index.\n // The index is the binary decomposition of the leaf position (LSB first).\n let mut reconstructed_index: Field = 0;\n let mut power: Field = 1;\n for i in 0..FIELD_TREE_DEPTH {\n // Each index bit must be 0 or 1\n assert(\n (path_indices[i] == 0) | (path_indices[i] == 1),\n \"Path index must be binary\",\n );\n reconstructed_index += path_indices[i] * power;\n power *= 2;\n }\n assert(reconstructed_index == field_index, \"Index mismatch\");\n}\n\n// Entry point\nfn main(\n field_value: Field,\n field_index: pub Field,\n merkle_path: [Field; FIELD_TREE_DEPTH],\n path_indices: [Field; FIELD_TREE_DEPTH],\n root: pub Field,\n) {\n prove_field_disclosure(field_value, field_index, merkle_path, path_indices, root);\n}\n\n#[test]\nfn test_field_disclosure_leaf_0() {\n // Build a depth-4 tree with 16 leaves, prove leaf 0\n // For simplicity, use a depth-2 subtree logic extended to depth-4\n // Leaf 0 at index 0: path_indices = [0, 0, 0, 0]\n\n // Build bottom-up: 16 leaves, all set to their index for simplicity\n let leaves: [Field; 16] = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160];\n\n // Level 0 -> 1 (8 nodes)\n let h01 = hash_2([leaves[0], leaves[1]]);\n let h23 = hash_2([leaves[2], leaves[3]]);\n let h45 = hash_2([leaves[4], leaves[5]]);\n let h67 = hash_2([leaves[6], leaves[7]]);\n let h89 = hash_2([leaves[8], leaves[9]]);\n let h1011 = hash_2([leaves[10], leaves[11]]);\n let h1213 = hash_2([leaves[12], leaves[13]]);\n let h1415 = hash_2([leaves[14], leaves[15]]);\n\n // Level 1 -> 2 (4 nodes)\n let h0123 = hash_2([h01, h23]);\n let h4567 = hash_2([h45, h67]);\n let h891011 = hash_2([h89, h1011]);\n let h12131415 = hash_2([h1213, h1415]);\n\n // Level 2 -> 3 (2 nodes)\n let h_left = hash_2([h0123, h4567]);\n let h_right = hash_2([h891011, h12131415]);\n\n // Root\n let root = hash_2([h_left, h_right]);\n\n // Prove leaf 0 (value=10): siblings are [leaves[1], h23, h4567, h_right]\n // path_indices = [0, 0, 0, 0] (always left child)\n prove_field_disclosure(\n 10, // field_value\n 0, // field_index\n [leaves[1], h23, h4567, h_right], // merkle_path\n [0, 0, 0, 0], // path_indices\n root, // root\n );\n}\n\n#[test]\nfn test_field_disclosure_leaf_5() {\n // Prove leaf at index 5 (value=60)\n // Index 5 in binary (LSB first) = [1, 0, 1, 0]\n let leaves: [Field; 16] = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160];\n\n let h01 = hash_2([leaves[0], leaves[1]]);\n let h23 = hash_2([leaves[2], leaves[3]]);\n let h45 = hash_2([leaves[4], leaves[5]]);\n let h67 = hash_2([leaves[6], leaves[7]]);\n let h89 = hash_2([leaves[8], leaves[9]]);\n let h1011 = hash_2([leaves[10], leaves[11]]);\n let h1213 = hash_2([leaves[12], leaves[13]]);\n let h1415 = hash_2([leaves[14], leaves[15]]);\n\n let h0123 = hash_2([h01, h23]);\n let h4567 = hash_2([h45, h67]);\n let h891011 = hash_2([h89, h1011]);\n let h12131415 = hash_2([h1213, h1415]);\n\n let h_left = hash_2([h0123, h4567]);\n let h_right = hash_2([h891011, h12131415]);\n\n let root = hash_2([h_left, h_right]);\n\n // Index 5 = leaf[5], which is right child of h45, then h45 is left child of h4567, etc.\n // Path from leaf 5: sibling=leaves[4], sibling=h67, sibling=h0123, sibling=h_right\n // path_indices: 5 in binary LSB-first = 1,0,1,0\n prove_field_disclosure(\n 60,\n 5,\n [leaves[4], h67, h0123, h_right],\n [1, 0, 1, 0],\n root,\n );\n}\n\n#[test(should_fail_with = \"Field not in credential tree\")]\nfn test_field_disclosure_wrong_value() {\n let leaves: [Field; 16] = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160];\n\n let h01 = hash_2([leaves[0], leaves[1]]);\n let h23 = hash_2([leaves[2], leaves[3]]);\n let h45 = hash_2([leaves[4], leaves[5]]);\n let h67 = hash_2([leaves[6], leaves[7]]);\n let h89 = hash_2([leaves[8], leaves[9]]);\n let h1011 = hash_2([leaves[10], leaves[11]]);\n let h1213 = hash_2([leaves[12], leaves[13]]);\n let h1415 = hash_2([leaves[14], leaves[15]]);\n\n let h0123 = hash_2([h01, h23]);\n let h4567 = hash_2([h45, h67]);\n let h891011 = hash_2([h89, h1011]);\n let h12131415 = hash_2([h1213, h1415]);\n\n let h_left = hash_2([h0123, h4567]);\n let h_right = hash_2([h891011, h12131415]);\n\n let root = hash_2([h_left, h_right]);\n\n // Wrong value at index 0\n prove_field_disclosure(\n 999,\n 0,\n [leaves[1], h23, h4567, h_right],\n [0, 0, 0, 0],\n root,\n );\n}\n","path":"/mnt/c/Users/danie/reputrans-core/circuits/field_disclosure/src/main.nr"}},"names":["main"],"brillig_names":["directive_invert"]}
@@ -0,0 +1 @@
1
+ {"noir_version":"0.36.0+801c71880ecf8386a26737a5d8bb5b4cb164b2ab","hash":18045693172321408913,"abi":{"parameters":[{"name":"message","type":{"kind":"field"},"visibility":"public"},{"name":"tweak","type":{"kind":"field"},"visibility":"private"},{"name":"y_hint","type":{"kind":"field"},"visibility":"private"}],"return_type":{"abi_type":{"kind":"tuple","fields":[{"kind":"field"},{"kind":"field"}]},"visibility":"public"},"error_types":{}},"bytecode":"H4sIAAAAAAAA/81XzW7bMAyW7SRN4qbL2gbY0Y8g2ZYt3XrdfS9gJRJWbIixNtnefOdFq9SqqlugCFmEQEBFpD/zT6SckAe6PPxWbj12PCUvKXH8xnF6HLEEDosOmAuDzSgNY+HjM/EByRy3gr/RnlWaRkZliEGsaFPXui01q1hHS6kEpzVXjWCCccE3pagqLWrRSiVbKlldaWa4rLSxRNkYAMs4wyYEJ7kpcPwgfT57hnXQ7cq60Zw2WkihZWt4S9edMZuW1mtFlaobWrHKqLakqpSH10rN1+zRroQ8HbqQoA/iGRwWDe2dYho8RcCdARYDlt+zIMBAuIO2QjSAGQLuHLhYfbOeO3s/cgLCNUmjBsxFmYC54+c+ID6AdgN72k0I3LTLCVxRniMlEvrw5ARnKgPnmUPWDMQNycdvQXCbLj2OmLVvgVA3Fyfut21QKYLfn8hpD1mb6wsE3CXB6RPQt3fA/LAlgZotRmP6nJHT7Wev+XysnSlg/EaAPttzN4p8TsjzXhTKMqc/CmSLYH3l+Lc/uvtR9Ptd0ZtC9fvt5t5uLwPVL45/3f7uft5uivtf++5OF3d9vyu+3253Vvb5nfqX79H3Pvk7n/8wmQdxCGuVHkelx89x8P9/vcc0D9Z5JPP+jwaeS175n0b8Ld23vvwXAzKPeTWwN4v4dYAHGEPm8Vc4+IM5ug7Wq8jPMM43QDZ4PH/nHZOXlEYyrxuflQTePkYiygbe5SmsFS//B+F8dFgXFgAA","debug_symbols":"tZXLCoMwEEX/ZdYuzEOj/kopEjVKIETRWCjivze2VUS3mV0mczmHLC5ZoFHV3JXatv0ExWMB09fS6d76aYH4ezUN0m7T5OTooCCCphEo22zHlK4RtNooKES8RvdwTNgejik/h58REGQ+ReYzZD5H5ifI/BSZL5D5GTI/x+5XiAIzcQh4fhUQbAHFFjBsQYASM3IIGKVXQYAWM04PQZJcBQFqzFO+h3l+e4HAFmSoAj9UozZGd+X5+/TXLzlqWRn1H9vZ1qetew+/jUd8AA==","file_map":{"70":{"source":"// Constraint-efficient map-to-elliptic-curve relation\n// From: \"Constraint-Friendly Map-to-Elliptic-Curve-Group Relations\" (2025/1503)\n//\n// BN254 curve: y^2 = x^3 + 3 (a=0, b=3)\n// Achieves ~30 constraints vs ~7000 for standard hash-to-curve\n//\n// Method: Increment-and-check with bounded tweak\n// The prover finds the smallest tweak t such that (message * BASE + t)\n// yields a valid x-coordinate (i.e., x^3 + 3 is a quadratic residue)\n\n// Map a field element to a BN254 curve point using the optimized\n// increment-and-check method from Paper 2025/1503.\n//\n// The prover provides:\n// - tweak: the number of increments needed (witness, typically < 5)\n// - y_hint: the square root of y^2 (witness, computed offline)\n//\n// The circuit verifies:\n// - tweak is in bounds\n// - y_hint^2 == x^3 + 3 (BN254 curve equation)\npub fn map_to_curve(\n message: Field,\n tweak: Field,\n y_hint: Field,\n) -> (Field, Field) {\n // Constraint 1: tweak must be small (prevents malicious input)\n let tweak_u8 = tweak as u8;\n assert(tweak_u8 < 5, \"Tweak out of bounds\");\n\n // Constraint 2: compute x = message * 5 + tweak\n // (5 = MAX_TWEAK, ensures non-overlapping message domains per paper S4)\n let x = message * 5 + tweak;\n\n // Constraint 3-4: compute x^3 + 3 (BN254: a=0, b=3)\n let x_squared = x * x;\n let x_cubed = x_squared * x;\n let y_squared = x_cubed + 3;\n\n // Constraint 5: verify y_hint is the correct square root\n assert(y_hint * y_hint == y_squared, \"Invalid square root hint\");\n\n // BN254 has cofactor 1, so no cofactor clearing needed\n (x, y_hint)\n}\n\n// Entry point for standalone testing\nfn main(message: pub Field, tweak: Field, y_hint: Field) -> pub (Field, Field) {\n map_to_curve(message, tweak, y_hint)\n}\n\n#[test]\nfn test_map_to_curve_valid() {\n // For message=1, x = 1*5 + 0 = 5, y^2 = 125 + 3 = 128\n // We need a message/tweak combo where y^2 is a perfect square in the field.\n // For message=0, tweak=1: x=1, y^2 = 1+3 = 4, y=2\n let (x, y) = map_to_curve(0, 1, 2);\n assert(x == 1);\n assert(y == 2);\n // Verify curve equation: y^2 = x^3 + 3\n assert(y * y == x * x * x + 3);\n}\n","path":"/mnt/c/Users/danie/reputrans-core/circuits/map_to_curve/src/main.nr"}},"names":["main"],"brillig_names":["directive_integer_quotient","directive_invert"]}