Skip to content
This repository has been archived by the owner on Apr 9, 2024. It is now read-only.

feat(brillig): implemented first blackbox functions #401

Merged
merged 7 commits into from
Jun 27, 2023

Conversation

sirasistant
Copy link
Contributor

@sirasistant sirasistant commented Jun 22, 2023

Description

Implements the blackbox opcodes and the first black box operations.

Here is a reference implementation of this PR in noir=>brillig noir-lang/noir#1788

Also extracted HeapVector and HeapArray as structs same as RegisterIndex because they are handy for passing data to blackbox operations.

Hashes are implemented with HeapVectors so they are as flexible as possible, since HeapArrays can be casted to HeapVector during compilation by just inssuing a Const opcode.

Problem*

Summary*

Additional Context

PR Checklist*

  • I have tested the changes locally.
  • I have formatted the changes with Prettier and/or cargo fmt on default settings.

@sirasistant sirasistant changed the title feat(brillig): implemented first blackbox functions (WIP) feat(brillig): implemented first blackbox functions Jun 22, 2023
@sirasistant sirasistant marked this pull request as ready for review June 22, 2023 09:07
brillig_vm/Cargo.toml Outdated Show resolved Hide resolved
brillig_vm/src/opcodes.rs Outdated Show resolved Hide resolved
brillig_vm/src/black_box.rs Outdated Show resolved Hide resolved
@sirasistant sirasistant enabled auto-merge June 27, 2023 07:00
@sirasistant sirasistant added this pull request to the merge queue Jun 27, 2023
Merged via the queue into master with commit 62d40f7 Jun 27, 2023
@kevaundray kevaundray mentioned this pull request Jun 27, 2023
@TomAFrench TomAFrench deleted the arv/first_blackbox branch June 27, 2023 07:35
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants