2014-01-15 01:25:31 +01:00
|
|
|
============================================================================
|
2021-08-26 00:58:28 +02:00
|
|
|
User visible changes for lbcwallet
|
|
|
|
A wallet daemon for lbcd, written in Go
|
2014-01-15 01:25:31 +01:00
|
|
|
============================================================================
|
|
|
|
|
2015-11-23 16:13:25 +01:00
|
|
|
Changes in 0.7.0 (Mon Nov 23 2015)
|
|
|
|
- New features:
|
2021-08-26 00:58:28 +02:00
|
|
|
- Wallet will now detect network inactivity and reconnect to the lbcd
|
2015-11-23 16:13:25 +01:00
|
|
|
RPC server if the connection was lost (#320)
|
|
|
|
|
|
|
|
- Bug fixes:
|
|
|
|
- Removed data races in the RPC server (#292) and waddrmgr package
|
|
|
|
(#293)
|
2021-08-26 00:58:28 +02:00
|
|
|
- Corrected handling of lbcutil.AddressPubKey addresses when querying
|
2015-11-23 16:13:25 +01:00
|
|
|
for a ManagedAddress from the address manager (#313)
|
|
|
|
- Fixed signmessage and verifymessage algorithm to match the equivalent
|
|
|
|
algorithms used by Core (#324)
|
|
|
|
|
|
|
|
- Notable developer-related changes:
|
|
|
|
- Added support for AppVeyor continuous integration (#299)
|
|
|
|
- Take advantage of optimized zeroing from the Go 1.5 release (#286)
|
|
|
|
- Added IsError function to waddrmgr to check that an error is a
|
|
|
|
ManagerError and contains a matching error code (#289). Simplified
|
|
|
|
error handling in the wallet package and RPC server with this function
|
|
|
|
(#290).
|
|
|
|
- Switched to using a more space efficient data structure for the
|
|
|
|
wtxmgr CreditRecord type (#295)
|
|
|
|
- Incorporated latest updates to the votingpool package (#315)
|
|
|
|
|
|
|
|
- Miscellaneous:
|
|
|
|
- Updated websocket notification handlers to latest API required by
|
2021-08-26 00:58:28 +02:00
|
|
|
lbcd (#294)
|
2017-08-25 02:30:43 +02:00
|
|
|
- Enabled the logging subsystem of the rpcclient package (#328)
|
2015-11-23 16:13:25 +01:00
|
|
|
|
|
|
|
- Contributors (alphabetical order):
|
|
|
|
- Alex Yocom-Piatt
|
|
|
|
- cjepson
|
|
|
|
- Dave Collins
|
|
|
|
- John C. Vernaleo
|
|
|
|
- Josh Rickmar
|
|
|
|
- Rune T. Aune
|
|
|
|
|
2015-05-27 17:45:05 +02:00
|
|
|
Changes in 0.6.0 (Wed May 27 2015)
|
|
|
|
- New features:
|
|
|
|
- Add initial account support (#155):
|
|
|
|
- Add account names for each account number
|
|
|
|
- Create initial account with the "default" name
|
|
|
|
- Create new accounts using the createnewaccount RPC
|
|
|
|
- All accounts (with the exception of the imported account) may be
|
|
|
|
renamed using the renameaccount RPC
|
|
|
|
- RPC requests with an unspecified account that default to the unnamed
|
|
|
|
account in Bitcoin Core Wallet default to "default", the name of the
|
2015-05-27 19:45:45 +02:00
|
|
|
initial account
|
2021-08-26 00:58:28 +02:00
|
|
|
- Several RPCs with account parameters do not work with lbcwallet
|
2015-05-27 17:45:05 +02:00
|
|
|
accounts due to concerns over expectations of API compatibility with
|
2015-05-27 19:45:45 +02:00
|
|
|
Bitcoin Core Wallet. A new RPC API is being planned to rectify this
|
|
|
|
(#220).
|
2015-05-27 17:45:05 +02:00
|
|
|
- Store transactions, transaction history, and spend tracking in the
|
|
|
|
database (#217, #234)
|
|
|
|
- A full rescan is required when updating from previous wallet
|
|
|
|
versions to rebuild the transaction history
|
|
|
|
- Add utility (cmd/dropwtxmgr) to drop transaction history and force a
|
|
|
|
rescan (#234)
|
|
|
|
- Implement the help RPC to return single line usages of all wallet and
|
2021-08-26 00:58:28 +02:00
|
|
|
lbcd server requests as well as detailed usage for a single request
|
2015-05-27 17:45:05 +02:00
|
|
|
|
|
|
|
- Bug fixes:
|
|
|
|
- Handle chain reorgs by unconfirming transactions from removed blocks
|
|
|
|
(#248)
|
|
|
|
- Rollback all transaction history when none of the saved recently seen
|
2021-08-26 00:58:28 +02:00
|
|
|
block hashes are known to lbcd (#234, #281)
|
2015-05-27 17:45:05 +02:00
|
|
|
- Prevent the situation where the default account was renamed but cannot
|
|
|
|
be renamed back to "" or "default" by removing the special case naming
|
|
|
|
policy for the default account (#253)
|
|
|
|
- Create the initial account address if needed when calling the
|
|
|
|
getaccountaddress RPC (#238)
|
|
|
|
- Prevent listsinceblock RPC from including all listtransactions result
|
|
|
|
objects for all transactions since the genesis block (fix included in
|
|
|
|
#227)
|
|
|
|
- Add missing fields to listtransactions and gettransaction RPC results
|
|
|
|
(#265)
|
|
|
|
- Remove target confirmations limit on listsinceblock results (#266)
|
|
|
|
- Add JSON array to report errors creating input signature for
|
|
|
|
signrawtransaction RPC (#267)
|
|
|
|
- Use negative fees with listtransactions result types (#272)
|
|
|
|
- Prevent duplicate wallet lock attempt after timeout if explicitly
|
|
|
|
locked (#275)
|
|
|
|
- Use correct RPC server JSON-RPC error code for incorrect passphrases
|
|
|
|
with a walletpassphrase request (#284)
|
|
|
|
|
|
|
|
- Regressions:
|
|
|
|
- Inserting transactions and marking outputs as controlled by wallet in
|
|
|
|
the new transaction database is extremely slow compared to the previous
|
|
|
|
in-memory implementation. Later versions may improve this performance
|
|
|
|
regression by using write-ahead logging (WAL) and performing more
|
|
|
|
updates at a time under a single database transaction.
|
|
|
|
|
|
|
|
- Notable developer-related changes:
|
2021-08-26 00:58:28 +02:00
|
|
|
- Relicense all code to the lbcsuite developers (#258)
|
2015-05-27 17:45:05 +02:00
|
|
|
- Replace txstore package with wtxmgr, the walletdb-based transaction
|
|
|
|
store (#217, #234)
|
|
|
|
- Add Cursor API to walletdb for forwards and backwards iteration over
|
|
|
|
a bucket (included in #234)
|
|
|
|
- Factor out much of main's wallet.go into a wallet package (#213,
|
|
|
|
#276, #255)
|
2021-08-26 00:58:28 +02:00
|
|
|
- Convert RPC server and client to lbcjson v2 API (#233, #227)
|
2015-05-27 17:45:05 +02:00
|
|
|
- Help text and single line usages for the help RPC are pregenerated
|
|
|
|
from descriptions in the internal/rpchelp package and saved as
|
2015-05-27 19:45:45 +02:00
|
|
|
globals in main. Help text must be regenerated (using `go generate`)
|
2021-08-26 00:58:28 +02:00
|
|
|
each time the lbcjson struct tags change or the help definitions are
|
2015-05-27 19:45:45 +02:00
|
|
|
modified.
|
2015-05-27 17:45:05 +02:00
|
|
|
- Add additional features to the votingpool package:
|
|
|
|
- Implement StartWithdrawal API to begin an Open Transactions
|
|
|
|
withdrawal (#178)
|
|
|
|
- Add internal APIs to store withdrawal transactions in the wallet's
|
|
|
|
transaction database (#221)
|
|
|
|
- Addresses marked as used after appearing publicly on the blockchain or
|
|
|
|
in mempool; required for future single-use address support (#207)
|
|
|
|
- Modified waddrmgr APIs to use ForEach functions to iterate over
|
|
|
|
address strings and managed addresses to improve scability (#216)
|
|
|
|
- Move legacy directory under internal directory to prevent importing
|
|
|
|
of unmaintained packages (enforced since Go 1.5) (#285)
|
|
|
|
- Improve test coverage in the waddrmgr and wtxmgr packages (#239, #217)
|
|
|
|
|
|
|
|
- Contributors (alphabetical order):
|
|
|
|
- Dave Collins
|
|
|
|
- Guilherme Salgado
|
|
|
|
- Javed Khan
|
|
|
|
- Josh Rickmar
|
|
|
|
- Manan Patel
|
|
|
|
|
2015-03-06 18:16:25 +01:00
|
|
|
Changes in 0.5.1 (Fri Mar 06 2015)
|
|
|
|
- New features:
|
|
|
|
- Add flag (--createtemp) to create a temporary simnet wallet
|
|
|
|
|
|
|
|
- Bug fixes:
|
|
|
|
- Mark newly received transactions confirmed when the wallet is initially
|
|
|
|
created or opened with no addresses
|
|
|
|
|
|
|
|
- Notable developer-related changes:
|
|
|
|
- Refactor the address manager database upgrade paths for easier future
|
|
|
|
upgrades
|
|
|
|
- Private key zeroing functions consolidated into the internal zero package
|
|
|
|
and optimized
|
|
|
|
|
2015-03-03 18:41:48 +01:00
|
|
|
Changes in 0.5.0 (Tue Mar 03 2015)
|
|
|
|
- New features:
|
|
|
|
- Add a new address manager package (waddrmgr) to replace the previous
|
|
|
|
wallet/keystore package:
|
|
|
|
- BIP0032 hierarchical deterministic keys
|
|
|
|
- BIP0043/BIP0044 multi-account hierarchy
|
|
|
|
- Strong focus on security:
|
|
|
|
- Wallet master encryption keys protected by scrypt PBKDF
|
|
|
|
- NaCl-based secretbox cryptography (XSalsa20 and Poly1305)
|
|
|
|
- Mandatory encryption of private keys and P2SH redeeming scripts
|
|
|
|
- Optional encryption of public data, including extended public keys
|
|
|
|
and addresses
|
|
|
|
- Different crypto keys for redeeming scripts to mitigate cryptanalysis
|
|
|
|
- Hardened against memory scraping through the use of actively clearing
|
|
|
|
private material from memory when locked
|
|
|
|
- Different crypto keys used for public, private, and script data
|
|
|
|
- Ability for different passphrases for public and private data
|
|
|
|
- Multi-tier scalable key design to allow instant password changes
|
|
|
|
regardless of the number of addresses stored
|
|
|
|
- Import WIF keys
|
|
|
|
- Import pay-to-script-hash scripts for things such as multi-signature
|
|
|
|
transactions
|
|
|
|
- Ability to export a watching-only version which does not contain any
|
|
|
|
private key material
|
|
|
|
- Programmatically detectable errors, including encapsulation of errors
|
|
|
|
from packages it relies on
|
|
|
|
- Address synchronization capabilities
|
|
|
|
- Add a new namespaced database package (walletdb):
|
|
|
|
- Key/value store
|
|
|
|
- Namespace support
|
|
|
|
- Allows multiple packages to have their own area in the database without
|
|
|
|
worrying about conflicts
|
|
|
|
- Read-only and read-write transactions with both manual and managed modes
|
|
|
|
- Nested buckets
|
|
|
|
- Supports registration of backend databases
|
|
|
|
- Comprehensive test coverage
|
|
|
|
- Replace the createencryptedwallet RPC with a wizard-style prompt
|
|
|
|
(--create) to create a new walletdb-backed wallet file and import keys
|
|
|
|
from the old Armory wallet file (if any)
|
|
|
|
- Transaction creation changes:
|
|
|
|
- Drop default transaction fee to 0.00001 BTC per kB
|
|
|
|
- Use standard script flags provided by the txscript package for
|
|
|
|
transaction creation and sanity checking
|
|
|
|
- Randomize change output index
|
|
|
|
- Includes amounts (total spendable, total needed, and fee) in all
|
|
|
|
insufficient funds errors
|
|
|
|
- Add support for simnet, the private simulation test network
|
|
|
|
- Implement the following Bitcoin Core RPCs:
|
|
|
|
- listreceivedbyaddress (#53)
|
|
|
|
- lockunspent, listlockunspent (#50, #55)
|
|
|
|
- getreceivedbyaddress
|
|
|
|
- listreceivedbyaccount
|
2021-08-26 00:58:28 +02:00
|
|
|
- Reimplement lbcd RPCs which return the best block to use the block most
|
2015-03-03 18:41:48 +01:00
|
|
|
recently processed by wallet to avoid confirmation races:
|
|
|
|
- getbestblockhash
|
|
|
|
- getblockcount
|
|
|
|
- Perform clean shutdown on interrupt or when a stop RPC is received (#69)
|
|
|
|
- Throttle the number of connected HTTP POST and websocket client
|
|
|
|
connections (tunable using the rpcmaxclients and rpcmaxwebsockets config
|
|
|
|
options)
|
2021-08-26 00:58:28 +02:00
|
|
|
- Provide the ability to disable TLS when connecting to a localhost lbcd or
|
2015-03-03 18:41:48 +01:00
|
|
|
serving localhost clients
|
|
|
|
|
|
|
|
- Rescan improvements:
|
|
|
|
- Add a rescan notification for when the rescan has completed and no more
|
|
|
|
rescan notifications are expected (#99)
|
|
|
|
- Use the most recent partial sync height from a rescan progress
|
2021-08-26 00:58:28 +02:00
|
|
|
notification when a rescan is restarted after the lbcd connection is lost
|
2015-03-03 18:41:48 +01:00
|
|
|
- Force a rescan if the transaction store cannot be opened (due to a
|
|
|
|
missing file or if the deserialization failed)
|
|
|
|
|
|
|
|
- RPC compatibility improvements:
|
|
|
|
- Allow the use of the `*` account name to refer to all accounts
|
|
|
|
- Make the account parameter optional for the getbalance and
|
|
|
|
listalltransactions requests
|
|
|
|
- Add iswatchonly field to the validateaddress response result
|
|
|
|
- Check address equivalence in verifymessage by comparing pubkeys and pubkey
|
|
|
|
hashes rather than requiring the address being verified to be one
|
|
|
|
controlled by the wallet and using its private key for verification
|
|
|
|
|
|
|
|
- Bug fixes:
|
2015-03-03 18:43:37 +01:00
|
|
|
- Prevent an out-of-bounds panic when handling a gettransaction RPC.
|
|
|
|
- Prevent a panic on client disconnect (#110).
|
2015-03-03 18:41:48 +01:00
|
|
|
- Prevent double spending coins when creating multiple transactions at once
|
|
|
|
by serializing access to the transaction creation logic (#120)
|
|
|
|
- Mark unconfirmed transaction credits as spent when another unconfirmed
|
|
|
|
transaction spends one (#91)
|
|
|
|
- Exclude immature coinbase outputs from listunspent results (#103)
|
2021-08-26 00:58:28 +02:00
|
|
|
- Fix several data and logic races during sync with lbcd (#101)
|
2015-03-03 18:41:48 +01:00
|
|
|
- Avoid a memory issue from incorrect slice usage which caused both
|
|
|
|
duplicate and missing blocks in the transaction store when middle
|
|
|
|
inserting transactions from a new block
|
|
|
|
- Only spend P2PKH outputs when creating sendfrom/sendmany/sendtoaddress
|
|
|
|
transactions (#89)
|
|
|
|
- Return the correct UTXO set when fetching all wallet UTXOs by fixing an
|
|
|
|
incorrect slice append
|
2021-08-26 00:58:28 +02:00
|
|
|
- Remove a deadlock caused by filling the lbcd notification channel (#100)
|
2015-03-03 18:41:48 +01:00
|
|
|
- Avoid a confirmation race by using the most recently processed block in
|
2021-08-26 00:58:28 +02:00
|
|
|
RPC handlers, rather than using the most recently notified block by lbcd
|
2015-03-03 18:41:48 +01:00
|
|
|
- Marshal empty JSON arrays as `[]` instead of the JSON `null` by using
|
|
|
|
empty, non-nil Go slices
|
|
|
|
- Flush logs and run all deferred functions before main returns and the
|
|
|
|
process exits
|
|
|
|
- Sync temporary transaction store flat file before closing and renaming
|
|
|
|
- Accept hex strings with an odd number of characters
|
|
|
|
|
|
|
|
- Notable developer-related changes:
|
|
|
|
- Switch from the go.net websocket package to gorilla websockets
|
|
|
|
- Refactor the RPC server:
|
|
|
|
- Move several global variables to the rpcServer struct
|
2021-08-26 00:58:28 +02:00
|
|
|
- Dynamically look up appropriate handlers for the current lbcd connection
|
2015-03-03 18:41:48 +01:00
|
|
|
status and wallet sync state
|
|
|
|
- Begin creating websocket notifications by sending to one of many
|
|
|
|
notification channels in the rpcServer struct, which are in turn
|
|
|
|
marshalled and broadcast to each websocket client
|
|
|
|
- Separate the RPC client code into the chain package:
|
2021-08-26 00:58:28 +02:00
|
|
|
- Uses rpcclient for a lbcd websocket RPC client
|
2015-03-03 18:41:48 +01:00
|
|
|
- Converts all notification callbacks to typed messages sent over channels
|
|
|
|
- Uses an unbounded queue for waiting notifications
|
|
|
|
- Import a new voting pool package (votingpool):
|
|
|
|
- Create and fetch voting pools and series from a walletdb namespace
|
|
|
|
- Generate deposit addresses utilizing m-of-n multisig P2SH scripts
|
|
|
|
- Improve transaction creation readability by splitting a monolithic
|
|
|
|
function into several smaller ones
|
|
|
|
- Check and handle all errors in some way, or explicitly comment why a
|
|
|
|
particular error was left unchecked
|
|
|
|
- Simplify RPC error handling by wrapping specific errors in unique types to
|
2021-08-26 00:58:28 +02:00
|
|
|
create an appropriate lbcjson error before the response is marshalled
|
2015-03-03 18:41:48 +01:00
|
|
|
- Add a map of unspent outputs (keyed by outpoint) to the transaction store
|
|
|
|
for quick lookup of any UTXO and access to the full wallet UTXO set
|
|
|
|
without iterating over many transactions looking for unspent credits
|
|
|
|
- Modify several data structures and function signatures have been modified
|
|
|
|
to reduce the number of needed allocations and be more cache friendly
|
|
|
|
|
|
|
|
- Miscellaneous:
|
|
|
|
- Rewrite paths relative to the data directory when an alternate data
|
|
|
|
directory is provided on the command line
|
2021-08-26 00:58:28 +02:00
|
|
|
- Switch the websocket endpoint to `ws` to match lbcd
|
2015-03-03 18:41:48 +01:00
|
|
|
- Remove the getaddressbalance extension RPC to discourage address reuse and
|
|
|
|
encourage watching for expected payments by using listunspent
|
|
|
|
- Increase transaction creation performance by moving the sorting of
|
|
|
|
transaction outputs by their amount out of an inner loop
|
|
|
|
- Add additional logging to the transaction store:
|
|
|
|
- Log each transaction added to the store
|
|
|
|
- Log each previously unconfirmed transaction that is mined
|
|
|
|
- [debug] Log which previous outputs are marked spent by a newly inserted
|
|
|
|
debiting transaction
|
|
|
|
- [debug] Log each transaction that is removed in a rollback
|
|
|
|
- Only log rollbacks if transactions are reorged out of the old chain
|
|
|
|
- Save logs to network-specific directories
|
2021-08-26 00:58:28 +02:00
|
|
|
(e.g. ~/.lbcwallet/logs/testnet3) to match lbcd behavior (#114)
|
2015-03-03 18:41:48 +01:00
|
|
|
|
2014-05-26 02:07:03 +02:00
|
|
|
Changes in 0.4.0 (Sun May 25 2014)
|
|
|
|
- Implement the following standard bitcoin server RPC requests:
|
2021-08-26 00:58:28 +02:00
|
|
|
- signmessage (https://github.com/lbryio/lbcwallet/issues/58)
|
|
|
|
- verifymessage (https://github.com/lbryio/lbcwallet/issues/61)
|
|
|
|
- listunspent (https://github.com/lbryio/lbcwallet/issues/54)
|
|
|
|
- validateaddress (https://github.com/lbryio/lbcwallet/issues/60)
|
|
|
|
- addressmultisig (https://github.com/lbryio/lbcwallet/issues/37)
|
|
|
|
- createmultisig (https://github.com/lbryio/lbcwallet/issues/37)
|
|
|
|
- signrawtransaction (https://github.com/lbryio/lbcwallet/issues/59)
|
2014-05-26 02:07:03 +02:00
|
|
|
|
|
|
|
- Add authenticate extension RPC request to authenticate a websocket
|
|
|
|
session without requiring the use of the HTTP Authorization header
|
|
|
|
|
2021-08-26 00:58:28 +02:00
|
|
|
- Add lbcdusername and lbcdpassword options to allow separate
|
2014-05-26 02:07:03 +02:00
|
|
|
authentication credentials from wallet clients when authenticating to a
|
2021-08-26 00:58:28 +02:00
|
|
|
lbcd websocket RPC server
|
2014-05-26 02:07:03 +02:00
|
|
|
|
|
|
|
- Fix RPC response passthrough: JSON unmarshaling and marshaling is now
|
2021-08-26 00:58:28 +02:00
|
|
|
delayed until necessary and JSON result objects from lbcd are sent to
|
2014-05-26 02:07:03 +02:00
|
|
|
clients directly without an extra decode+encode that may change the
|
|
|
|
representation of large integer values
|
|
|
|
|
|
|
|
- Fix several websocket client connection issues:
|
|
|
|
- Disconnect clients are cleanly removed without hanging on any final
|
|
|
|
sends
|
|
|
|
- Set deadline for websocket client sends to prevent hanging on
|
|
|
|
misbehaving clients or clients with a bad connection
|
|
|
|
|
|
|
|
- Fix return result for dumprivkey by always padding the private key bytes
|
|
|
|
to a length of 32
|
|
|
|
|
|
|
|
- Fix rescan for transaction history for imported addresses
|
2021-08-26 00:58:28 +02:00
|
|
|
(https://github.com/lbryio/lbcwallet/issues/74)
|
2014-05-26 02:07:03 +02:00
|
|
|
|
|
|
|
- Fix listsinceblock request handler to consider the minimum confirmation
|
2021-08-26 00:58:28 +02:00
|
|
|
parameter (https://github.com/lbryio/lbcwallet/issues/80)
|
2014-05-26 02:07:03 +02:00
|
|
|
|
|
|
|
- Fix several RPC handlers which require an unlocked wallet to check
|
|
|
|
for an unlocked wallet before continuing
|
2021-08-26 00:58:28 +02:00
|
|
|
(https://github.com/lbryio/lbcwallet/issues/65)
|
2014-05-26 02:07:03 +02:00
|
|
|
|
|
|
|
- Fix handling for block rewards (coinbase transactions):
|
|
|
|
- Update listtransactions results to use "generate" category for
|
|
|
|
coinbase outputs
|
|
|
|
- Prevent inclusion of immature coinbase outputs for newly created
|
|
|
|
transactions
|
|
|
|
|
|
|
|
- Rewrite the transaction store to handle several issues regarding
|
|
|
|
transation malleability and performance issues
|
|
|
|
- The new transaction store is written to disk in a different format
|
|
|
|
then before, and upgrades will require a rescan to rebuild the
|
|
|
|
transaction history
|
|
|
|
|
|
|
|
- Improve rescan:
|
|
|
|
- Begin rescan with known UTXO set at start height
|
|
|
|
- Serialize executation of all rescan requests
|
|
|
|
- Merge waiting rescan jobs so all jobs can be handled with a single
|
|
|
|
rescan
|
|
|
|
- Support parially synced addresses in the keystore and incrementally
|
2021-08-26 00:58:28 +02:00
|
|
|
mark rescan progress. If a rescan is unable to continue (wallet
|
|
|
|
closes, lbcd disconnects, etc.) a new rescan can start at the last
|
2014-05-26 02:07:03 +02:00
|
|
|
synced chain height
|
|
|
|
|
2021-08-26 00:58:28 +02:00
|
|
|
- Notify (with an unsolicited notification) websocket clients of lbcd
|
2014-05-26 02:07:03 +02:00
|
|
|
connection state
|
|
|
|
|
|
|
|
- Improve logging:
|
|
|
|
- Log reason for disconnecting a websocket client
|
|
|
|
|
2021-08-26 00:58:28 +02:00
|
|
|
- Updates for lbcd websocket API changes
|
2014-05-26 02:07:03 +02:00
|
|
|
|
|
|
|
- Stability fixes, internal API changes, general code cleanup, and comment
|
|
|
|
corrections
|
|
|
|
|
2014-02-10 18:13:15 +01:00
|
|
|
Changes in 0.3.0 (Mon Feb 10 2014)
|
|
|
|
- Use correct hash algorithm for chained addresses (fixes a bug where
|
|
|
|
address chaining was still deterministic, but forked from Armory and
|
2021-08-26 00:58:28 +02:00
|
|
|
previous lbcwallet implementations)
|
2014-02-10 18:13:15 +01:00
|
|
|
|
2021-08-26 00:58:28 +02:00
|
|
|
- Change websocket endpoint to connect to lbcd 0.6.0-alpha
|
2014-02-10 18:13:15 +01:00
|
|
|
|
|
|
|
- Redo server implementation to serialize handling of client requests
|
|
|
|
|
2021-08-26 00:58:28 +02:00
|
|
|
- Redo account locking to greatly reduce lbcwallet lockups caused by
|
2014-02-10 18:13:15 +01:00
|
|
|
incorrect mutex usage
|
|
|
|
|
|
|
|
- Open all accounts, rather than just the default account, at startup
|
|
|
|
|
|
|
|
- Generate new addresses using pubkey chaining if keypool is depleted and
|
|
|
|
wallet is locked
|
|
|
|
|
|
|
|
- Make maximum keypool size a configuration option (keypoolsize)
|
|
|
|
|
|
|
|
- Add disallowfree configuration option (default false) to force adding
|
|
|
|
the minimum fee to all outbound transactions
|
|
|
|
|
|
|
|
- Implement the following standard bitcoin server RPC requests:
|
2021-08-26 00:58:28 +02:00
|
|
|
- getinfo (https://github.com/lbryio/lbcwallet/issues/63)
|
|
|
|
- getrawchangeaddress (https://github.com/lbryio/lbcwallet/issues/41)
|
|
|
|
- getreceivedbyaccount (https://github.com/lbryio/lbcwallet/issues/42)
|
|
|
|
- gettransaction (https://github.com/lbryio/lbcwallet/issues/44)
|
|
|
|
- keypoolrefill (https://github.com/lbryio/lbcwallet/issues/48)
|
|
|
|
- listsinceblock (https://github.com/lbryio/lbcwallet/issues/52)
|
|
|
|
- sendtoaddress (https://github.com/lbryio/lbcwallet/issues/56)
|
2014-02-10 18:13:15 +01:00
|
|
|
|
|
|
|
- Add empty (unimplemented) handlers for the following RPC requests so
|
2021-08-26 00:58:28 +02:00
|
|
|
requests are not passed down to lbcd:
|
2014-02-10 18:13:15 +01:00
|
|
|
- getblocktemplate
|
|
|
|
- getwork
|
|
|
|
- stop
|
|
|
|
|
|
|
|
- Add RPC extension request, exportwatchingwallet, to export an account
|
|
|
|
with a watching-only wallet from an account with a hot wallet that
|
2021-08-26 00:58:28 +02:00
|
|
|
may be used by a separate lbcwallet instance
|
2014-02-10 18:13:15 +01:00
|
|
|
|
|
|
|
- Require all account wallets to share the same passphrase
|
|
|
|
|
|
|
|
- Change walletlock and walletpassphrase RPC requests to lock or unlock
|
|
|
|
all account wallets
|
|
|
|
|
|
|
|
- Allow opening accounts with watching-only wallets
|
|
|
|
|
|
|
|
- Return txid for sendfrom RPC requests
|
2021-08-26 00:58:28 +02:00
|
|
|
(https://github.com/lbryio/lbcwallet/issues/64)
|
2014-02-10 18:13:15 +01:00
|
|
|
|
|
|
|
- Rescan imported private keys in background
|
2021-08-26 00:58:28 +02:00
|
|
|
(https://github.com/lbryio/lbcwallet/issues/34)
|
2014-02-10 18:13:15 +01:00
|
|
|
|
|
|
|
- Do not import duplicate private keys
|
2021-08-26 00:58:28 +02:00
|
|
|
(https://github.com/lbryio/lbcwallet/issues/35)
|
2014-02-10 18:13:15 +01:00
|
|
|
|
|
|
|
- Write all three account files for a new account, rather than just
|
2021-08-26 00:58:28 +02:00
|
|
|
the wallet (https://github.com/lbryio/lbcwallet/issues/30)
|
2014-02-10 18:13:15 +01:00
|
|
|
|
|
|
|
- Create any missing directories before writing autogenerated certificate
|
|
|
|
pair
|
|
|
|
|
|
|
|
- Fix rescanning of a new account's root address
|
|
|
|
|
|
|
|
- Fix error in the wallet file serialization causing duplicate address
|
|
|
|
encryption attempts
|
|
|
|
|
|
|
|
- Fix issue calculating eligible transaction inputs caused by a bad
|
|
|
|
confirmation check
|
|
|
|
|
|
|
|
- Fix file locking issue on Windows caused by not closing files before
|
|
|
|
renaming
|
|
|
|
|
|
|
|
- Fix typos in README file
|
|
|
|
|
2014-01-15 17:35:16 +01:00
|
|
|
Changes in 0.2.1 (Thu Jan 10 2014)
|
2021-08-26 00:58:28 +02:00
|
|
|
- Fix a mutex issue which caused lbcwallet to lockup on all
|
2014-01-15 17:35:16 +01:00
|
|
|
RPC requests needing to read or write an account
|
|
|
|
|
2014-01-15 01:25:31 +01:00
|
|
|
Changes in 0.2.0 (Thu Jan 09 2014)
|
|
|
|
- Enable mainnet support (disabled by default, use --mainnet to enable)
|
|
|
|
|
2021-08-26 00:58:28 +02:00
|
|
|
- Don't hardcode localhost lbcd connections. Instead, add a --connect
|
2014-01-15 01:25:31 +01:00
|
|
|
option to specify the hostname or address and port of a local or
|
2021-08-26 00:58:28 +02:00
|
|
|
remote lbcd instance
|
|
|
|
(https://github.com/lbryio/lbcwallet/issues/1)
|
2014-01-15 01:25:31 +01:00
|
|
|
|
|
|
|
- Remove --serverport port and replace with --listen. This option works
|
2021-08-26 00:58:28 +02:00
|
|
|
just like lbcd's --rpclisten and allows to specify the interfaces to
|
2014-01-15 01:25:31 +01:00
|
|
|
listen for RPC connections
|
|
|
|
|
|
|
|
- Require TLS and Basic HTTP authentication before wallet can be
|
|
|
|
controlled over RPC
|
|
|
|
|
|
|
|
- Refill keypool if wallet is unlocked and keypool is emptied
|
|
|
|
|
2021-08-26 00:58:28 +02:00
|
|
|
- Detect and rollback saved tx/utxo info after lbcd performs blockchain
|
|
|
|
reorganizations while lbcwallet was disconnected
|
2014-01-15 01:25:31 +01:00
|
|
|
|
|
|
|
- Add support for the following standard bitcoin JSON-RPC calls:
|
2021-08-26 00:58:28 +02:00
|
|
|
- dumpprivkey (https://github.com/lbryio/lbcwallet/issues/9)
|
2014-01-15 01:25:31 +01:00
|
|
|
- getaccount
|
|
|
|
- getaccountaddress
|
2021-08-26 00:58:28 +02:00
|
|
|
- importprivkey (https://github.com/lbryio/lbcwallet/issues/2)
|
|
|
|
- listtransactions (https://github.com/lbryio/lbcwallet/issues/12)
|
2014-01-15 01:25:31 +01:00
|
|
|
|
|
|
|
- Add several extension RPC calls for websocket connections:
|
|
|
|
- getaddressbalance: get the balance associated with a single address
|
|
|
|
- getunconfirmedbalance: get total balance for unconfirmed transactions
|
|
|
|
- listaddresstransactions: list transactions for a single address
|
2021-08-26 00:58:28 +02:00
|
|
|
(https://github.com/lbryio/lbcwallet/issues/27)
|
2014-01-15 01:25:31 +01:00
|
|
|
- listalltransactions: lists all transactions without specifying a range
|
|
|
|
|
|
|
|
- Make RPC extensions available only to websocket connections, with the
|
|
|
|
exception of createencryptedwallet
|
|
|
|
|
|
|
|
- Add dummy handlers for unimplemented wallet RPC calls
|
2021-08-26 00:58:28 +02:00
|
|
|
(https://github.com/lbryio/lbcwallet/issues/29)
|
2014-01-15 01:25:31 +01:00
|
|
|
|
|
|
|
- Add socks5/tor proxy support
|
|
|
|
|
|
|
|
- Calculate and add minimum transaction fee to created transactions
|
|
|
|
|
|
|
|
- Use OS-specific rename calls to provide atomic file renames which
|
|
|
|
can replace a currently-existing file
|
2021-08-26 00:58:28 +02:00
|
|
|
(https://github.com/lbryio/lbcwallet/issues/20)
|
2014-01-15 01:25:31 +01:00
|
|
|
|
|
|
|
- Move account files to a single directory per bitcoin network to
|
|
|
|
prevent a future scaling issue
|
2021-08-26 00:58:28 +02:00
|
|
|
(https://github.com/lbryio/lbcwallet/issues/16)
|
2014-01-15 01:25:31 +01:00
|
|
|
|
|
|
|
- Fix several data races and mutex mishandling
|
|
|
|
|
2021-08-26 00:58:28 +02:00
|
|
|
- Fix a bug where the RPC server hung on requests requiring lbcd
|
|
|
|
when a lbcd connection was never established
|
2014-01-15 01:25:31 +01:00
|
|
|
|
|
|
|
- Fix a bug where creating account files did not create all necessary
|
2021-08-26 00:58:28 +02:00
|
|
|
directories (https://github.com/lbryio/lbcwallet/issues/15)
|
2014-01-15 01:25:31 +01:00
|
|
|
|
|
|
|
- Fix a bug where '~' did not expand to a home or user directory
|
2021-08-26 00:58:28 +02:00
|
|
|
(https://github.com/lbryio/lbcwallet/issues/17)
|
2014-01-15 01:25:31 +01:00
|
|
|
|
|
|
|
- Fix a bug where returning account names as strings did not remove
|
|
|
|
trailing ending 0s
|
|
|
|
|
|
|
|
- Fix a bug where help usage was displayed twice using the -h or --help
|
|
|
|
flag
|
|
|
|
|
|
|
|
- Fix sample listening address in sample configuration file
|
|
|
|
|
|
|
|
- Update sample configuration file with all available options with
|
|
|
|
descriptions and defaults for each
|
|
|
|
|
2013-11-13 20:08:35 +01:00
|
|
|
Initial Release 0.1.0 (Wed Nov 13 2013)
|
|
|
|
- Initial release
|