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

feat: re-use scanned range proofs #3764

Conversation

hansieodendaal
Copy link
Contributor

Description

  • Re-used scanned range proofs for one-sided payments and wallet recovery instead of re-calculating them every time
  • Consistent creation of rewindable outputs in the wallet database

Motivation and Context

  • Scanning of one-sided payments and wallet recovery was inefficient due to wasteful re-calculating of the range proof before adding the output to the wallet database, which in any case would never correspond to the range proof on the blockchain.
  • A mixture of rewindable and non-rewindable outputs were created in certain transaction protocols; all outputs need to be rewindable.

How Has This Been Tested?

  • Unit tests
  • Cucumber tests (npm test -- --tags "@critical")

- Re-used scanned range proofs for one_sided payments and wallet
  recovery instead of re-calculating them
- Consistent creation of rewindable outputs in the wallet database
Copy link
Contributor

@philipr-za philipr-za left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@aviator-app aviator-app bot merged commit ffd502d into tari-project:development Feb 2, 2022
@hansieodendaal hansieodendaal deleted the ho_reuse_rangeproof_for_rewindable_output branch February 3, 2022 10:36
sdbondi added a commit to sdbondi/tari that referenced this pull request Feb 8, 2022
* development:
  refactor: reduce log level of some messages (tari-project#3804)
  ci: move Apple IDs into envs (tari-project#3797)
  feat: read asset definitions from base layer (tari-project#3802)
  fix: bump flood ban messages config (tari-project#3799)
  docs: readme fixes (tari-project#3800)
  feat(wallet_ffi)!:  add base node connectivity callback to wallet ffi (tari-project#3796)
  fix: minor fixes on collectibles (tari-project#3795)
  refactor: outbound message pipeline, threads and mempool improvements (tari-project#3792)
  feat(collectibles): add delete committee member button (tari-project#3786)
  fix(comms): minor edge-case fix to handle inbound connection while dialing (tari-project#3785)
  fix(core)!: fix potential panic for sidechain merkle root with incorrect length (tari-project#3788)
  fix(core): reduce one block behind waiting period (tari-project#3798)
  feat: add specific LibWallet error code for “Fee is greater than amount” (tari-project#3793)
  fix: coinbase output recovery bug (tari-project#3789)
  feat(base-node): add number of active sync peers metric (tari-project#3784)
  chore: script to keep .gitkeep file (tari-project#3787)
  feat: re-use scanned range proofs (tari-project#3764)
  feat: ability to compile on stable rust (tari-project#3759)
  feat: add logging and config to collectibles (tari-project#3781)
  chore: remove debug info from get-mempool-state (tari-project#3782)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants