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: standardize output hash for unblinded output, transaction output and transaction input #3592

Conversation

hansieodendaal
Copy link
Contributor

@hansieodendaal hansieodendaal commented Nov 19, 2021

Description

  • Standardized output hash calculation for unblinded output, transaction output and transaction input.
  • Refactored transaction.rs code layout to be modular in the file system.
    Note: The only real change in the code is the standardized use of transactions/transaction_entities/mod.rs/pub fn hash_output(...) called from transactions/transaction_entities/transaction_input.rs, transactions/transaction_entities/transaction_output.rs and transactions/transaction_entities/unblinded_output.rs.

Motivation and Context

Different output hash calculation implementations existed for output hash calculation for unblinded output vs. transaction output and transaction input.

How Has This Been Tested?

Unit testing.

@hansieodendaal hansieodendaal changed the title feat: standardize output hash for unblinded output, transaction output and transaction input [WIP] feat: standardize output hash for unblinded output, transaction output and transaction input Nov 19, 2021
SWvheerden
SWvheerden previously approved these changes Nov 19, 2021
Copy link
Collaborator

@SWvheerden SWvheerden left a comment

Choose a reason for hiding this comment

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

LGTM so far
I like the splitting up of the transaction file, that file had way too many structs and way too many lines.

- Standardized hash for a transaction output and an unblinded output as well
  as for the output hash calculation for transaction input.
- Refactored `transaction.rs` code layout to be modular in the file system.
@hansieodendaal hansieodendaal changed the title [WIP] feat: standardize output hash for unblinded output, transaction output and transaction input feat: standardize output hash for unblinded output, transaction output and transaction input Nov 19, 2021
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.

Looks good

@aviator-app aviator-app bot added mq-failed and removed mq-failed labels Nov 19, 2021
@aviator-app aviator-app bot merged commit 2ba437b into tari-project:development Nov 19, 2021
@hansieodendaal hansieodendaal deleted the ho_standardize_output_hash2 branch November 22, 2021 05:52
sdbondi added a commit to sdbondi/tari that referenced this pull request Nov 22, 2021
* development:
  feat: language detection for mnemonic seed words (tari-project#3590)
  chore: minor clippy fixes (tari-project#3576)
  fix: be more permissive of responses for the incorrect request_id (tari-project#3588)
  feat: track ping failures and disconnect (tari-project#3597)
  chore: upgrade tokio deps tari-project#3581 (tari-project#3595)
  feat: standardize output hash for unblinded output, transaction output and transaction input (tari-project#3592)
  fix: allow bullet proof value only rewinding off one-sided transaction (tari-project#3587)
  refactor: update miningcore repository links (tari-project#3593)
  refactor: clean up unwraps in wallet_ffi (tari-project#3585)
  fix: update daily test start times and seed phrase (tari-project#3584)
  fix: allow bullet proof value only rewinding in atomic swaps (tari-project#3586)
  v0.21.2
  fix: remove delay from last request latency call
sdbondi added a commit to sdbondi/tari that referenced this pull request Nov 23, 2021
* development: (46 commits)
  refactor: remove tari_common dependency from tari_comms (tari-project#3580)
  feat: language detection for mnemonic seed words (tari-project#3590)
  chore: minor clippy fixes (tari-project#3576)
  fix: be more permissive of responses for the incorrect request_id (tari-project#3588)
  feat: track ping failures and disconnect (tari-project#3597)
  chore: upgrade tokio deps tari-project#3581 (tari-project#3595)
  feat: standardize output hash for unblinded output, transaction output and transaction input (tari-project#3592)
  fix: allow bullet proof value only rewinding off one-sided transaction (tari-project#3587)
  refactor: update miningcore repository links (tari-project#3593)
  refactor: clean up unwraps in wallet_ffi (tari-project#3585)
  fix: update daily test start times and seed phrase (tari-project#3584)
  fix: allow bullet proof value only rewinding in atomic swaps (tari-project#3586)
  v0.21.2
  feat: add atomic swap refund transaction handling (tari-project#3573)
  feat: improve wallet connectivity status for console wallet (tari-project#3577)
  v0.21.1
  feat: add error codes to LibWallet for CipherSeed errors (tari-project#3578)
  ci: split cucumber job into two (tari-project#3583)
  feat(wallet): import utxo’s as EncumberedToBeReceived rather than Unspent (tari-project#3575)
  docs: rfc 0250_Covenants (tari-project#3574)
  ...
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.

3 participants