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

Having a flag #[should_panic] for tests that are meant to fail #1994

Closed
harshnambiar opened this issue Jul 21, 2023 · 5 comments · Fixed by #2418
Closed

Having a flag #[should_panic] for tests that are meant to fail #1994

harshnambiar opened this issue Jul 21, 2023 · 5 comments · Fixed by #2418
Assignees
Labels
enhancement New feature or request

Comments

@harshnambiar
Copy link

Problem

Suppose I have a set of methods that have an assert statement inside them (say Denominator should not be 0, the maximum permissible right shifts be 100, etc), then to test them with nargo test, there should be a mechanism to be able to write negative tests that 'pass' when the method 'fails'. After discussing yesterday on the dev hour call with the Noir team, have created this feature request.

Happy Case

One way would be to have #[should_panic] as a tag, similar to Rust in Noir. It would just need to invert the passing or failing or the tagged test case.

Alternatives Considered

Alternatively, if there were a way to error handle such a function, and then assert that the error thrown was the same one we expected to be thrown, that would work as well.

Additional Context

No response

Would you like to submit a PR for this Issue?

No

Support Needs

No response

@harshnambiar harshnambiar added the enhancement New feature or request label Jul 21, 2023
@kevaundray
Copy link
Collaborator

@guipublic assigned this to you, the easiest way to do this in the short term, would be to add a assert_false method which would desugar into an assert and a not

@TomAFrench
Copy link
Member

TomAFrench commented Jul 24, 2023

The addition of assert_not wouldn't resolve this issue imo. Consider the function require_equal and test below:

fn require_equal(x: Field, y: Field) {
    assert(x == y);
}


#[test]
fn ne_should_panic() {
    require_equal(1, 2)
}

The assert call in require_equal is part of the program's business logic and so can't be changed for testing purposes. There's then no way to rewrite the test to test for panics. This example is a bit contrived as you could rewrite require_equal as is_equal and apply the constraint in the test function, but in general test cases will need to check constraints which exist inside the function being tested (e.g. range checks to prevent overflow).

I also think that we don't need a assert_not(x) function as it's sufficiently covered by assert(!x). We can add a assert_ne(x, y) function when we add assert_eq() to match Rust however.

@harshnambiar
Copy link
Author

The addition of assert_not wouldn't resolve this issue imo. Consider the function require_equal and test below:

fn require_equal(x: Field, y: Field) {
    assert(x == y);
}


#[test]
fn ne_should_panic() {
    require_equal(1, 2)
}

The assert call in require_equal is part of the program's business logic and so can't be changed for testing purposes. There's then no way to rewrite the test to test for panics. This example is a bit contrived as you could rewrite require_equal as is_equal and apply the constraint in the test function, but in general test cases will need to check constraints which exist inside the function being tested (e.g. range checks to prevent overflow).

I also think that we don't need a assert_not(x) function as it's sufficiently covered by assert(!x). We can add a assert_ne(x, y) function when we add assert_eq() to match Rust however.

Thank you Tom for highlighting this. Suppose the method is signed int division and someone is just importing the library, then they would not be able to use assert_false on the final repository test cases. A should_panic tag would ensure that any outcome other than the test "passing", including those without an assert, say someone trying to mutate a string in Noir currently leading to a failure of the method, would pass because we are merely inverting the test case result.

@TomAFrench
Copy link
Member

If we can add an attribute for this into the lexer then we could support this relatively easily imo. We'd just need to invert this match statement (or interact with the ACVM directly so we can query the ACVMStatus::Success vs ACVMStatus::Failure)

// Run the backend to ensure the PWG evaluates functions like std::hash::pedersen,
// otherwise constraints involving these expressions will not error.
match execute_circuit(backend, program.circuit, WitnessMap::new()) {
Ok(_) => Ok(()),
Err(error) => {
let writer = StandardStream::stderr(ColorChoice::Always);
let mut writer = writer.lock();
writer.set_color(ColorSpec::new().set_fg(Some(Color::Red))).ok();
writeln!(writer, "failed").ok();
writer.reset().ok();
Err(error.into())
}
}

@Ethan-000
Copy link
Contributor

Kev typing:

We can do:

#[test(should_fail)]

since we don't have support for multiple attributes

