Skip to content
This repository was archived by the owner on Apr 20, 2022. It is now read-only.

v6.10.0-rc1

Pre-release
Pre-release

Choose a tag to compare

@riaanjvos riaanjvos released this 15 Feb 16:59
· 0 commits to master since this release
6.10.0-rc1
d4018f3

v6.10.0-rc1

Bug Fixes

  • account locked

    • Throw account locked exception
      (3dcbb73e)
  • api

    • Update api-client jar which prevented wallets with 250+ addresses to pair.
      (e10d1600)
  • balance

    • Return zero in stead of null if no balance found for address.
      (5408ae9f)
  • base64util

    • Don’t rely on CommonsCodec if possible
      (b222db07)
  • bitcoin cash

    • Include tx in list that hasn't been included in a block yet.
      (407aadcd)
    • Generate Base58 addresses by default, as many services don't accept BECH32
      (9176f995)
    • Update bitcoin cash address tests.
      (be8aafe9)
    • Fix test
      (9c351b3b)
    • Remove unused method.
      (6a8cfc5e)
    • Fix cashaddress calculation.
      (4da031a7)
  • byte array comparator

    • Fix issue where using UnsignedBytes’ implementation of lexicographicalComparator would cause crashes on Android devices. Replaced with a safer but slower implementation from the original class itself.
      (fde363d5)
  • contact

    • Parse contact list as HashMap. Save metadata after changes. Fix invitation flow. Remove contact added. Contact xpub now fetched after relation established. Payment request flow updated. Payment message digest updated. FacilitatedTransaction and Contact creation timestamps added.
      (e5091e87)
    • Add contact after invitation accepted. Add sendRequestPaymentRequest. Add created timestamp to contact.
      (381cd423)
    • Use invitation id for ont time uri.
      (49940b1a)
  • contacts

    • Fix invitation format. Ensure xpub is published when invitation is accepted.
      (6cdf726d)
    • Change contact list from array to map.
      (ee7c2de6)
    • Ignore messages that can't be encrypted due to missing sender xpub.
      (17953754)
    • Remove unneeded branch
      (de70f141)
    • Fix failing test
      (cbe2579b)
    • Fix issue with message parsing
      (5ff97b98)
    • Fix issue with message parsing where role would be overwritten
      (495e770f)
    • Tidying for security's sake
      (704ee3be)
    • Update endpoint paths, move URLs into separate class for easy updating, remove ignore annotation from tests as they all now pass
      (6285edb1)
    • Fix issue where contacts would persist between login/logout sequences
      (4e337009)
    • Digest payment request notes.
      (db77d7b7)
    • Flag facilitated transaction roles correctly. Fix addContact bug. Update test.
      (f6ff160e)
  • decryption

    • Allow decryption exception to bubble up.
      (2891a887)
  • digestion

    • Only save when necessary when digesting messages
      (02c54ac7)
  • dust

    • Allow spending of amount equal to dust.
      (a633db45)
  • encoding

  • eth

    • Retrieve eth transaction timeout buffer from wallet-options.
      (49db81c0)
  • ethereum

    • Return null if stored wallet is malformed due to web
      (996dd5da)
  • formatsutil

    • Avoid npc in FormatsUtil when scanning unsupported bitcoin uri.
      (82e5deec)
  • generic metadata account

    • Safe copy parent object
      (b272c396)
    • This change allows local serialisation whilst preventing storing xPubs in Metadata via toJson.
      (822aef51)
  • get

    • Throw exception rather than returning String on non-200 response
      (c2bbb9f3)
  • imported address

    • Determine if imported address is HEX compressed or uncompressed.
      (24d3c12f)
  • labels

    • Do not allow xPubs to be returned when labelling addresses
      (e6f4b23d)
  • metadata

    • Fetch magic hash and reattempt api call on unauthorized error.
      (217bb927)
    • Fix parsing issue
      (a377a8ec)
    • Change endpoint for registering MDID
      (67c38975)
    • Minor fixes for sending requests
      (7d0e8ac6)
  • metadatanodefactory

    • Cleanup.
      (e1a3ea91)
    • Update node key derivation to align with web and iOS. Remove old node key.
      (3edf4440)
  • mini key

    • Check uncompressed/compressed address funds when importing mini key and import accordingly.
      (a0e0d571)
  • multi address

    • Add decodable input/output addresses to tx summary map.
      (33798f3a)
    • Change multi address filter to remove unspendable.
      (168334fb)
  • multiaddress

    • Fix transaction total calculation.
      (6e8a2446)
    • Add more multi address test cases. WIP.
      (3329fd85)
    • Remove addresses that don't belong to wallet. Update fee calculation.
      (b4f54c49)
  • multiaddressfactory

    • Ignore change coming back when calculating direction of transaction.
      (0877cb05)
  • notifications

    • Add method to force upload of public keys
      (868a6e9b)
  • payload

    • Remove step that sets iterations stored in wallet options to wallet wrapper iterations.
      (8454e924)
    • Avoid writing back null to cache json. This breaks web login.
      (d0fa072e)
  • payloadmanager

    • Revert legacy address list on payload save fail. (#85)
      (06cbc75c)
  • payment

    • Fix issue where loop would break for one reason which means inputs were skipped, so total spendable was shown lower than in reality
      (2a41ff75)
  • paymenttx

    • Consume change if smaller than dust.
      (457ff8c3)
  • prices

    • Mark potentially nullable fields as such
      (b07bbbef)
  • privatekeyfactory

    • Support testnet key formats.
      (251619ee)
    • Support testnet key formats.
      (d985d9f1)
    • Don't assume HEX uncompressed when importing private key.
      (1749532f)
  • pushtx

    • Fix encoding issue where large Txs could have information cut off and be invalid. Update source JARs with corrected code.
      (4dd234d5)
  • readme

    • Change outdated security report link
      (7c5e5d2e)
  • receive addresses

    • As getNextReceiveAddressIndex now skips labelled addresses, we can remove the recursive search function in Multiaddress which was basically doing the same job twice
      (cffef591)
  • reserved addresses

    • Avoid using reserved addresses by recursively searching against account labels
      (b52fc3e3)
  • second password

    • Check if encryption is consistent before syncing payload with server.
      (bbbfb0a4)
    • Avoid overwriting iterations with default if not necessary
      (4608236d)
  • send

  • settings

    • Fixes for settings
      (67df270c)
    • Fix issue where only one type of notification could be enabled/disabled, remove sleep on last web request failure
      (c6ebcbb4)
  • shapeshift

    • Convert all fields to BigDecimals to avoid potential rounding errors
      (1dd5f099)
    • Return null if trade status pair retrieved from shapeshift is null.
      (95f832e9)
    • Change double to bigdecimal.
      (e288cb2c)
    • Change fields to BigDecimal for safety
      (cb090ecf)
    • Change double to bigdecimal. Add getPair method.
      (5b37c23b)
    • Fix failing test, incorrect comparison
      (009efb0b)
    • Minor convenience changes, mostly
      (30b83557)
    • Fix iffy String conversion
      (996087c5)
    • Various fixes for parsing issues
      (8cf9a1d7)
  • sharedmetadata

    • Fix shared secret calculation.
      (ec971ec9)
  • test

  • testnet

    • Fix a few testnet support issues.
      (cb43917b)
  • tests

    • Remove wallet data from log.
      (19da54d6)
    • Fix wallet save issue. Fix multiaddress balance issue.
      (ccc9c22a)
    • Small fixes for tests
      (a20539fc)
    • Fix failing tests, package sources
      (b94312c8)
  • thread safety

    • Synchronise private save call instead
      (c84df74b)
    • Synchronise save calls
      (bd87b4f4)
  • transactions

    • Add change to legacy transaction.
      (a77a86c8)
  • v1 wallet

    • Fix issue where 2nd password iterations could be overwritten
      (cfe2d1a8)
  • various

    • Exclude watch-only from active legacy address. Remove charset encoding from payload save. Use lists in stead of arrays in Balance api class.
      (bc07381b)
  • wallet

    • Initialize hd wallet in correct place. Remove on the fly hd wallet initialization.
      (f6dee355)
    • handle metadataHDNode in wallet json
      (ad0199a9)
  • wallet base

  • watch only

    • Include watch-only in legacy address list.
      (8025e119)
    • Handle watch-only addresses as non-archived addresses.
      (4edf92eb)
  • web requests

    • Deprecate getURL as errors can be returned as strings
      (02758e87)
  • webutil

    • Break when finding correct entry, throw exception if not found
      (3d40e906)

Features

  • 2fa

    • Add methods to allow 2FA manual pairing
      (4b334dcb)
  • archived addresses

    • Ignore imported address balance when archived
      (6c74c7de)
  • bitcoin cash

    • Add convenience method to FormatsUtil to shorten cash address.
      (5db2186e)
    • Add convenience method to FormatsUtil to shorten cash address.
      (8b185d06)
    • Add methods to get address beyond the currently used address, some tidying and fixing of tests
      (65643461)
    • Add method to retrieve eckeys for bch transaction signing.
      (7c153fb7)
    • Various updates to enable sending Bitcoin Cash, including fee calculation, unspents etc
      (344c9343)
    • Add BECH32 BCH address check
      (0e8beb91)
    • Remove comment.
      (ee99a319)
    • Exclude bitcoin cash txs before fork height.
      (663503d5)
    • Change update all balances method
      (d286d4ef)
    • Move getBalanceOfBchAddresses to BitcoinCashWallet.kt
      (fb97000e)
    • Make BitcoinCashWallet open.
      (a17c8543)
    • Fix tests.
      (d7a9946f)
    • Make bitcoin cash wallet more testable.
      (8a9d23c3)
    • Add balance and transaction endpoint to bitcoin cash wallet. Add related methods.
      (a51b7d37)
    • Allow watch only wallet creation for double encrypted wallets.
      (8e7fe9f5)
    • Add bitcoin cash wallet. Abstract metadata.
      (e916ebd5)
  • buy

    • Add Coinify trades api.
      (e08cd51a)
    • Fix tests. Add SFOX api for transactions. Add SFOX api tests.
      (b1a11141)
    • Expose metadata magic hash.
      (1b1f584b)
  • contacts

  • currency

    • Update api client jar. Update api methods.
      (3f21f158)
  • metadata

    • Add contact renaming method
      (e7723286)
    • Allow deletion of FacilitatedTransactions. Remove underscores from field and method names
      (d1f3b96c)
    • Remove 404 specific stuff
      (8ddf8ba0)
    • Include TX note when RPR initing
      (5da89c3f)
    • Cache node factory
      (c5c815e9)
    • Remove unneeded payment checks
      (f0e61b08)
    • Separate method for transaction validation
      (cf161281)
    • Assert value of payments correctly
      (6b781166)
    • Make date created available in FacilitatedTransaction objects
      (13fc509f)
    • Minor fix to remove messages from service from contact who has been deleted
      (8240c99d)
  • reserve address

    • Add ability to reserve address.
      (5dd64020)
  • sepa regions

Refactor

  • api

    • Remove WebUtil. Update all APIs to use retrofit. Fix tests to use mocked responses.
      (01e067f0)
    • Notifications.
      (54509f06)
    • External entropy.
      (31ce47b7)
    • Replace Balance api with api-client.
      (248086cb)
    • Move API package to wallet.
      (f9a2a370)
    • Some minor refactoring and renaming
      (a705f6d4)
  • bip44

    • Move bip 44 package to wallet. Add more tests to cover bip44 100%. Remove unused methods.
      (9d2a79de)
  • bip69

    • Extract bip69 code from SendCoins class.
      (2e4ddbde)
  • charsequencex

    • Remove CharsequenceX class.
      (e303d733)
  • double encryption

    • Clean up getMnemonic.
      (9672a0da)
    • Decouple payloadmanager from Payment class. Remove deprecated bitcoinj method from Payment class. Update way keys are collected for transaction.
      (49930cf4)
    • Clean up get address methods.
      (ae71c665)
    • Remove watch-only wallet object. Cleanup. Get keys for payment separately.
      (d713132c)
    • Remove watch-only wallet object from get address methods.
      (561507a3)
    • Remove watch-only wallet object from addAccount method.
      (e425ce6d)
    • Remove watch-only wallet object from get mnemonic method.
      (a1850667)
    • Remove dead code.
      (db54652a)
  • exception logging

    • API can be found in the android project's uncaught exception handler.
      (28978442)
  • feeutil

    • Move FeeUtil to wallet util package.
      (5dc2fb75)
  • jar

    • Make posts form url encoded. Remove deprecated method.
      (b6892591)
    • Add pending status to transaction.
      (77b1edfe)
    • Init wallet base in constructor to fix null issues
      (5789547e)
    • Update sweepable total to match web which assumes change. Update test.
      (a867cf66)
    • Change how PayloadManager is instantiated, as it was breaking Mockito
      (acde7a9e)
    • Expose getXpubFromAddress in PayloadManager
      (02bb2f0e)
    • Remove WebUtil. Add log event api call. Update tests.
      (9f36c959)
    • Add methods for swipe to receive
      (9e385ec8)
    • Add method to decrypt wallet from String
      (a1d57e5d)
    • PrivateKeyFactory, remove static from all methods, cleanup
      (008aa4bd)
    • Payments -> non static methods, removed unnecessary synchronisation
      (a4c60489)
    • Add method to insert new LegacyAddress into Wallet
      (f3f1fcd7)
    • Expose setter for payload temp password
      (32238b56)
  • legacyaddress

  • metadata

    • Remove more underscores from methods, fields
      (d07d9a5e)
    • Clear contacts list on update
      (88798f27)
    • Minor change to return types and exceptions
      (24ef3051)
    • Fix issue with path
      (e9cda90e)
    • Lazy load Retrofit to avoid injection issues when initialising framework
      (1e122642)
  • multiaddress

    • Fix tests.
      (d99a2beb)
    • Add increment next address method that respect reserved addresses. Update tests.
      (08b6e4b8)
    • Optimise address to label. Make multi address non static. Update tests.
      (4193ad91)
    • Fix transaction duplicates. Update tests.
      (e72f7e22)
    • Remove internal map of summarized transaction - in favour of client side list store. Update imported addresses transaction summary. Update tests.
      (1513385e)
    • Remove callbacks - Not needed since we are using RxJava.
      (17d02b35)
    • Speed up multiaddress by removing converting address to label.
      (a1f0c282)
    • Fetch balances from Balance API. Add callback to multi address transaction fetch.
      (5438896f)
    • Summarize multiaddress data. Add tests.
      (1ca5594f)
    • Fix next address index. Ignore reserved addresses. Add test.
      (220393fb)
    • Remove archived addresses from multiaddress call.
      (8d9c9d9a)
    • Imported addresses balance fix. More tests.
      (a36dca4a)
    • Add multiaddress methods. Add wallet shortcut methods. Update tests.
      (c7039aae)
    • Add methods to update and retrieve multiaddress results.
      (19ebe57d)
  • observables

    • Add session ID method
      (fbed9fec)
    • Refactor WalletApi into non-static Observable methods
      (2b6cc177)
  • packages

    • Move api package to wallet. Remove CharsequenceX class.
      (6628ae50)
  • pairing

    • Move QR pairing specific code to android project.
      (2cf7fae0)
  • payload

    • Fees class name refactored.
      (97d92b8d)
    • Add get for next receive and change address.
      (1e84c0c5)
    • Speed up recovery from mnemonic by making less api calls.
      (9edc8dc6)
    • Make multiple hdWallets in payload possible.
      (f93f2295)
    • Add initialize and decrypt from QR.
      (e55aede1)
    • Add historic price api.
      (3e93fe4d)
    • Minor updates for easier integration to Android.
      (08206118)
    • Remove single hdWallet assumption method.
      (d109d739)
    • Add password to create,restore and initialize wallet methods.
      (17af1dc1)
    • Update a few methods names.
      (ef4dcc94)
    • Update a few methods names for easier merge into android wallet.
      (421b14dd)
    • Remove old PayloadManager. Add comments.
      (7241f097)
    • Add more tests. Non object classes methods to static and remove singleton pattern.
      (240f00fb)
    • Add recover from mnemonic.
      (4a582f49)
    • Add more WalletManager methods and tests.
      (923a8f3d)
    • Add WalletManager methods and tests.
      (f4665c89)
    • Add new payload classes for automatic parsing. Mark old payload classes as deprecated. Add a lot of tests.
      (37fe057f)
    • Remove payload cache. Add multiaddress tests.
      (81ebae53)
    • Fix legacy address parse issue. Add more unit tests.
      (72665cdf)
    • Avoid settings account archived twice.
      (a8e04a3d)
    • Treat null fields in legacyaddress json as null, not an empty string.
      (3a58388f)
    • Update org.json library.
      (bd75a353)
    • Add fromJson static method for convenient json parsing.
      (44c40ea1)
    • Add unit tests for payload objects. Minor fixes to avoid nullpointer.
      (2489e2d8)
    • Treat null fields in wallet.json as null, not an empty string. Remove unused field from options.
      (3ff66307)
    • Move account index to xpub mapping method out of payload and into payloadManager. Refactor some method names.
      (67a13719)
    • Remove deprecated 'PaidTo' field from payload.
      (6861d7d1)
    • Remove experimental fields from json. Clean up.
      (b3fe8bcb)
    • Remove casting of json values and get explicit types.
      (50e5d29a)
    • Clean up keys. Refactor ImportedAccount to ImportedAddress.
      (4942f5ea)
    • Move Cache parsing code out of Account.
      (7c9dbb88)
    • Move BlockchainWallet payload encryption code to BlockchainWallet.
      (c7a57465)
    • Move HDWallet parsing code out of payload.
      (7eea212a)
    • Move Account parsing code out of payload. Add todo reminders.
      (b8ec576f)
    • Move LegacyAddress parsing code out of payload.
      (e80da6c4)
    • Move PaidTo and AddressBookEntry parsing code out of payload.
      (edcbc79c)
    • Move Options parsing code out of payload.
      (177322dd)
    • Cleanup - Move transaction code out of payload package and into transaction package.
      (bf770dcc)
    • Cleanup - Use interface to access json key strings.
      (97145c0d)
  • payment

    • Refactor coin selection, fees and payment. Replace classes with existing bitcoinj classes. Use bitcoinj for transaction signing. Use api-client PushTx.
      (6c5bf904)
  • settings

    • Parse phone number
      (fb492c74)
    • Fix for PasswordUtil, use static initialiser
      (4b96c2c2)
    • Update settings to use Observables, update PasswordUtil to be a proper util class
      (ec83d4fa)
    • Add init method
      (483f1bb8)
  • testate

    • Refactor testate changes into PersistentUrls
      (1910000c)
  • unspent

    • Make non-null response impossible
      (b55873aa)
  • url settings

    • Refactor URL settings to be set via static interfaces
      (51302ea4)
  • walletpayload

    • Remove redundant return value
      (c65e369f)
  • warnings

    • Reduce warnings - Remove unwanted overrides of implemeted interface method.
      (2202c814)
    • Remove unwanted assertion.
      (21ad61a5)
    • Reduce warnings - Remove redundant declarations.
      (fb6b108f)
    • Reduce warnings - Remove redundant type casts.
      (ad66ce82)
    • Reduce warnings - Performance issues and Probable bugs.
      (b6b93f50)
    • Reduce warnings - Performance issues and general.
      (5cf54fa0)
    • Reduce warnings.
      (3d9e6c1a)

Style

  • all
    • Wrap code to sensible column width.
      (6912ae3c)
    • Reformat all classes.
      (dba00f1f)

Test

Chore

  • bitcoin cash

  • ci

  • commons codec

    • Drop dependency to 1.3 as that's what's on the Android classpath. Copy across used Hex utility methods.
      (9a356325)
  • commons-codec

  • dependency

    • Swap google guava library to android compatible version.
      (40b2d4fb)
  • gradle

  • jvmtarget

    • Update kotlin jvm target to 1.6.
      (893a05b9)
  • logging

    • Add logging for significant events.
      (ae454fae)
  • mobile notice

    • Remove mobile notice for post-fork release
      (b9a3251d)
  • tests

    • Separate unit and integration tests.
      (7f1ae72e)

Generated with git-changelog. If you have any problems or suggestions, create an issue. :) Thanks