Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: remove pedersen hash oracle #3023

Merged
merged 10 commits into from
Oct 25, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion barretenberg/acir_tests/run_acir_tests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ set -eu
BIN=${BIN:-../cpp/build/bin/bb}
FLOW=${FLOW:-prove_and_verify}
CRS_PATH=~/.bb-crs
BRANCH=arv/pedersen_hash
BRANCH=master
VERBOSE=${VERBOSE:-}
NAMED_TEST=${1:-}

Expand Down
2 changes: 1 addition & 1 deletion yarn-project/acir-simulator/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
"@aztec/circuits.js": "workspace:^",
"@aztec/foundation": "workspace:^",
"@aztec/types": "workspace:^",
"@kevaundray/acvm_js": "0.29.0-kw-switch-backend-e9641725f",
"@noir-lang/acvm_js": "0.30.0",
"levelup": "^5.1.1",
"memdown": "^6.1.1",
"tslib": "^2.4.0"
Expand Down
2 changes: 1 addition & 1 deletion yarn-project/acir-simulator/src/acvm/acvm.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import {
WasmBlackBoxFunctionSolver,
WitnessMap,
executeCircuitWithBlackBoxSolver,
} from '@kevaundray/acvm_js';
} from '@noir-lang/acvm_js';

import { traverseCauseChain } from '../common/errors.js';
import { ORACLE_NAMES } from './oracle/index.js';
Expand Down
2 changes: 1 addition & 1 deletion yarn-project/acir-simulator/src/acvm/deserialize.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ import { EthAddress } from '@aztec/foundation/eth-address';
import { Fr, Point } from '@aztec/foundation/fields';
import { Tuple } from '@aztec/foundation/serialize';

import { getReturnWitness } from '@kevaundray/acvm_js';
import { getReturnWitness } from '@noir-lang/acvm_js';

import { ACVMField, ACVMWitness } from './acvm.js';

Expand Down
2 changes: 1 addition & 1 deletion yarn-project/acir-simulator/src/acvm/oracle/debug.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { ForeignCallInput } from '@kevaundray/acvm_js';
import { ForeignCallInput } from '@noir-lang/acvm_js';

import { ACVMField } from '../acvm.js';

Expand Down
5 changes: 0 additions & 5 deletions yarn-project/acir-simulator/src/acvm/oracle/oracle.ts
Original file line number Diff line number Diff line change
Expand Up @@ -220,9 +220,4 @@ export class Oracle {
);
return toAcvmEnqueuePublicFunctionResult(enqueuedRequest);
}

async pedersenHash(inputs: ACVMField[], [hashIndex]: ACVMField[]) {
const hash = await this.typedOracle.perdersenHash(inputs.map(fromACVMField), +hashIndex);
return toACVMField(hash);
}
}
13 changes: 1 addition & 12 deletions yarn-project/acir-simulator/src/acvm/oracle/typed_oracle.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import { CircuitsWasm, PrivateCallStackItem, PublicCallRequest } from '@aztec/circuits.js';
import { pedersenCompressWithHashIndex } from '@aztec/circuits.js/barretenberg';
import { PrivateCallStackItem, PublicCallRequest } from '@aztec/circuits.js';
import { FunctionSelector } from '@aztec/foundation/abi';
import { AztecAddress } from '@aztec/foundation/aztec-address';
import { EthAddress } from '@aztec/foundation/eth-address';
Expand Down Expand Up @@ -153,14 +152,4 @@ export abstract class TypedOracle {
): Promise<PublicCallRequest> {
throw new Error('Not available.');
}