@Ethan-000 Ethan-000 assigned Ethan-000 and unassigned TomAFrench and guipublic Aug 23, 2023
@Ethan-000 Ethan-000 added E-LOW and removed E-MEDIUM labels Aug 23, 2023
Maddiaa0 pushed a commit to AztecProtocol/aztec-packages that referenced this issue Aug 25, 2023
Fixes #1794 and address the wrong check in `mul`. 

Would prefer to add tests directly, but noir don't support failing tests
in noir yet, so there is really no good reason to do that currently. See
noir-lang/noir#1994
dan-aztec pushed a commit to AztecProtocol/aztec-packages that referenced this issue Aug 25, 2023
Fixes #1794 and address the wrong check in `mul`. 

Would prefer to add tests directly, but noir don't support failing tests
in noir yet, so there is really no good reason to do that currently. See
noir-lang/noir#1994
dan-aztec added a commit to AztecProtocol/aztec-packages that referenced this issue Aug 25, 2023
refactor: consistent block number method naming (#1751)

Renamed `AztecRPC.getBlockNum` to `getBlockNumber`
and`AztecNode.getBlockHeight` to `getBlockNumber`. I decided to use the
name block number because in the Ethereum JSON RPC spec there is
`eth_blockNumber` call and I think it's a good idea to use the same
naming.

git subrepo push --branch=main docs

subrepo:
  subdir:   "docs"
  merged:   "324402a78"
upstream:
  origin:   "https://github.com/AztecProtocol/docs"
  branch:   "main"
  commit:   "324402a78"
git-subrepo:
  version:  "0.4.6"
  origin:   "???"
  commit:   "???"

refactor: Use context instead of custom oracles for public functions (#1754)

Fixes #1753, #1755 and use context for nullifiers and commitments in
public.

docs: convert quick start guides into e2e tests (#1726)

Fixes #1564

git subrepo push --branch=main docs

subrepo:
  subdir:   "docs"
  merged:   "ba5d7a6bc"
upstream:
  origin:   "https://github.com/AztecProtocol/docs"
  branch:   "main"
  commit:   "ba5d7a6bc"
git-subrepo:
  version:  "0.4.6"
  origin:   "???"
  commit:   "???"

feat(ci): Initial release please config (#1769)

PR with initial release please configuration

Remove the checklist to signal you've completed it. Enable auto-merge if
the PR is ready to merge.
- [ ] If the pull request requires a cryptography review (e.g.
cryptographic algorithm implementations) I have added the 'crypto' tag.
- [ ] I have reviewed my diff in github, line by line and removed
unexpected formatting changes, testing logs, or commented-out code.
- [ ] Every change is related to the PR description.
- [ ] I have
[linked](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue)
this pull request to relevant issues (if any exist).

docs: including "real" code in keys docs (#1767)

Including "real" code in keys docs + addressed one Noir TODO so that it
doesn't get shown inside the docs.

git subrepo push --branch=main docs

subrepo:
  subdir:   "docs"
  merged:   "842a54250"
upstream:
  origin:   "https://github.com/AztecProtocol/docs"
  branch:   "main"
  commit:   "842a54250"
git-subrepo:
  version:  "0.4.6"
  origin:   "???"
  commit:   "???"

feat: not retrying unrecoverable errors (#1752)

Fixes #1511
Fixes #1724

With this PR all the errors thrown in the server code are considered to
be unrecoverable. Recoverable errors should not be errors and should be
handled (or shown only as warnings). For example I refactored the
`registerAccount` and `registerRecipient` to not throw if we add the
same recipient/account twice because that situation is easily
recoverable (just ignore it).

Remove the checklist to signal you've completed it. Enable auto-merge if
the PR is ready to merge.
- [ ] If the pull request requires a cryptography review (e.g.
cryptographic algorithm implementations) I have added the 'crypto' tag.
- [ ] I have reviewed my diff in github, line by line and removed
unexpected formatting changes, testing logs, or commented-out code.
- [ ] Every change is related to the PR description.
- [ ] I have
[linked](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue)
this pull request to relevant issues (if any exist).

feat: compress debug symbols (#1760)

Partial work towards #1224

While working on brillig debug symbols I noticed that the JSON ABIs
started to weight more than some megabytes and started to create issues
for the typescript type inference, since we're importing them as json
modules. This PR addresses that by just compressing the debug symbols
and decompressing them transparently in the utility function that we
have for this in foundation. I used https://www.npmjs.com/package/pako
for gzip since it should be compatible with the browser without issue.

Remove the checklist to signal you've completed it. Enable auto-merge if
the PR is ready to merge.
- [ ] If the pull request requires a cryptography review (e.g.
cryptographic algorithm implementations) I have added the 'crypto' tag.
- [x] I have reviewed my diff in github, line by line and removed
unexpected formatting changes, testing logs, or commented-out code.
- [x] Every change is related to the PR description.
- [ ] I have
[linked](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue)
this pull request to relevant issues (if any exist).

ci: Updated release please config (#1773)

This PR contains further release-please configuration changes.

Remove the checklist to signal you've completed it. Enable auto-merge if
the PR is ready to merge.
- [ ] If the pull request requires a cryptography review (e.g.
cryptographic algorithm implementations) I have added the 'crypto' tag.
- [ ] I have reviewed my diff in github, line by line and removed
unexpected formatting changes, testing logs, or commented-out code.
- [ ] Every change is related to the PR description.
- [ ] I have
[linked](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue)
this pull request to relevant issues (if any exist).

feat(bb): Use an environment variable to set the transcript URL (#1750)

Related to #1749

Remove the checklist to signal you've completed it. Enable auto-merge if
the PR is ready to merge.
- [ ] If the pull request requires a cryptography review (e.g.
cryptographic algorithm implementations) I have added the 'crypto' tag.
- [ ] I have reviewed my diff in github, line by line and removed
unexpected formatting changes, testing logs, or commented-out code.
- [ ] Every change is related to the PR description.
- [ ] I have
[linked](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue)
this pull request to relevant issues (if any exist).

git subrepo push --branch=master circuits/cpp/barretenberg

subrepo:
  subdir:   "circuits/cpp/barretenberg"
  merged:   "41d362e9c"
upstream:
  origin:   "https://github.com/AztecProtocol/barretenberg"
  branch:   "master"
  commit:   "41d362e9c"
git-subrepo:
  version:  "0.4.6"
  origin:   "???"
  commit:   "???"

chore(ci): Updated release please config (#1775)

This PR provides further release-please configuration changes.

Remove the checklist to signal you've completed it. Enable auto-merge if
the PR is ready to merge.
- [ ] If the pull request requires a cryptography review (e.g.
cryptographic algorithm implementations) I have added the 'crypto' tag.
- [ ] I have reviewed my diff in github, line by line and removed
unexpected formatting changes, testing logs, or commented-out code.
- [ ] Every change is related to the PR description.
- [ ] I have
[linked](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue)
this pull request to relevant issues (if any exist).

chore(ci): set up nightly barretenberg releases (#1761)

This PR pulls across the publishing workflow from Noir so that
barretenberg can have nightly releases.

Remove the checklist to signal you've completed it. Enable auto-merge if
the PR is ready to merge.
- [ ] If the pull request requires a cryptography review (e.g.
cryptographic algorithm implementations) I have added the 'crypto' tag.
- [x] I have reviewed my diff in github, line by line and removed
unexpected formatting changes, testing logs, or commented-out code.
- [x] Every change is related to the PR description.
- [x] I have
[linked](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue)
this pull request to relevant issues (if any exist).

chore(master): release 0.1.0-alpha45 (#1774)

:robot: I have created a new Aztec Packages release
---

[0.1.0-alpha45](v0.1.0-alpha44...v0.1.0-alpha45)
(2023-08-23)

* **bb:** Use an environment variable to set the transcript URL
([#1750](#1750))
([31488c1](31488c1))
* **ci:** Initial release please config
([#1769](#1769))
([4207559](4207559))
* compress debug symbols
([#1760](#1760))
([9464b25](9464b25))
* not retrying unrecoverable errors
([#1752](#1752))
([c0f2820](c0f2820))

* Download SRS using one canonical URL across the codebase
([#1748](#1748))
([899b055](899b055))
* proving fails when circuit has size > ~500K
([#1739](#1739))
([708b05c](708b05c))

* **ci:** set up nightly barretenberg releases
([#1761](#1761))
([e0078da](e0078da))
* **ci:** Updated release please config
([#1775](#1775))
([0085e8b](0085e8b))
* consistent block number method naming
([#1751](#1751))
([df1afe2](df1afe2))
* Use context instead of custom oracles for public functions
([#1754](#1754))
([46de77a](46de77a))

* convert quick start guides into e2e tests
([#1726](#1726))
([802a678](802a678)),
closes
[#1564](#1564)
* including "real" code in keys docs
([#1767](#1767))
([cd9cadb](cd9cadb))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

chore: sync bb master (#1776)

Ran:

```
./scripts/git_subrepo.sh pull circuits/cpp/barretenberg
git checkout origin/master -- .gitmodules
```
Remove the checklist to signal you've completed it. Enable auto-merge if
the PR is ready to merge.
- [ ] If the pull request requires a cryptography review (e.g.
cryptographic algorithm implementations) I have added the 'crypto' tag.
- [ ] I have reviewed my diff in github, line by line and removed
unexpected formatting changes, testing logs, or commented-out code.
- [ ] Every change is related to the PR description.
- [ ] I have
[linked](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue)
this pull request to relevant issues (if any exist).

git_subrepo.sh: Fix parent in .gitrepo file.

git subrepo push --branch=master circuits/cpp/barretenberg

subrepo:
  subdir:   "circuits/cpp/barretenberg"
  merged:   "1b1d24e82"
upstream:
  origin:   "https://github.com/AztecProtocol/barretenberg"
  branch:   "master"
  commit:   "1b1d24e82"
git-subrepo:
  version:  "0.4.6"
  origin:   "???"
  commit:   "???"

update noir contract paths

feat: CDP/Lending example contract (#1554)

Finishing up the lending/cdp contract enough for show (no liqudation and unsecure as all the contracts). See #1460.

more instructions

also reference the generated typescript file

start frontend integration w/sandbox

cleaner parsing of functionAbi for yup schema

re-add initialValues

switch to rpcclient instead of server

hardcode some private keys from fixtures

try singleKeyAccount

thanks adam for fixing webasm import

switch to vite.config.js

switch to privateKey class

blocked by undefined methods attribute on the PrivateTokenContract object

revert yarn.lock osx change

use latest yarn.lock

docs: events (#1768)

Fixes #1756

git subrepo push --branch=main docs

subrepo:
  subdir:   "docs"
  merged:   "3c5f3c4a9"
upstream:
  origin:   "https://github.com/AztecProtocol/docs"
  branch:   "main"
  commit:   "3c5f3c4a9"
git-subrepo:
  version:  "0.4.6"
  origin:   "???"
  commit:   "???"

feat: no unencrypted logs in private functions (#1780)

Fixes #1689

git subrepo push --branch=main docs

subrepo:
  subdir:   "docs"
  merged:   "40c05467f"
upstream:
  origin:   "https://github.com/AztecProtocol/docs"
  branch:   "main"
  commit:   "40c05467f"
git-subrepo:
  version:  "0.4.6"
  origin:   "???"
  commit:   "???"

chore(ci): Updated release please configuration (#1787)

This PR contains further configuration changes and documentation for our
usage of release please

Remove the checklist to signal you've completed it. Enable auto-merge if
the PR is ready to merge.
- [ ] If the pull request requires a cryptography review (e.g.
cryptographic algorithm implementations) I have added the 'crypto' tag.
- [ ] I have reviewed my diff in github, line by line and removed
unexpected formatting changes, testing logs, or commented-out code.
- [ ] Every change is related to the PR description.
- [ ] I have
[linked](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue)
this pull request to relevant issues (if any exist).

chore(master): release 0.1.0-alpha46 (#1777)

:robot: I have created a new Aztec Packages release
---

[0.1.0-alpha46](v0.1.0-alpha45...v0.1.0-alpha46)
(2023-08-24)

* CDP/Lending example contract
([#1554](#1554))
([ecf6df2](ecf6df2))
* no unencrypted logs in private functions
([#1780](#1780))
([4d8002e](4d8002e)),
closes
[#1689](#1689)

* **ci:** Updated release please configuration
([#1787](#1787))
([6eb2f7a](6eb2f7a))
* sync bb master
([#1776](#1776))
([7c6fb15](7c6fb15))

* events
([#1768](#1768))
([5a38cea](5a38cea)),
closes
[#1756](#1756)

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

chore: Add todo for using generator indices in note commitment and nullifier computation. (#1762)

fix(noir): Add workaround for latest noir in account contracts (#1781)

Workaround for this issue noir-lang/noir#2421
so we can update the aztec tag to master.

Remove the checklist to signal you've completed it. Enable auto-merge if
the PR is ready to merge.
- [ ] If the pull request requires a cryptography review (e.g.
cryptographic algorithm implementations) I have added the 'crypto' tag.
- [x] I have reviewed my diff in github, line by line and removed
unexpected formatting changes, testing logs, or commented-out code.
- [ ] Every change is related to the PR description.
- [ ] I have
[linked](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue)
this pull request to relevant issues (if any exist).

chore: split out yarn-project bootstrap.sh (#1790)

Allows for more modular bootstrapping.

chore(p2p): Updated libp2p dependencies (#1792)

This PR simply updates the libp2p dependencies to the newest versions.

Remove the checklist to signal you've completed it. Enable auto-merge if
the PR is ready to merge.
- [ ] If the pull request requires a cryptography review (e.g.
cryptographic algorithm implementations) I have added the 'crypto' tag.
- [ ] I have reviewed my diff in github, line by line and removed
unexpected formatting changes, testing logs, or commented-out code.
- [ ] Every change is related to the PR description.
- [ ] I have
[linked](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue)
this pull request to relevant issues (if any exist).

feat: `FunctionSelector` type (#1518)

Fixes #1424

chore: Sandbox logging tweaks (#1797)

Packages a bunch of tweaks to Sandbox debugging and logging, such as:
- Wasm debug logs are now prefixed as `aztec:wasm`, not `wasm`, so they
are visible when debugging via `aztec:*`
- Defaults sandbox logging to INFO instead of DEBUG
- Allows users to configure sandbox debug by exporting `DEBUG='aztec:*'`
in their shell (related to #1605)
- Silences all anvil logs since they didn't provide any useful info
(fixes #1580)
- Renames container names in the sandbox docker-compose (anvil was not
running a fork, and the sandbox is not just an rpc-server)

fix: increment time by 1 for previous rollup was warped (#1594)

With Warp
```
L2 block 1: occurred at t = 100.
Call warp(200) => Rollup.sol's lastBlockTs = 200 & L1.setNextBlockTimeStamp = 200.
L2 block 2: txs show t = 200. Rollup published at t = 200 => Rollup.sol's lastBlockTs = 200
L2 block 3: txs show t = 200.
```
Notice how txs in block 2 and block 3 show a timestamp of 200! This is
confusing.

So we check if the last rollup was warped (here block 2), and if so, txs
in the next rollup (block 3) should show ts = 201. We check if last
rollup was warped by introducing a variable in Rollup.sol that tracks
the last time block was warped.

Also Create #1614

fix: selector name regression (#1800)

I introduced a regression in my function [selector type
PR](#1518) which
caused the selector name to be incorrect in circuits.gen.ts. The issue
was with having different names for selector in FunctionData struct in
TS and C++.

This PR fixes it.

chore(master): release 0.1.0-alpha47 (#1788)

:robot: I have created a new Aztec Packages release
---

[0.1.0-alpha47](v0.1.0-alpha46...v0.1.0-alpha47)
(2023-08-25)

* `FunctionSelector` type
([#1518](#1518))
([942f705](942f705)),
closes
[#1424](#1424)

* increment time by 1 for previous rollup was warped
([#1594](#1594))
([2a52107](2a52107))
* **noir:** Add workaround for latest noir in account contracts
([#1781](#1781))
([eb8a052](eb8a052))
* selector name regression
([#1800](#1800))
([a5be8bb](a5be8bb))

* Add todo for using generator indices in note commitment and nullifier
computation.
([#1762](#1762))
([2db6728](2db6728))
* **p2p:** Updated libp2p dependencies
([#1792](#1792))
([79df831](79df831))
* Sandbox logging tweaks
([#1797](#1797))
([0e3914e](0e3914e))
* split out yarn-project bootstrap.sh
([#1790](#1790))
([1788fe6](1788fe6))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

docs: Wallet dev docs (#1746)

Developer docs on wallets. Introduces a new "architecture" section for
wallets, that elaborates on the RPC server and entrypoints. Deletes the
"building a wallet" tutorial, since building a wallet is excessively
complex for a tutorial.

Fixes #1741
Closes #1745
Pending #1744

git subrepo push --branch=main docs

subrepo:
  subdir:   "docs"
  merged:   "6f755743d"
upstream:
  origin:   "https://github.com/AztecProtocol/docs"
  branch:   "main"
  commit:   "6f755743d"
git-subrepo:
  version:  "0.4.6"
  origin:   "???"
  commit:   "???"

feat: Update safe_math and move to libraries (#1803)

Fixes #1794 and address the wrong check in `mul`.

Would prefer to add tests directly, but noir don't support failing tests
in noir yet, so there is really no good reason to do that currently. See
noir-lang/noir#1994

test: add browser test to canary flow (#1808)

Adding Aztec.js browser test to our canary flow to ensure published npm
package is stable

Remove the checklist to signal you've completed it. Enable auto-merge if
the PR is ready to merge.
- [ ] If the pull request requires a cryptography review (e.g.
cryptographic algorithm implementations) I have added the 'crypto' tag.
- [ ] I have reviewed my diff in github, line by line and removed
unexpected formatting changes, testing logs, or commented-out code.
- [ ] Every change is related to the PR description.
- [ ] I have
[linked](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue)
this pull request to relevant issues (if any exist).

docs: Account contract tutorial (#1772)

Tutorial for writing an account contract. Includes tweaks to payload
helpers in aztec.js to make the process easier.

Fixes #1744
See also #1746

---------

Co-authored-by: Michael Connor <mike@aztecprotocol.com>

git subrepo push --branch=main docs

subrepo:
  subdir:   "docs"
  merged:   "2fd486a6c"
upstream:
  origin:   "https://github.com/AztecProtocol/docs"
  branch:   "main"
  commit:   "2fd486a6c"
git-subrepo:
  version:  "0.4.6"
  origin:   "???"
  commit:   "???"

chore: fixed linter errors for `ecc`, `numeric` and `common` modules (#1714)

The majority of the barretenberg codebase does not conform to our C++
style guide rules.

This PR updates the `common`, `numeric` and `ecc` modules to conform to
the guide. These 3 modules should now produce no linter errors.

Remove the checklist to signal you've completed it. Enable auto-merge if
the PR is ready to merge.
- [x] If the pull request requires a cryptography review (e.g.
cryptographic algorithm implementations) I have added the 'crypto' tag.
- [x] I have reviewed my diff in github, line by line and removed
unexpected formatting changes, testing logs, or commented-out code.
- [x] Every change is related to the PR description.
- [x] I have
[linked](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue)
this pull request to relevant issues (if any exist).

---------

Co-authored-by: kevaundray <kevtheappdev@gmail.com>

git subrepo push --branch=master circuits/cpp/barretenberg

subrepo:
  subdir:   "circuits/cpp/barretenberg"
  merged:   "cca5c1bf1"
upstream:
  origin:   "https://github.com/AztecProtocol/barretenberg"
  branch:   "master"
  commit:   "cca5c1bf1"
git-subrepo:
  version:  "0.4.6"
  origin:   "???"
  commit:   "???"

feat: More reliable getTxReceipt api. (#1793)

Closes #1402 #1548

Previous approach had too many issues - only sender and the recipients
(after they decrypt their notes) can call this api. The data in the
receipt was not consistent.
And the role of TxDao is confusing. Delete it now and remove some
complicated code around it.

Remove the checklist to signal you've completed it. Enable auto-merge if
the PR is ready to merge.
- [ ] If the pull request requires a cryptography review (e.g.
cryptographic algorithm implementations) I have added the 'crypto' tag.
- [ ] I have reviewed my diff in github, line by line and removed
unexpected formatting changes, testing logs, or commented-out code.
- [ ] Every change is related to the PR description.
- [ ] I have
[linked](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue)
this pull request to relevant issues (if any exist).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

5 participants