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

zcash-android-wallet-sdk: CompactblockProcessor.fetchTransaction pass txId twice #1254

Closed
HonzaR opened this issue Sep 20, 2023 · 1 comment

Comments

@HonzaR
Copy link
Contributor

HonzaR commented Sep 20, 2023

Is your feature request related to a problem? Please describe.

We'd like to have a better solution for passing transaction ID to the CompactblockProcessor.fetchTransaction function.

Describe the solution you'd like

The transaction ID is rawId of type FirstClassByteArray, so we could let this type print itself or provide another wrapper class e.g. TxId wrapper class, that knows how to print itself as a string.

@nuttycom nuttycom added this to the SDK 2.0 Post-Release Cleanup milestone Sep 21, 2023
HonzaR added a commit that referenced this issue Aug 15, 2024
- Distinct between decryptAndStoreTransaction and setTransactionStatus path by minedHeight
- Convert from RawStatusUnsafe to TransactionStatus
- Add RawTransaction object and related functions
- These changes resolve older issue #1254
HonzaR added a commit that referenced this issue Aug 20, 2024
* Fix RawTransactionUnsafe to handle height response correctly

* Migrate to latest revision of librustzcash crates

* Expose transaction_data_requests and set_transaction_status across JNI

* New usage of setTransactionStatus

- Distinct between decryptAndStoreTransaction and setTransactionStatus path by minedHeight
- Convert from RawStatusUnsafe to TransactionStatus
- Add RawTransaction object and related functions
- These changes resolve older issue #1254

* New usage of transactionDataRequests

- New backend.transactionDataRequests and related logic is now used within CompactBlockProcessor
- getTAddressTransactions from LightWalletclient module is now newly used
- These also changes remove now unused querying transactions-related functions from  v_transactions

* Decrypt and store all types of transactions

In case of SpendsFromAddress flow

* Fix passing JniTransactionDataRequest to Kotlin

* Fix ktlint and detekt warnings

* Changelog update

* Code cleanup

* Process SpendsFromAddress on stream

Instead of consuming the stream into list and working with list

* Fix ktlint warnings

* Target latest librustzcash commit

* Move to the latest Rust crates commit

* Change setTransactionStatus trigger

Handle setTransactionStatus by TransactionDataRequest rather then minedHeight

* Fix getTAddressTransactions input range

---------

Co-authored-by: Honza <[email protected]>
@HonzaR
Copy link
Contributor Author

HonzaR commented Aug 20, 2024

Resolved as part of this PR #1559

@HonzaR HonzaR closed this as completed Aug 20, 2024
Milan-Cerovsky added a commit that referenced this issue Aug 21, 2024
* cargo update

* rust: Remove unused direct dependencies

* Migrate to Rust 1.79

* Migrate to latest revision of librustzcash crates

* Add ZIP 320 TEX address validation

* Migrate to latest revision of librustzcash crates

This includes support for creating transaction proposals that send to
TEX addresses.

* Fix handling of empty memos

This fixes several existing issues:
- The Rust backend's `proposeTransfer` expected to receive `null` for no
  memo, but was instead receiving an empty array. `proposeShielding`
  meanwhile was always expecting a memo.
- The Kotlin side had nullable byte arrays, but then always converted an
  empty string to an empty byte array instead of `null`.

* Fix Detekt warning

* Changelog update

* Exception reporting issue filed

Filed a follow-up issue #1534

* Add WalletAddress.Tex type

* Another fix of Detekt warning

* Migrate to latest revision of librustzcash crates

* Raise MSRV to 1.80

* Fix clippy lints as of 1.80

* cargo update

* Add `Synchronizer` APIs for USD/ZEC exchange rate

* Exchange rate implementation (#1537)

* Exchange rates API refactor

* Code cleanup

* Demo app updates

* Exchange rate implementation

* Detekt and ktlint checks

* Code cleanup

* Address review comments

* Code cleanup

* Code cleanup

* Tor initialization and disposal (#1560)

* Tor initialization and disposal

* Code cleanup

* Integrate transaction status queue for transparent history

* Fix RawTransactionUnsafe to handle height response correctly

* Migrate to latest revision of librustzcash crates

* Expose transaction_data_requests and set_transaction_status across JNI

* New usage of setTransactionStatus

- Distinct between decryptAndStoreTransaction and setTransactionStatus path by minedHeight
- Convert from RawStatusUnsafe to TransactionStatus
- Add RawTransaction object and related functions
- These changes resolve older issue #1254

* New usage of transactionDataRequests

- New backend.transactionDataRequests and related logic is now used within CompactBlockProcessor
- getTAddressTransactions from LightWalletclient module is now newly used
- These also changes remove now unused querying transactions-related functions from  v_transactions

* Decrypt and store all types of transactions

In case of SpendsFromAddress flow

* Fix passing JniTransactionDataRequest to Kotlin

* Fix ktlint and detekt warnings

* Changelog update

* Code cleanup

* Process SpendsFromAddress on stream

Instead of consuming the stream into list and working with list

* Fix ktlint warnings

* Target latest librustzcash commit

* Move to the latest Rust crates commit

* Change setTransactionStatus trigger

Handle setTransactionStatus by TransactionDataRequest rather then minedHeight

* Fix getTAddressTransactions input range

---------

Co-authored-by: Honza <[email protected]>

* Update to the latest zcash dependencies

- `zcash_address 0.4`
- `zcash_client_backend 0.13`
- `zcash_client_sqlite 0.11`
- `zcash_primitives 0.16`
- `zcash_proofs 0.16`

* Documentation update

* Fetch transaction error handling

* Update CHANGELOG.md

Co-authored-by: Kris Nuttycombe <[email protected]>

* Fix handling of ``OrphanedBlock` in `RawTransactionUnsafeExt`

---------

Co-authored-by: Honza <[email protected]>
Co-authored-by: Milan <[email protected]>
Co-authored-by: Kris Nuttycombe <[email protected]>
Co-authored-by: Kris Nuttycombe <[email protected]>
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

No branches or pull requests

2 participants