Commit Graph

212 Commits

Author SHA1 Message Date
Honza 69dc967ada Library version + Changelog 2023-09-25 22:11:44 +02:00
Jack Grigg ee28e4cedb SDK Release v2.0.0-rc.4 2023-09-22 18:05:52 -06:00
Honza bac5900f9e [#1261] SDK Release v2.0.0-rc.3
Closes #1261.
2023-09-21 08:20:56 -06:00
Honza ea78f810dc [#1257] SDK Release v2.0.0-rc.2 2023-09-20 13:59:44 -06:00
Kris Nuttycombe 82757353f6 Update version & changelog for 2.0.0-rc.1 release.
Fixes #1237
2023-09-12 13:08:34 -06:00
Honza Rychnovský 648b31a555 [#1170] Regular transaction flow emitting
* [#1170] Regular transaction flow emitting

Although zcash/librustzcash#918 will provide information on when to trigger transaction polling, this partly solves the issue as well

* Update changelog
2023-09-08 20:19:51 +02:00
Honza Rychnovský 1721150d9b
[#1229] SDK Release 1.21.0-beta01
- Library version bumped
- Changelog updated
- Closes #1229
2023-09-08 20:02:23 +02:00
Honza Rychnovský d38bde86ba
[#1176] Rest Dependency Update 2023-09-03 22:18:48 +02:00
Honza Rychnovský 5b9d122fac
[#1201] Coroutines 1.7.3
- Changelog
- Closes #1201
2023-09-01 15:55:18 +02:00
Honza Rychnovský 6ffa7bca36
[#1199] gRPC + Protobuf dependency update
- Closes #1199
- Changelog
2023-09-01 15:53:47 +02:00
Honza Rychnovský 48200ac865
[#1197] Androidx Updates
* [#1197] Androidx Updates

- Closes #1197
- Closes #839

* Changelog
2023-09-01 15:50:28 +02:00
Honza Rychnovský 07aa9346b7
[#1194][#1195] Compose + AGP dependency update
Changelog
2023-09-01 08:48:54 +02:00
Honza Rychnovský 5c0b2a2f8d
[#1192] Dokka 1.8.20
Closes #1192
2023-08-31 14:41:24 +02:00
Honza Rychnovský 6e1c210d37
[#1190] Kotlin 1.9.10 + Compose Compiler 1.5.3
- Closes #1190
- Closes #1117
2023-08-31 14:40:11 +02:00
Honza Rychnovský 1a0508f57d
[#1152] SDK Release 1.20.0-beta01 2023-07-31 13:34:58 +02:00
Honza Rychnovský 0edaaafad1
[#1104] SDK Release 1.19.0-beta01 2023-07-05 14:19:57 +02:00
Honza Rychnovský dc330228ff
[#1097] Adopt Bip39 1.0.5
* [#1097] Adopt Bip39 1.0.5

* Fix Detekt warnings
2023-07-04 14:14:20 +02:00
Honza Rychnovský e60af8e824
[#1092] Remove unused Paging lib dependency 2023-06-22 17:09:52 +02:00
Honza Rychnovský 53f5550bf4
[#1066] Detekt enhancement
* [#1083] Detekt Compose 0.1.10

* [#1066] Detekt - MaxLineLength rule turn on

* Remove default values

As we keep only those that differ from the default in the latest Detekt update.

* [#1086] Improve TODO inline occurrence pattern
2023-06-20 11:26:38 +02:00
Carter Jernigan 83910888ea
[#921] AGP 8.0.2
* [#921] AGP 7.4.2

* Bump AGP to version 8.0.2

- Includes necessary changes

* Gradle and Rust plugin compatibility workaround

* Release build proguard rules

After bumping to the AGP 8.0.2 some new proguard rules are autogenerated and one new for the io.grpc.okhttp.OkHttpChannelProvider is needed

* Plugins compatibility workaround update

* Disable unnecessary benchmark module minification

As we just need to keep the target module obfuscated.

* [#1067] Gradle 8.1.1

* [#1068] Activity Compose 1.7.2

* [#1069] Protobuf

* [#1070] Tracing 1.2.0-rc01

* [#1071] JUnit 5.9.3

* [#1072] Mockito 5.3.1

* Demo app release build timeout increase

- Our latest change (double build due to Rust integration issue) possibly causes our build timeout to exceed with the latest Gradle version

* Dep issue template update

* Fix deprecated Runtime.exec()

---------

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2023-06-09 15:18:11 +02:00
Carter Jernigan 938da71777
[#877] Optimize CI build cache
* [#877] Optimize CI build cache

By saving and restoring the cache at different times, this should improve performance by allowing the cache to be created during main branch builds and then just consumed by

* check_properties link correct cache job
---------

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2023-06-09 10:31:04 +02:00
Carter Jernigan dba46c266c
Dependency updates (#1064)
* [#1060] Detekt 1.23.0

* [#1060] Refactor Detekt integration

Use a convention plugin to be consistent with our other projects.  Also added the Compose Detekt rules.

* [#1061] Ktlint 0.49.1

* [#1012] Emulator.wtf Gradle plugin 0.12.2

* [#1062] Foojay resolver 0.5.0

* [#1055] Remove kapt from darkside-test

* [#1063] Flank 23.04.0
2023-05-31 12:38:42 +02:00
Honza Rychnovsky 4926e3a24d
[#939] Eliminate default arguments for Account
* [#939] Eliminate default arguments for Account

* Add Account.DEFAULT to demo-app tests

* Update changelog
2023-05-23 13:39:46 +02:00
Carter Jernigan 912f676c28 [#1044] GRPC 1.55.1 and Protoc 3.23.1 2023-05-19 06:10:34 -04:00
Carter Jernigan 9220ce798e [#1040] Coroutines 1.7.1 2023-05-19 06:10:20 -04:00
Carter Jernigan 4ec27b2574 [#1042] Androidx updates 2023-05-19 06:10:08 -04:00
Carter Jernigan ebd176a287 [#1020] Kotlin 1.8.21 2023-05-09 05:57:22 -04:00
Carter Jernigan 354ef9efc9 [#1011] Ktlint 0.49.0 2023-05-03 10:16:24 -04:00
Honza Rychnovsky d633c6d380
[#986][#985][#984] Dependency updates
* [#986][#985][#984] Dependency updates

- KSP 1.8.10-1.0.9 -> 1.8.20-1.0.10
- Kotlin 1.8.10->1.8.20
- Compose versions update

* Remove workaround

---------

Co-authored-by: Carter Jernigan <git@carterjernigan.com>
2023-04-19 10:31:53 +02:00
Honza Rychnovsky 416a0e4986
[#1001] Flank 23.01.0 -> 23.03.2
* [#1001] Flank 23.01.0 -> 23.03.2

* Fix version bump
2023-04-18 15:05:41 +02:00
Honza Rychnovsky eaed24b710
[#996][#935] Test coverage dependencies update 2023-04-18 14:37:48 +02:00
Honza Rychnovsky 26a22eb980
[#998] Test dependencies update 2023-04-18 14:36:56 +02:00
Honza Rychnovsky 48d5f0570d
[#1004] Desugar 2.0.2 -> 2.0.3 2023-04-18 14:34:18 +02:00
Honza Rychnovsky d76e04e7bd
[#993] gRPC dependencies update 2023-04-18 14:32:40 +02:00
Honza Rychnovsky d9d5f9eb9c
[#963] Gradle versions plugin 0.46.0 2023-04-18 14:31:46 +02:00
Honza Rychnovsky 937e00741b
[#988] Benchmark dependencies update 2023-04-18 08:52:17 +02:00
Carter Jernigan fef809c015 [#978] Eliminate sent/received transaction APIs 2023-04-17 08:24:41 -04:00
Carter Jernigan d513ac6559 [#972] Min API 27 2023-04-13 06:29:42 -04:00
Carter Jernigan 0930b6a32d Update version to 1.15.0 2023-04-11 07:42:31 -04:00
Carter Jernigan 134a1bae6d [#962] GRPC 1.54.0 and Protoc 3.22.2 2023-03-29 07:36:50 -04:00
Carter Jernigan 3839b6ae59 [#961] Androidx updates 2023-03-29 07:36:50 -04:00
Carter Jernigan ff1b9921bf [#959] Run CI tests on API 33 2023-03-29 07:15:27 -04:00
Carter Jernigan 879241e276
[#943] Configure toolchain downloads
---------

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2023-03-13 14:39:44 -04:00
Carter Jernigan 49fdb6df0c [#936] Androidx updates 2023-03-09 12:58:18 -05:00
Carter Jernigan 55d3b7ffcc [#933] GRPC 1.53.0 2023-03-09 08:54:46 -05:00
Carter Jernigan 4464546c85 [#934] Protoc 3.22.0 2023-03-09 08:54:46 -05:00
Carter Jernigan f63e6b31ec [#794] Protobuf Gradle Plugin 0.9.1
Note that 0.9.2 is available but has a bug that prevents upgrading
2023-03-09 08:54:46 -05:00
Alex 9ee5a4e568
[#765] Store blocks on disk instead of in SQLite
* Switch to FsBlockDb for caching CompactBlocks

* Add RustBackend.getLatestHeight() method

* Raise MSRV to 1.60

* Migrate to latest Rust crate API

* Add RustBackend.findBlockMetadata() method

* Add RustBackend.rewindBlockMetadataToHeight() method

* [#765] implementation of FileCompactBlockRepository

* writing block metadata to database

* split write function into smaller easier to test blocks

* testing for FileCompactBlockRepository

* fixed rewinding

* fixed tests

* fixed FileCompactBlockRepositoryTest and SynchronizerFactoryTest

* code review fixes

* updated proto files

* override all functions in FakeRustBackend

* code review fixes

* Fix function body formatting

* Improve clear function clarity

* Use length of string const

* Delete single file instead of directory

* Improve function clarity

* Refactor outputs counting

- Found a typo in intermediary model class JniBlockMeta parameter change of which does not impact encoding from rust to kotlin according to rust layer implementation.

* Check blocks mkdir result

* Remove unnecessary detekt warning suppression

* Refactor buffer size check

* Improve visibility annotations

* Make file finalise obvious and self documenting

* Remove prevHash logging

* Move instantiation to the object itself

* Enrich fixture with default values

* Extend eror message

* Rename benchmark blocks range fixture

* Fix rebase changes

* Improve FileCompactBlockRepositoryTest

- "De-integrated" the test suite - it now works with fixture blocks
- Created needed fixtures for a clear mocked blocks providing
- Enhanced getting of FileCompactBlockRepository in FileCompactBlockRepositoryTest to clarify that it works with mock components

* Fix ktlintFormat findings

* Bump actions/cache from 3.2.4 to 3.2.5 in /.github/actions/setup (#927)

Bumps [actions/cache](https://github.com/actions/cache) from 3.2.4 to 3.2.5.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](627f0f41f6...6998d139dd)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Fix incorrect dir checking

* More robust min/max checking

* Rewinding to more robust middle value

* Strengthen blocks counts after rewind

* Add check of temp finalized file

* Refactor DatabaseCoordinatorTest

* Rename cache files root directory

- To have the same unified variable name across our repositories - fsBlockDbRoot

* Refactor FileCompactBlockRepositoryTest

- To have these tests more clear
- Fixed FakeRustBackend instantiation bug

* Revert back JniBlockMeta param name

* Delete legacy Cache db files

- Deleted from both the older and the newer legacy locations
- All related db files deleted - rollback files included
- The deletion is run once we try to access the new store blocks on disk root directory
- The deletion check does not throw any exception in case of failure, we just log it in console and try it on the next time
- Related new test added too

* Test refactoring

- Made few changes to improve clarity of provided tests and fixtures
- Prepared few new "failure path" tests
- Enhanced existing tests

* Manual test case

* Simplify error printing

- As we had some commented out code there

* Reset manual tests steps numbering

* [#924] Remove alias from WalletCoordinator

Also make Compose UI the default.  The old UI is deprecated but is still used by the benchmarking tests

* Bump benchmark version

* Protect JniBlockMetadata agains minification

* Enable debuggable while benchmarking

* Enhance benchmark screen waiting

* Fix cache db files deletion

- With this construct we delete all blocks blob metadata files, as well as their sqlite file

* Add new benchmark results

* Remove benchmark operations receiver fix

- As it's not needed after the latest profiler dependency update

* Bump gradle/wrapper-validation-action from 1.0.5 to 1.0.6 (#928)

Bumps [gradle/wrapper-validation-action](https://github.com/gradle/wrapper-validation-action) from 1.0.5 to 1.0.6.
- [Release notes](https://github.com/gradle/wrapper-validation-action/releases)
- [Commits](55e685c48d...8d49e559aa)

---
updated-dependencies:
- dependency-name: gradle/wrapper-validation-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump actions/cache from 3.2.5 to 3.2.6 in /.github/actions/setup (#929)

Bumps [actions/cache](https://github.com/actions/cache) from 3.2.5 to 3.2.6.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](6998d139dd...69d9d449ac)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Update DatabaseCoordinator.kt

Move if/else out from log message body

* Update Switch cache to store blocks on disk.md

Reset documentation bullets numbering

* Hide internal constants from public package

* Update manual test user with new UI requirement

* Comment out cargo.toml test values

* Inline fixture blocks metadata with its creation

* Switch to FsBlockDb for caching CompactBlocks

* Add RustBackend.getLatestHeight() method

* Raise MSRV to 1.60

* Migrate to latest Rust crate API

* Add RustBackend.findBlockMetadata() method

* Add RustBackend.rewindBlockMetadataToHeight() method

* Update cargo.lock

* Switch to FsBlockDb for caching CompactBlocks

* Migrate to latest Rust crate API

* [#765] implementation of FileCompactBlockRepository

* writing block metadata to database

* split write function into smaller easier to test blocks

* testing for FileCompactBlockRepository

* fixed rewinding

* fixed tests

* fixed FileCompactBlockRepositoryTest and SynchronizerFactoryTest

* code review fixes

* updated proto files

* override all functions in FakeRustBackend

* code review fixes

* Fix function body formatting

* Improve clear function clarity

* Use length of string const

* Delete single file instead of directory

* Improve function clarity

* Refactor outputs counting

- Found a typo in intermediary model class JniBlockMeta parameter change of which does not impact encoding from rust to kotlin according to rust layer implementation.

* Check blocks mkdir result

* Remove unnecessary detekt warning suppression

* Refactor buffer size check

* Improve visibility annotations

* Make file finalise obvious and self documenting

* Remove prevHash logging

* Move instantiation to the object itself

* Enrich fixture with default values

* Extend eror message

* Rename benchmark blocks range fixture

* Fix rebase changes

* Improve FileCompactBlockRepositoryTest

- "De-integrated" the test suite - it now works with fixture blocks
- Created needed fixtures for a clear mocked blocks providing
- Enhanced getting of FileCompactBlockRepository in FileCompactBlockRepositoryTest to clarify that it works with mock components

* Fix ktlintFormat findings

* Fix incorrect dir checking

* More robust min/max checking

* Rewinding to more robust middle value

* Strengthen blocks counts after rewind

* Add check of temp finalized file

* Refactor DatabaseCoordinatorTest

* Rename cache files root directory

- To have the same unified variable name across our repositories - fsBlockDbRoot

* Refactor FileCompactBlockRepositoryTest

- To have these tests more clear
- Fixed FakeRustBackend instantiation bug

* Revert back JniBlockMeta param name

* Delete legacy Cache db files

- Deleted from both the older and the newer legacy locations
- All related db files deleted - rollback files included
- The deletion is run once we try to access the new store blocks on disk root directory
- The deletion check does not throw any exception in case of failure, we just log it in console and try it on the next time
- Related new test added too

* Test refactoring

- Made few changes to improve clarity of provided tests and fixtures
- Prepared few new "failure path" tests
- Enhanced existing tests

* Manual test case

* Simplify error printing

- As we had some commented out code there

* Reset manual tests steps numbering

* Bump benchmark version

* Protect JniBlockMetadata agains minification

* Enable debuggable while benchmarking

* Enhance benchmark screen waiting

* Fix cache db files deletion

- With this construct we delete all blocks blob metadata files, as well as their sqlite file

* Add new benchmark results

* Remove benchmark operations receiver fix

- As it's not needed after the latest profiler dependency update

* Update DatabaseCoordinator.kt

Move if/else out from log message body

* Update Switch cache to store blocks on disk.md

Reset documentation bullets numbering

* Hide internal constants from public package

* Update manual test user with new UI requirement

* Comment out cargo.toml test values

* Inline fixture blocks metadata with its creation

* Update cargo.lock

* Update Cargo.lock

* Check and document JniBlockMeta params ranges

* Add assert for gradle property

* Use UInt internally

uint

* Change array API to list

* Fix for using correct SDK Synchronizer alias

- Only the older Demo-app UI was impacted.
- Thus also our benchmarking was impacted.

* Apply documentation suggestions from code review

Co-authored-by: Kris Nuttycombe <kris@electriccoin.co>

* Final manual test instructions update

* Fixture block hash deterministically generated from block height

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Jack Grigg <jack@electriccoin.co>
Co-authored-by: Jack Grigg <jack@z.cash>
Co-authored-by: Honza <rychnovsky.honza@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Carter Jernigan <git@carterjernigan.com>
Co-authored-by: Kris Nuttycombe <kris@electriccoin.co>
2023-03-08 16:04:04 +01:00
Carter Jernigan a67d287e5c [#910] Kotlin 1.8.10 2023-02-10 07:18:44 -05:00
Carter Jernigan 1c76ea6998 [#880] Create sdk-incubator-lib
Add dependency link between lib and incubator

Make AndroidApiVersion internal in SDK
2023-02-09 15:44:22 -05:00