async perdersenHash(inputs: Fr[], hashIndex: number): Promise<Fr> {
const wasm = await CircuitsWasm.get();
const hash = pedersenCompressWithHashIndex(
wasm,
inputs.map(i => i.toBuffer()),
hashIndex,
);
return Fr.fromBuffer(hash);
}
}
2 changes: 1 addition & 1 deletion yarn-project/acir-simulator/src/client/simulator.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import { Fr } from '@aztec/foundation/fields';
import { DebugLogger, createDebugLogger } from '@aztec/foundation/log';
import { AztecNode, FunctionCall, TxExecutionRequest } from '@aztec/types';

import { WasmBlackBoxFunctionSolver, createBlackBoxSolver } from '@kevaundray/acvm_js';
import { WasmBlackBoxFunctionSolver, createBlackBoxSolver } from '@noir-lang/acvm_js';

import { createSimulationError } from '../common/errors.js';
import { SideEffectCounter } from '../common/index.js';
Expand Down
21 changes: 2 additions & 19 deletions yarn-project/aztec-nr/aztec/src/hash.nr
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use dep::std::hash::{pedersen_with_separator, sha256};
use dep::std::hash::{pedersen_hash_with_separator, sha256};
use crate::constants_gen::{
GENERATOR_INDEX__SIGNATURE_PAYLOAD,
GENERATOR_INDEX__L1_TO_L2_MESSAGE_SECRET,
Expand Down Expand Up @@ -29,23 +29,6 @@ pub fn compute_secret_hash(secret: Field) -> Field {
pedersen_hash([secret], GENERATOR_INDEX__L1_TO_L2_MESSAGE_SECRET)
}

#[oracle(pedersenHash)]
fn pedersen_hash_oracle<N>(_inputs: [Field; N], _hash_index: u32) -> Field {}

unconstrained fn pedersen_hash_internal<N>(inputs: [Field; N], hash_index: u32) -> Field {
pedersen_hash_oracle(inputs, hash_index)
}

// TODO(Kev): We can move this into the noir std-lib
// as an acir opcode, once we have the pedersen PR merged.
pub fn pedersen_hash<N>(inputs: [Field; N], hash_index: u32) -> Field {
// Temporary hack. This is not right. Kev forced me to do this. Blame him.
pedersen_hash_internal(inputs, hash_index)
// let input_size = inputs.len();
// let mut modified_inputs = [];
// modified_inputs = modified_inputs.push_back(input_size as Field);
// for i in 0..N {
// modified_inputs = modified_inputs.push_back(inputs[i]);
// }
// pedersen_with_separator(modified_inputs, hash_index)[0]
pedersen_hash_with_separator(inputs, hash_index)
}
12 changes: 6 additions & 6 deletions yarn-project/aztec.js/src/artifacts/ecdsa_account_contract.json

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

8 changes: 4 additions & 4 deletions yarn-project/boxes/blank-react/src/artifacts/Blank.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"isInternal": false,
"parameters": [],
"returnTypes": [],
"bytecode": "H4sIAAAAAAAA/+XdVXNbVxSGYduJ7TLXYWZqJUuypGKaMqeYchM1crlNMeWmaRtmZmZOfmHWO5FnPLnNvtnznplvbN149FjS0YG117rS1tZ2sO3a1h7piHS2fh943HXd4+7W74O3gcdzWz9Lhb5yuVntbRZLxUWF3nqjVimUK42+WrFWrNQqi3trpVKzVq5V6416tVAvlkvNYn+lXuovXNuGDfpbhRvcBj/PjuueZ+HGtmJ7QvPwTMwdCc0jMjEPSWgemYl5aELzqEzMnQnNozMxdyU0j8nE3J3QPDYT87CE5nFC83iheYLQPFFoniQ0TxaapwjNU4XmaULzdKF5htA8U2ieJTTPFprnCM0PCM0PCs0FobkoNPcKzSWhuSw0V4TmPqG5KjTXhOa60PyQ0Pyw0PyI0Pyo0PyY0Py40DxXaH5CaJ4nND8pND8lND8tND8jND8rND8nND8vNL8gNL8oNL8kNL8sNL8iNL8qNM8Xml8Tml8Xmt8Qmt8Umt8Smt8WmhcIze8Ize8Kze8Jze8LzR8IzR8KzR8JzR8LzQuF5kVCc0No/kRoXiw0N4XmfqH5U6H5M6H5c6H5C6H5S6H5K6H5a6H5G6H5W6F5idD8ndD8vdD8g9D8o9D8k9D8s9C8VGj+RWj+VWj+TWj+XWj+Q2j+U2j+S2j+W2heJjT/IzQvF5r/FZr/E5r/F5pXCM0rheZVQvNqoXmN0LxWaF4nNK8XmjcIzRuF5k1C82aheYvQvFVo3iY0bxeadwjNO4XmXULzbqF5j9C8V2jeJzTvF5oPCM0HheZDQvNhofmI0Hw0E/NNCc3HMjHfnNB8PBPzLQnNJzIx35rQfDIT820JzacyMd+e0Hw6E/MdCc1nMjHfmdB8NhPzXQnN5zIx353QfD4T8z0JzRcyMd+b0HwxE/N9Cc2XMjHfn9B8ORNzT0LzlYTmntbfaW+Zh0SGRjojXZHuCOeEnCNxzsAxNMeUHGNxzMF3MN9J7KPZZ/EZ5j3Na9wz6P+5t/VzeGREZGRkVGR0ZExkbGRcZHxkQmRiZFJkcmRKZGpkWmR6ZEZkZmRWZHZkToQZ98x850VkJjgzspkZzQxlZgozY7caYQYrM0mZ0cnMSmY4MtOQGX8DM++YiTYvwswsZkgxU4kZQ8zcYQYNM1mYUcLMDmZYMNOBGQf0/J8foSc8PdLpGU4PbXpK02N5QYQevPSkpUcrPUvp4UlPS3o80vNwYYSeeI0IPdPoIUZPLXpM0XOJHkT05KFHDT1b6GFCTw96XNDzYUmEngCskWfNOGuoWVPMGtulEdZgsiaRNXqsWWMNF2uaWOPDmpdlEdZELI9QM08NOTXV1BhTc0sNKjWZ1ChSs0cNGzVd1DhR80MNDDUh1EhQM8A9dO4pc4+Ve47cg+OeFPdoeE9wDZ9r2lzj5ZrnoQjXxLhGxDUTriFwTs05JudcnINwTM4xKsdsHMPwnc53HPt89oHsE/iMDGxXAR3DARWElwAA",
"bytecode": "H4sIAAAAAAAA/+XdZZOTZxSH8V0gSd27uLu1ySbZJFVK3alSL6Rk6y1V6qXU3XB390/IuWbCwAt4xb0z3HNl5j9590x+m+yj5z7nZE9Pz7aeM6/e7vuC7nv5wl6VQmyjcI7tVssDtVqn0d+pVCtLy/2tdrNertXbA81Ks1Jv1pf1N6vVTrPWbLTarUa5ValVO5XBeqs62N1wId1nLA+FuxjbKA6Bu3iRu0uxjdIQuEuJ3ef7vV/o5xw5RJ9zWOLvqTeheVQm5mEJzaMzMQ9PaB6TiXlEQvPYTMyFhOZxmZiLCc3jMzGXEponZGIemdA8UWieJDRPFpqnCM1TheZpQvN0oXmG0DxTaJ4lNM8WmucIzXOF5nlC83yh+Sah+WahuSw0V4TmfqG5KjTXhOa60DwgNDeE5qbQ3BKabxGabxWabxOabxea7xCa7xSaFwjNdwnNC4Xmu4Xme4Tme4Xm+4Tm+4XmB4TmB4Xmh4Tmh4XmR4TmR4Xmx4Tmx4XmRULzE0Lzk0LzU0Lz00LzM0Lzs0LzYqH5OaH5eaH5BaH5RaH5JaH5ZaH5FaH5VaF5idC8VGhuC82vCc3LhOaO0DwoNL8uNL8hNL8pNL8lNL8tNL8jNL8rNL8nNL8vNC8Xmj8Qmj8Umj8Smj8Wmj8Rmj8VmlcIzZ8JzZ8LzV8IzV8KzV8JzV8Lzd8Izd8KzSuF5u+E5lVC8/dC8w9C849C809C889C8y9C869C829C8+9C8x9C859C819C899C8z9C879C839C8/9C82qheY3QvFZoXic0rxeaNwjNG4XmTULzZqF5i9C8VWjeJjRvF5p3CM07heZdmZgvSWjenYn50oTmPZmYL0to3puJ+fKE5n2ZmK9IaN6fifnKhOYDmZivSmg+mIn56oTmQ5mYr0loPpyJ+dqE5iOZmK9LaD6aifn6hOZjmZhvSGg+non5xoTmE5mY+xKaTyY093W309s1D4+MiBQixUgpwjUh10hcM3AOzTkl51icc3AM5pjEPpp9Fv/D/Kb5jvvO+ntu6r6PioyOjImMjYyLjI9MiEyMTIpMjkyJTI1Mi0yPzIjMjMyKzI7MicyNzIvMjzDjnpnvfInMBGdGNjOjmaHMTGFm7DYizGBlJikzOplZyQxHZhoy4+/0zDtmoi2MMDOLGVLMVGLGEDN3mEHDTBZmlDCzgxkWzHRgxgE9/xdF6AlPj3R6htNDm57S9FheHKEHLz1p6dFKz1J6eNLTkh6P9DxcEqEnXjtCzzR6iNFTix5T9FyiBxE9eehRQ88WepjQ04MeF/R8WB6hJwBr5Fkzzhpq1hSzxnZFhDWYrElkjR5r1ljDxZom1viw5mVlhDURqyLUzFNDTk01NcbU3FKDSk0mNYrU7FHDRk0XNU7U/FADQ00INRLUDPAMnWfKPGPlmSPP4HgmxTMafhPcw+eeNvd4uee5PcI9Me4Rcc+EewhcU3ONyTUX1yCck3OOyjkb5zAc0znGsc9nH8g+gf+R069TXMw0LzyaAAA=",
"verificationKey": "0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f"
},
{
Expand All @@ -24,15 +24,15 @@
}
],
"returnTypes": [],
"bytecode": "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",
"bytecode": "H4sIAAAAAAAA/+Xd928TZxzH8Ysd26QtozMBAoS9Avg8knNnQnfpSDfdxNihaVNKk9BCJ6V70z3ooJTuveGfQ3zf0lmcLPNTHks8+lj6yBFBl3udz+e78/N8v8eCIDgSnHx0xM9D8XN+Zo8wY8vItFhuMT9QKtUHC/WwGI7mC5VqVM6XytWBKIzCclSuFaJisR6VosFKtTKYr4SlYj0cK1eKY/GCM+7WMd8Od9aWkW2DO3uau3O2jFwb3DnH7lPt7zNdzx6H69kRb8u+eHndluOWHtHnfsv8+DVju8yLt8v802C9FljSwcn9Kflw/R7rDtzuY411TMc/L7T0WhZZZsf/1mVJNbmyiZ+HHK1Pq2NmfoaPTGJduxLr3PDMiX/f6fbvFrsS27R5X2jebkHi78+Ktz2PHfXpkd3VifHtW+p7h3fWRkYnp8dHJ4Zrtcn61FSrFy/d4g+lEvhM0/9LvrCN3+WCFjvyUOBkq4SNd29yb+Nd1Bs/L4qf51oWN61DqmldZnq0dvhOChcH7fmESrVh+7vafks8Maccmvs8Macdmpd6Yu50aF7miTnj0LzcE3PWoXmFJ+acQ/NKT8wLHJpXeWJe6NC82hNzr0PzGk/MPQ7NawXN6wTN6wXN/YLmDYLmjYLmTYLmvKA5FDQXBM1FQXNJ0FwWNA8ImgcFzZGguSJovlDQfJGg+WJB8yWC5ksFzZcJmocEzcOC5s2C5ssFzVcImq8UNF8laL5a0HyNoPlaQfN1guYtgubrBc03CJpvFDTfJGgeETTfLGi+RdB8q6D5NkHz7YLmOwTNdwqatwqa7xI03y1ovkfQfK+g+T5B8/2C5gcEzdsEzaOC5qqgebuguSZorguaxwTNOwTNDwqaxwXNDwmaHxY0TwiaHxE07xQ0Pypo3iVofkzQPClonhI0TwuadwuaHxc0PyFo3iNo3itoflLQ/JSg+WlB8zOC5mcFzc8JmvcJmp8XNO8XNL8gaH5R0PySoPllQfMrguZXBc2vCZpfFzS/IWh+U9D8lqD5bUHzO4LmA4LmdwXN7wma3xc0fyBo/lDQ/JGg+WNB8yeC5k8FzZ8Jmg8Kmj8XNH8haP5S0PyVoPmQoPlrQfNhQfM3guYjguZvBc3fCZq/FzT/IGj+UdD8kyfmWQ7NP3ti7nJo/sUT8xkOzb96Yj7Tofk3T8xnOTT/7ol5tkPzH56Y5zg0/+mJea5D81+emOc5NP/tiflsh+Z/PDGf49D8ryfmcx2a//PEfJ5D8/+emM93aD7qifkCh+ZjDs3d8XI6YnPa0mnJWLKWnIVrQq6RuGbgHJpzSs6xOOfgM5jPJI7RHLN4D7NP8xpj7k5s04Px8xJLn2WpZZlluWWFZaVllWW1ZY1lrWWdZb2l37LBstGyCbcltBTYnpaShT739H2nD3pkoU82faPpo0xfYfrs0ne20YeVPp2bLfRxpK8hff7oe0cfOPqi0SeMvln0kaKvEn2G6LtDH5oRC31K6NtBHwv6OtDngLr/1MHfaqFOOnXDqaNNXWnqLFN3mDq82yzUaa1aqONJXUvqPFL3kDqA1MWjThx106gjRl0t6kxRd4k6RLss1Kmhbgt1TKjrQZ0L6j5QB2GPhXnyzBtnHjXziplny7xT5mHuszBPb7+FeVzMa2KeD/NemAfCvAjmCTBunnHkjKtmnDHjbhmHesDCOEXG7TGOjXFdjHNi3A/jYBgXwjgJxg3wuvO9Mt+z8r0j38MdsvA9zWEL9/G5r819Xu57ch+Q+2LcJ+K+CfcRuK7mOpPrLq5DOC/nPJXzNs5j+Fznc47jPsdBjgu8TxqPE9qmuCs6oAAA",
"verificationKey": "0000000200000800000000740000000f00000003515f3109623eb3c25aa5b16a1a79fd558bac7a7ce62c4560a8c537c77ce80dd339128d1d37b6582ee9e6df9567efb64313471dfa18f520f9ce53161b50dbf7731bc5f900000003515f322bc4cce83a486a92c92fd59bd84e0f92595baa639fc2ed86b00ffa0dfded2a092a669a3bdb7a273a015eda494457cc7ed5236f26cee330c290d45a33b9daa94800000003515f332729426c008c085a81bd34d8ef12dd31e80130339ef99d50013a89e4558eee6d0fa4ffe2ee7b7b62eb92608b2251ac31396a718f9b34978888789042b790a30100000003515f342be6b6824a913eb7a57b03cb1ee7bfb4de02f2f65fe8a4e97baa7766ddb353a82a8a25c49dc63778cd9fe96173f12a2bc77f3682f4c4448f98f1df82c75234a100000003515f351f85760d6ab567465aadc2f180af9eae3800e6958fec96aef53fd8a7b195d7c000c6267a0dd5cfc22b3fe804f53e266069c0e36f51885baec1e7e67650c62e170000000c515f41524954484d455449430d9d0f8ece2aa12012fa21e6e5c859e97bd5704e5c122064a66051294bc5e04213f61f54a0ebdf6fee4d4a6ecf693478191de0c2899bcd8e86a636c8d3eff43400000003515f43224a99d02c86336737c8dd5b746c40d2be6aead8393889a76a18d664029096e90f7fe81adcc92a74350eada9622ac453f49ebac24a066a1f83b394df54dfa0130000000c515f46495845445f42415345060e8a013ed289c2f9fd7473b04f6594b138ddb4b4cf6b901622a14088f04b8d2c83ff74fce56e3d5573b99c7b26d85d5046ce0c6559506acb7a675e7713eb3a00000007515f4c4f4749430721a91cb8da4b917e054f72147e1760cfe0ef3d45090ac0f4961d84ec1996961a25e787b26bd8b50b1a99450f77a424a83513c2b33af268cd253b0587ff50c700000003515f4d05dbd8623b8652511e1eb38d38887a69eceb082f807514f09e127237c5213b401b9325b48c6c225968002318095f89d0ef9cf629b2b7f0172e03bc39aacf6ed800000007515f52414e474504b57a3805e41df328f5ca9aefa40fad5917391543b7b65c6476e60b8f72e9ad07c92f3b3e11c8feae96dedc4b14a6226ef3201244f37cfc1ee5b96781f48d2b000000075349474d415f3125001d1954a18571eaa007144c5a567bb0d2be4def08a8be918b8c05e3b27d312c59ed41e09e144eab5de77ca89a2fd783be702a47c951d3112e3de02ce6e47c000000075349474d415f3223994e6a23618e60fa01c449a7ab88378709197e186d48d604bfb6931ffb15ad11c5ec7a0700570f80088fd5198ab5d5c227f2ad2a455a6edeec024156bb7beb000000075349474d415f3300cda5845f23468a13275d18bddae27c6bb189cf9aa95b6a03a0cb6688c7e8d829639b45cf8607c525cc400b55ebf90205f2f378626dc3406cc59b2d1b474fba000000075349474d415f342d299e7928496ea2d37f10b43afd6a80c90a33b483090d18069ffa275eedb2fc2f82121e8de43dc036d99b478b6227ceef34248939987a19011f065d8b5cef5c0000000010000000000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f"
}
],
"events": [],
"debug": {
"debugSymbols": [
"eJyrVsrJT04syczPK1ayqq6tBQAz9wY7",
"eJy9kkEKgzAQRe8ya5EkMxMTr1K6kNaCIFqqO8nda4uJRYPFCl0Z4c3Py08GqNtL0Vdt00E+AEJ+GqC7F83rr+uLRw+5SKBsruPXJXCr6hJy6ZIVJRHZTuS4NjLQSDGclCCPk9LfcNQq0IJm2LhzAvRH7ZEJImjNEW2OaSvrxVHipjqFAol1IPkdrY9Fs5ETqZE/oyNHDKEqs/MBeXcb2TFlTdorZ7xoA9NouBQcnqCwq0f1yxCn8eaNl0NcXhXH99keMftH7N4Rvb8A556tK0JN"
"eJzVkEEKgzAQRe8y6yAmkxkTr1K6kNaCIFqqO8nda4uJxQaLFQpdJYH3Py9/gLo9FX3VNh3kAyDkhwG6a9E8Xl1f3HrIUwFlcx5PJ+BS1SXk0ok3SiKSncjxbmSgUcdwrVLtca34A26RJtganFHjjgL0P0rTD6VHJkijNd9Lc0xaWa+NElfFdRhPEweSntXZvmoyciIZ6bU6skcoVZmdP0gbtzD7hFmzF85osQUn8aGNjyAu5+MkPuBqJP6F1YjdFnHuDt1ESYg="
],
"fileMap": {
"1": {
Expand All @@ -48,7 +48,7 @@
"path": "/mnt/user-data/kev/aztec-packages/yarn-project/aztec-nr/aztec/src/address.nr"
},
"38": {
"source": "use dep::std::hash::{pedersen_with_separator, sha256};\nuse crate::constants_gen::{\n GENERATOR_INDEX__SIGNATURE_PAYLOAD,\n GENERATOR_INDEX__L1_TO_L2_MESSAGE_SECRET,\n};\n\npub fn sha256_to_field<N>(bytes_to_hash: [u8; N]) -> Field {\n let sha256_hashed = sha256(bytes_to_hash);\n\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 + (sha256_hashed[15 - i] as Field) * v;\n low = low + (sha256_hashed[16 + 15 - i] as Field) * v;\n v = v * 256;\n }\n\n // Abuse that a % p + b % p = (a + b) % p and that low < p\n let hash_in_a_field = low + high * v;\n\n hash_in_a_field\n}\n\npub fn compute_secret_hash(secret: Field) -> Field {\n // TODO(#1205) This is probably not the right index to use\n pedersen_hash([secret], GENERATOR_INDEX__L1_TO_L2_MESSAGE_SECRET)\n}\n\n#[oracle(pedersenHash)]\nfn pedersen_hash_oracle<N>(_inputs: [Field; N], _hash_index: u32) -> Field {}\n\nunconstrained fn pedersen_hash_internal<N>(inputs: [Field; N], hash_index: u32) -> Field {\n pedersen_hash_oracle(inputs, hash_index)\n}\n\n// TODO(Kev): We can move this into the noir std-lib \n// as an acir opcode, once we have the pedersen PR merged.\npub fn pedersen_hash<N>(inputs: [Field; N], hash_index: u32) -> Field {\n // Temporary hack. This is not right. Kev forced me to do this. Blame him.\n pedersen_hash_internal(inputs, hash_index)\n // let input_size = inputs.len();\n // let mut modified_inputs = [];\n // modified_inputs = modified_inputs.push_back(input_size as Field);\n // for i in 0..N {\n // modified_inputs = modified_inputs.push_back(inputs[i]);\n // }\n // pedersen_with_separator(modified_inputs, hash_index)[0]\n}",
"source": "use dep::std::hash::{pedersen_hash_with_separator, sha256};\nuse crate::constants_gen::{\n GENERATOR_INDEX__SIGNATURE_PAYLOAD,\n GENERATOR_INDEX__L1_TO_L2_MESSAGE_SECRET,\n};\n\npub fn sha256_to_field<N>(bytes_to_hash: [u8; N]) -> Field {\n let sha256_hashed = sha256(bytes_to_hash);\n\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 + (sha256_hashed[15 - i] as Field) * v;\n low = low + (sha256_hashed[16 + 15 - i] as Field) * v;\n v = v * 256;\n }\n\n // Abuse that a % p + b % p = (a + b) % p and that low < p\n let hash_in_a_field = low + high * v;\n\n hash_in_a_field\n}\n\npub fn compute_secret_hash(secret: Field) -> Field {\n // TODO(#1205) This is probably not the right index to use\n pedersen_hash([secret], GENERATOR_INDEX__L1_TO_L2_MESSAGE_SECRET)\n}\n\npub fn pedersen_hash<N>(inputs: [Field; N], hash_index: u32) -> Field {\n pedersen_hash_with_separator(inputs, hash_index)\n}",
"path": "/mnt/user-data/kev/aztec-packages/yarn-project/aztec-nr/aztec/src/hash.nr"
},
"58": {
Expand Down
Loading