diff --git a/barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/c_bind.cpp b/barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/c_bind.cpp index cbbe6a9f36ea..f3b636a8e088 100644 --- a/barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/c_bind.cpp +++ b/barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/c_bind.cpp @@ -12,11 +12,6 @@ WASM_EXPORT void pedersen__compress_fields(uint8_t const* left, uint8_t const* r barretenberg::fr::serialize_to_buffer(r, result); } -WASM_EXPORT void pedersen_plookup_compress_fields(uint8_t const* left, uint8_t const* right, uint8_t* result) -{ - pedersen__compress_fields(left, right, result); -} - WASM_EXPORT void pedersen__compress(uint8_t const* inputs_buffer, uint8_t* output) { std::vector to_compress; @@ -24,10 +19,7 @@ WASM_EXPORT void pedersen__compress(uint8_t const* inputs_buffer, uint8_t* outpu auto r = crypto::pedersen_hash::hash(to_compress); barretenberg::fr::serialize_to_buffer(r, output); } -WASM_EXPORT void pedersen_plookup_compress(uint8_t const* inputs_buffer, uint8_t* output) -{ - pedersen__compress(inputs_buffer, output); -} + WASM_EXPORT void pedersen__compress_with_hash_index(uint8_t const* inputs_buffer, uint8_t* output, uint32_t hash_index) { std::vector to_compress; @@ -38,12 +30,6 @@ WASM_EXPORT void pedersen__compress_with_hash_index(uint8_t const* inputs_buffer barretenberg::fr::serialize_to_buffer(r, output); } -WASM_EXPORT void pedersen_plookup_compress_with_hash_index(uint8_t const* inputs_buffer, - uint8_t* output, - uint32_t hash_index) -{ - pedersen__compress_with_hash_index(inputs_buffer, output, hash_index); -} WASM_EXPORT void pedersen__commit(uint8_t const* inputs_buffer, uint8_t* output) { std::vector to_compress; @@ -52,22 +38,6 @@ WASM_EXPORT void pedersen__commit(uint8_t const* inputs_buffer, uint8_t* output) serialize::write(output, pedersen_hash); } -WASM_EXPORT void pedersen_plookup_commit(uint8_t const* inputs_buffer, uint8_t* output) -{ - pedersen__commit(inputs_buffer, output); -} - -WASM_EXPORT void pedersen_plookup_commit_with_hash_index(uint8_t const* inputs_buffer, - uint8_t* output, - uint32_t hash_index) -{ - std::vector to_compress; - read(inputs_buffer, to_compress); - crypto::GeneratorContext ctx; - ctx.offset = hash_index; - auto commitment = crypto::pedersen_commitment::commit_native(to_compress, ctx); - serialize::write(output, commitment); -} WASM_EXPORT void pedersen__buffer_to_field(uint8_t const* data, size_t length, uint8_t* r) { diff --git a/barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/c_bind.hpp b/barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/c_bind.hpp index 19b5de4404c4..0ed52cc3fd80 100644 --- a/barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/c_bind.hpp +++ b/barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/c_bind.hpp @@ -1,5 +1,3 @@ -// TODO(@zac-wiliamson #2341 delete this file and rename c_bind_new to c_bind once we have migrated to new hash standard - #pragma once #include "barretenberg/common/mem.hpp" #include "barretenberg/common/serialize.hpp" @@ -9,20 +7,10 @@ WASM_EXPORT void pedersen__init(); WASM_EXPORT void pedersen__compress_fields(uint8_t const* left, uint8_t const* right, uint8_t* result); -WASM_EXPORT void pedersen_plookup_compress_fields(uint8_t const* left, uint8_t const* right, uint8_t* result); WASM_EXPORT void pedersen__compress(uint8_t const* inputs_buffer, uint8_t* output); -WASM_EXPORT void pedersen_plookup_compress(uint8_t const* inputs_buffer, uint8_t* output); WASM_EXPORT void pedersen__compress_with_hash_index(uint8_t const* inputs_buffer, uint8_t* output, uint32_t hash_index); -WASM_EXPORT void pedersen_plookup_compress_with_hash_index(uint8_t const* inputs_buffer, - uint8_t* output, - uint32_t hash_index); - WASM_EXPORT void pedersen__commit(uint8_t const* inputs_buffer, uint8_t* output); -WASM_EXPORT void pedersen_plookup_commit(uint8_t const* inputs_buffer, uint8_t* output); -WASM_EXPORT void pedersen_plookup_commit_with_hash_index(uint8_t const* inputs_buffer, - uint8_t* output, - uint32_t hash_index); WASM_EXPORT void pedersen__buffer_to_field(uint8_t const* data, size_t length, uint8_t* r); diff --git a/barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/c_bind_new.cpp b/barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/c_bind_new.cpp index cb9ea1ba9443..3a2dd00fc283 100644 --- a/barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/c_bind_new.cpp +++ b/barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/c_bind_new.cpp @@ -17,10 +17,6 @@ WASM_EXPORT void pedersen___compress_fields(fr::in_buf left, fr::in_buf right, f barretenberg::fr::serialize_to_buffer(r, result); } -WASM_EXPORT void pedersen___plookup_compress_fields(fr::in_buf left, fr::in_buf right, fr::out_buf result) -{ - pedersen___compress_fields(left, right, result); -} WASM_EXPORT void pedersen___compress(fr::vec_in_buf inputs_buffer, fr::out_buf output) { std::vector to_compress; @@ -29,11 +25,6 @@ WASM_EXPORT void pedersen___compress(fr::vec_in_buf inputs_buffer, fr::out_buf o barretenberg::fr::serialize_to_buffer(r, output); } -WASM_EXPORT void pedersen___plookup_compress(fr::vec_in_buf inputs_buffer, fr::out_buf output) -{ - pedersen___compress(inputs_buffer, output); -} - WASM_EXPORT void pedersen___compress_with_hash_index(fr::vec_in_buf inputs_buffer, uint32_t const* hash_index, fr::out_buf output) @@ -55,23 +46,6 @@ WASM_EXPORT void pedersen___commit(fr::vec_in_buf inputs_buffer, fr::out_buf out serialize::write(output, pedersen_hash); } -WASM_EXPORT void pedersen___plookup_commit(fr::vec_in_buf inputs_buffer, fr::out_buf output) -{ - pedersen___commit(inputs_buffer, output); -} - -WASM_EXPORT void pedersen___plookup_commit_with_hash_index(fr::vec_in_buf inputs_buffer, - uint32_t const* hash_index, - fr::out_buf output) -{ - std::vector to_compress; - read(inputs_buffer, to_compress); - const size_t generator_offset = ntohl(*hash_index); - crypto::GeneratorContext ctx; - ctx.offset = generator_offset; - auto commitment = crypto::pedersen_commitment::commit_native(to_compress, ctx); - serialize::write(output, commitment); -} WASM_EXPORT void pedersen___buffer_to_field(uint8_t const* data, fr::out_buf r) { diff --git a/barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/c_bind_new.hpp b/barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/c_bind_new.hpp index 559c8c51c573..7ab3f72e3e18 100644 --- a/barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/c_bind_new.hpp +++ b/barretenberg/cpp/src/barretenberg/crypto/pedersen_commitment/c_bind_new.hpp @@ -9,20 +9,14 @@ using namespace barretenberg; WASM_EXPORT void pedersen___init(); WASM_EXPORT void pedersen___compress_fields(fr::in_buf left, fr::in_buf right, fr::out_buf result); -WASM_EXPORT void pedersen___plookup_compress_fields(fr::in_buf left, fr::in_buf right, fr::out_buf result); WASM_EXPORT void pedersen___compress(fr::vec_in_buf inputs_buffer, fr::out_buf output); -WASM_EXPORT void pedersen___plookup_compress(fr::vec_in_buf inputs_buffer, fr::out_buf output); WASM_EXPORT void pedersen___compress_with_hash_index(fr::vec_in_buf inputs_buffer, uint32_t const* hash_index, fr::out_buf output); WASM_EXPORT void pedersen___commit(fr::vec_in_buf inputs_buffer, fr::out_buf output); -WASM_EXPORT void pedersen___plookup_commit(fr::vec_in_buf inputs_buffer, fr::out_buf output); -WASM_EXPORT void pedersen___plookup_commit_with_hash_index(fr::vec_in_buf inputs_buffer, - uint32_t const* hash_index, - fr::out_buf output); WASM_EXPORT void pedersen___buffer_to_field(uint8_t const* data, fr::out_buf r); } \ No newline at end of file diff --git a/barretenberg/exports.json b/barretenberg/exports.json index c786bb2cabd8..876db3300ae4 100644 --- a/barretenberg/exports.json +++ b/barretenberg/exports.json @@ -25,26 +25,6 @@ ], "isAsync": false }, - { - "functionName": "pedersen___plookup_compress_fields", - "inArgs": [ - { - "name": "left", - "type": "fr::in_buf" - }, - { - "name": "right", - "type": "fr::in_buf" - } - ], - "outArgs": [ - { - "name": "result", - "type": "fr::out_buf" - } - ], - "isAsync": false - }, { "functionName": "pedersen___compress", "inArgs": [ @@ -62,11 +42,15 @@ "isAsync": false }, { - "functionName": "pedersen___plookup_compress", + "functionName": "pedersen___compress_with_hash_index", "inArgs": [ { "name": "inputs_buffer", "type": "fr::vec_in_buf" + }, + { + "name": "hash_index", + "type": "const uint32_t *" } ], "outArgs": [ @@ -78,15 +62,11 @@ "isAsync": false }, { - "functionName": "pedersen___compress_with_hash_index", + "functionName": "pedersen___commit", "inArgs": [ { "name": "inputs_buffer", "type": "fr::vec_in_buf" - }, - { - "name": "hash_index", - "type": "const uint32_t *" } ], "outArgs": [ @@ -98,23 +78,29 @@ "isAsync": false }, { - "functionName": "pedersen___commit", + "functionName": "pedersen___buffer_to_field", "inArgs": [ { - "name": "inputs_buffer", - "type": "fr::vec_in_buf" + "name": "data", + "type": "const uint8_t *" } ], "outArgs": [ { - "name": "output", + "name": "r", "type": "fr::out_buf" } ], "isAsync": false }, { - "functionName": "pedersen___plookup_commit", + "functionName": "pedersen_hash_init", + "inArgs": [], + "outArgs": [], + "isAsync": false + }, + { + "functionName": "pedersen_hash", "inArgs": [ { "name": "inputs_buffer", @@ -130,7 +116,7 @@ "isAsync": false }, { - "functionName": "pedersen___plookup_commit_with_hash_index", + "functionName": "pedersen_hash_with_hash_index", "inArgs": [ { "name": "inputs_buffer", @@ -149,28 +135,6 @@ ], "isAsync": false }, - { - "functionName": "pedersen___buffer_to_field", - "inArgs": [ - { - "name": "data", - "type": "const uint8_t *" - } - ], - "outArgs": [ - { - "name": "r", - "type": "fr::out_buf" - } - ], - "isAsync": false - }, - { - "functionName": "pedersen_hash_init", - "inArgs": [], - "outArgs": [], - "isAsync": false - }, { "functionName": "pedersen_hash_pair", "inArgs": [ @@ -532,18 +496,6 @@ ], "isAsync": false }, - { - "functionName": "test_thread_abort", - "inArgs": [], - "outArgs": [], - "isAsync": false - }, - { - "functionName": "test_abort", - "inArgs": [], - "outArgs": [], - "isAsync": false - }, { "functionName": "common_init_slab_allocator", "inArgs": [ diff --git a/barretenberg/ts/src/barretenberg_api/index.ts b/barretenberg/ts/src/barretenberg_api/index.ts index c51d24998c14..3f4f3d7c6951 100644 --- a/barretenberg/ts/src/barretenberg_api/index.ts +++ b/barretenberg/ts/src/barretenberg_api/index.ts @@ -27,21 +27,11 @@ export class BarretenbergApi { return result[0]; } - async pedersenPlookupCompressFields(left: Fr, right: Fr): Promise { - const result = await this.binder.callWasmExport('pedersen___compress_fields', [left, right], [Fr]); - return result[0]; - } - async pedersenCompress(inputsBuffer: Fr[]): Promise { const result = await this.binder.callWasmExport('pedersen___compress', [inputsBuffer], [Fr]); return result[0]; } - async pedersenPlookupCompress(inputsBuffer: Fr[]): Promise { - const result = await this.binder.callWasmExport('pedersen___compress', [inputsBuffer], [Fr]); - return result[0]; - } - async pedersenCompressWithHashIndex(inputsBuffer: Fr[], hashIndex: number): Promise { const result = await this.binder.callWasmExport( 'pedersen___compress_with_hash_index', @@ -56,20 +46,6 @@ export class BarretenbergApi { return result[0]; } - async pedersenPlookupCommit(inputsBuffer: Fr[]): Promise { - const result = await this.binder.callWasmExport('pedersen___commit', [inputsBuffer], [Fr]); - return result[0]; - } - - async pedersenPlookupCommitWithHashIndex(inputsBuffer: Fr[], hashIndex: number): Promise { - const result = await this.binder.callWasmExport( - 'pedersen___plookup_commit_with_hash_index', - [inputsBuffer, hashIndex], - [Fr], - ); - return result[0]; - } - async pedersenBufferToField(data: Uint8Array): Promise { const result = await this.binder.callWasmExport('pedersen___buffer_to_field', [data], [Fr]); return result[0]; @@ -80,6 +56,16 @@ export class BarretenbergApi { return; } + async pedersenHash(inputsBuffer: Fr[]): Promise { + const result = await this.binder.callWasmExport('pedersen_hash', [inputsBuffer], [Fr]); + return result[0]; + } + + async pedersenHashWithHashIndex(inputsBuffer: Fr[], hashIndex: number): Promise { + const result = await this.binder.callWasmExport('pedersen_hash_with_hash_index', [inputsBuffer, hashIndex], [Fr]); + return result[0]; + } + async pedersenHashPair(left: Fr, right: Fr): Promise { const result = await this.binder.callWasmExport('pedersen_hash_pair', [left, right], [Fr]); return result[0]; @@ -217,16 +203,6 @@ export class BarretenbergApi { return result[0]; } - async testThreadAbort(): Promise { - const result = await this.binder.callWasmExport('test_thread_abort', [], []); - return; - } - - async testAbort(): Promise { - const result = await this.binder.callWasmExport('test_abort', [], []); - return; - } - async commonInitSlabAllocator(circuitSize: number): Promise { const result = await this.binder.callWasmExport('common_init_slab_allocator', [circuitSize], []); return; diff --git a/barretenberg/ts/src/barretenberg_api/pedersen.test.ts b/barretenberg/ts/src/barretenberg_api/pedersen.test.ts index dba41ca9e352..c2bf4bb20c8b 100644 --- a/barretenberg/ts/src/barretenberg_api/pedersen.test.ts +++ b/barretenberg/ts/src/barretenberg_api/pedersen.test.ts @@ -18,21 +18,11 @@ describe('pedersen', () => { expect(result).toEqual(new Fr(1521373897829389584529155077412196627698249315427143054350987371861781120260n)); }); - it('pedersenPlookupCompressFields', async () => { - const result = await api.pedersenPlookupCompressFields(new Fr(4n), new Fr(8n)); - expect(result).toEqual(new Fr(1521373897829389584529155077412196627698249315427143054350987371861781120260n)); - }); - it('pedersenCompress', async () => { const result = await api.pedersenCompress([new Fr(4n), new Fr(8n), new Fr(12n)]); expect(result).toEqual(new Fr(16354408412011670665169322571938780771784319449166930406648760506154417354381n)); }); - it('pedersenPlookupCompress', async () => { - const result = await api.pedersenPlookupCompress([new Fr(4n), new Fr(8n), new Fr(12n)]); - expect(result).toEqual(new Fr(16354408412011670665169322571938780771784319449166930406648760506154417354381n)); - }); - it('pedersenCompressWithHashIndex', async () => { const result = await api.pedersenCompressWithHashIndex([new Fr(4n), new Fr(8n)], 7); expect(result).toEqual(new Fr(2152386650411553803409271316104075950536496387580531018130718456431861859990n)); @@ -43,11 +33,6 @@ describe('pedersen', () => { expect(result).toEqual(new Fr(18374309251862457296563484909553154519357910650678202211610516068880120638872n)); }); - it('pedersenPlookupCommit', async () => { - const result = await api.pedersenPlookupCommit([new Fr(4n), new Fr(8n)]); - expect(result).toEqual(new Fr(7336965135159957330095956915667769834743631571088528744280187985812103412470n)); - }); - it('pedersenBufferToField', async () => { const result = await api.pedersenBufferToField( Buffer.from('Hello world! I am a buffer to be converted to a field!'), diff --git a/yarn-project/aztec.js/src/account/defaults/entrypoint_payload.ts b/yarn-project/aztec.js/src/account/defaults/entrypoint_payload.ts index 4b55d8e59ab4..7c8c1417cc8c 100644 --- a/yarn-project/aztec.js/src/account/defaults/entrypoint_payload.ts +++ b/yarn-project/aztec.js/src/account/defaults/entrypoint_payload.ts @@ -1,5 +1,5 @@ import { CircuitsWasm, Fr, GeneratorIndex } from '@aztec/circuits.js'; -import { pedersenPlookupCompressWithHashIndex } from '@aztec/circuits.js/barretenberg'; +import { pedersenCompressWithHashIndex } from '@aztec/circuits.js/barretenberg'; import { padArrayEnd } from '@aztec/foundation/collection'; import { FunctionCall, PackedArguments, emptyFunctionCall } from '@aztec/types'; @@ -69,7 +69,7 @@ export async function buildPayload(calls: FunctionCall[]): Promise<{ /** Compresses an entrypoint payload to a 32-byte buffer (useful for signing) */ export async function hashPayload(payload: EntrypointPayload) { - return pedersenPlookupCompressWithHashIndex( + return pedersenCompressWithHashIndex( await CircuitsWasm.get(), flattenPayload(payload).map(fr => fr.toBuffer()), GeneratorIndex.SIGNATURE_PAYLOAD, diff --git a/yarn-project/aztec.js/src/utils/authwit.ts b/yarn-project/aztec.js/src/utils/authwit.ts index 7f38fd271f3d..ca04db12928d 100644 --- a/yarn-project/aztec.js/src/utils/authwit.ts +++ b/yarn-project/aztec.js/src/utils/authwit.ts @@ -1,5 +1,5 @@ import { AztecAddress, CircuitsWasm, GeneratorIndex } from '@aztec/circuits.js'; -import { pedersenPlookupCompressWithHashIndex } from '@aztec/circuits.js/barretenberg'; +import { pedersenCompressWithHashIndex } from '@aztec/circuits.js/barretenberg'; import { FunctionCall, PackedArguments } from '@aztec/types'; // docs:start:authwit_computeAuthWitMessageHash @@ -12,7 +12,7 @@ import { FunctionCall, PackedArguments } from '@aztec/types'; */ export const computeAuthWitMessageHash = async (caller: AztecAddress, request: FunctionCall) => { const wasm = await CircuitsWasm.get(); - return pedersenPlookupCompressWithHashIndex( + return pedersenCompressWithHashIndex( wasm, [ caller.toField(), diff --git a/yarn-project/circuits.js/src/barretenberg/crypto/pedersen/pedersen.ts b/yarn-project/circuits.js/src/barretenberg/crypto/pedersen/pedersen.ts index 6fd57d245716..69362c4f878a 100644 --- a/yarn-project/circuits.js/src/barretenberg/crypto/pedersen/pedersen.ts +++ b/yarn-project/circuits.js/src/barretenberg/crypto/pedersen/pedersen.ts @@ -60,41 +60,6 @@ export function pedersenCompressInputs(wasm: IWasmModule, inputs: Buffer[]): Buf return Buffer.from(wasm.getMemorySlice(0, 32)); } -/** - * Commits to an array of buffers. - * @param wasm - The barretenberg module. - * @param inputs - The array of buffers to compress. - * @returns The resulting 32-byte hash. - * @deprecated Don't call pedersen directly in production code. Instead, create suitably-named functions for specific - * purposes. - */ -export function pedersenPlookupCommitInputs(wasm: IWasmModule, inputs: Buffer[]): Buffer { - // If not done already, precompute constants. - wasm.call('pedersen__init'); - const inputVectors = serializeBufferArrayToVector(inputs); - wasm.writeMemory(0, inputVectors); - wasm.call('pedersen_plookup_commit', 0, 0); - return Buffer.from(wasm.getMemorySlice(0, 32)); -} - -/** - * Commits an array of buffers. - * @param wasm - The barretenberg module. - * @param inputs - The array of buffers to compress. - * @param hashIndex - Hash index of the generator to use (See GeneratorIndex enum). - * @returns The resulting 32-byte hash. - * @deprecated Don't call pedersen directly in production code. Instead, create suitably-named functions for specific - * purposes. - */ -export function pedersenPlookupCommitWithHashIndex(wasm: IWasmModule, inputs: Buffer[], hashIndex: number): Buffer { - // If not done already, precompute constants. - wasm.call('pedersen__init'); - const inputVectors = serializeBufferArrayToVector(inputs); - wasm.writeMemory(0, inputVectors); - wasm.call('pedersen_plookup_commit_with_hash_index', 0, 0, hashIndex); - return Buffer.from(wasm.getMemorySlice(0, 32)); -} - /** * Compresses an array of buffers. * @param wasm - The barretenberg module. @@ -113,24 +78,6 @@ export function pedersenCompressWithHashIndex(wasm: IWasmModule, inputs: Buffer[ return Buffer.from(wasm.getMemorySlice(0, 32)); } -/** - * Compresses an array of buffers. - * @param wasm - The barretenberg module. - * @param inputs - The array of buffers to compress. - * @param hashIndex - Hash index of the generator to use (See GeneratorIndex enum). - * @returns The resulting 32-byte hash. - * @deprecated Don't call pedersen directly in production code. Instead, create suitably-named functions for specific - * purposes. - */ -export function pedersenPlookupCompressWithHashIndex(wasm: IWasmModule, inputs: Buffer[], hashIndex: number): Buffer { - // If not done already, precompute constants. - wasm.call('pedersen__init'); - const inputVectors = serializeBufferArrayToVector(inputs); - wasm.writeMemory(0, inputVectors); - wasm.call('pedersen_plookup_compress_with_hash_index', 0, 0, hashIndex); - return Buffer.from(wasm.getMemorySlice(0, 32)); -} - /** * Get a 32-byte pedersen hash from a buffer. * @param wasm - The barretenberg module.