Commit Graph

16 Commits

Author SHA1 Message Date
Yeastplume b2c973fd0b Cargo update (#337) 2020-02-18 10:23:33 +00:00
Quentin Le Sceller 1116bc5545 Less cloning and additional pattern simplifications (#326)
* API cleanup

* Config cleanup

* Impl cleanup

* Libwallet cleanup

* Additionnal simplification
2020-02-07 09:39:56 +00:00
Yeastplume e74c0e2571 Add updater thread + Updater related functions (#253)
* first attempt at adding updater thread

* rustfmt

* rustfmt

* many lifetimes made static to allow api to spawn separate thread

* add first pass at updater thread functionality

* rustfmt

* add mpsc for returning status from update functions

* rustfmt

* add stop state, ensure update is triggered by wallet functions when wallet updater is running

* rustfmt

* add update status function to owner API, V3 owner api functions

* rustfmt

* change update warning

* adding tests for new updater control functions

* documentation updates

* rustfmt
2019-11-18 10:49:51 +00:00
Yeastplume 021c34bf89 Change check_repair + certain functions to lock more granularly (#252)
* Rename check-repair -> scan, make lock logic more granular

* rustfmt

* update owner api implementations where to allow granular locking where required

* rustfmt

* store init state on startup to determine whether full utxo scan is required for new wallets

* rustfmt

* fix for init status persist

* add start height argument to scan

* rustfmt
2019-11-06 10:04:42 +00:00
Yeastplume c518f35c8d Store and use last scanned PMMR height in check_repair (#246)
* store last scanned PMMR check index

* rustfmt

* fix issue where account names will be overwritten on check_repair

* rustfmt

* attempts to include check_repair scan as part of normal update

* rustfmt

* fix error on restore due to incorrect parent key id being set

* addition of calls to heigt_range_to_pmmr_indices traits and implementations

* rustfmt

* get_chain_height -> get_chain_tip

* rustfmt

* retrieve height+hash from node, modify check_repair to use block heights

* rustfmt

* fixes from live testing

* rustfmt

* test cleanup and change dependencies back to grin master

* rustfmt
2019-11-04 21:10:05 +00:00
Quentin Le Sceller 11481669ef Update Copyright to 2019 (#232) 2019-10-03 15:16:09 +01:00
antiochp d89331a720 use explicit protocol version (local is not safe) 2019-09-26 08:33:33 +01:00
Yeastplume 26ad378686 API Token Fixes (#218)
* split api secret into owner_api secret and node api secrets

* update for master, drop requirement for authentication for foreign api when run on same port as owner api

* rustfmt

* re-trigger build
2019-09-12 13:18:15 +01:00
Yeastplume f8c316a351 Store XORed wallet seed in-mem (#200)
* experimental xor token work

* rustfmt

* test implementation of build_coinbase_t function

* rustfmt

* add separate foreign_rpc_s interface for secure functions

* rustfmt

* rustfmt

* fix http scheme to allow https as well

* add tokenized owner API, modify all functions to use token

* rustfmt

* fix for api doctests, tests passing up to api crate

* rustfmt

* controller crate compilation

* rustfmt

* controller tests passing and modified some to use masked keychains

* rustfmt

* fix wallet tests

* rustfmt

* build from github

* rustfmt
2019-08-06 12:50:41 +01:00
Yeastplume c40e8a915b Merge milestone/2.1.0 into master (#199)
* version bump for next potential release

* Merge master into milestone/2.1.0 (#182)

* Derive --version output dynamically from cargo package version (#174)

* add --txid to the `wallet txs` command (#176)

* add --txid to the `wallet txs` command

* add test for `wallet txs` command with `--txid` parameter

* Refactor - Split WalletCommAdapter into multiple traits (#180)

* Derive --version output dynamically from cargo package version (#174)

* add server auth argument to http client

* Revert "add server auth argument to http client"

This reverts commit f52a8d2c7cdfb8583af5716ad621eb560811d6ee.

* modify WalletCommAdapter, moving dest argument into fields on implementors,
visiting havok on automated tests, at least one of which is now out of date and failing

* Split WalletCommAdapter into four traits, one for each of its intended behaviors.

* Remove two vestigals
1. args, a stringly typed argument to put_tx
2. NullAdapter, which is no longer used

* Remove unused "params" argument from listen method.

* Re-add previously existing TODO comment

* Fix non-test build

* completely Fix non-test build

* Full Lifecycle API Support (#184)

* refactoring wallet lib traits

* rustfmt

* rustfmt

* add new files

* explicit lifetime specifiers on all wallet traits

* rustfmt

* modify apis to use new walletinst

* rustfmt

* converting controller crate

* rustfmt

* controller crate compiling

* rustfmt

* compilation

* rustfmt

* Remove config from wallet, implement open_wallet, close_wallet in lifecycle provider, remove password + open_with_credentials from WalletBackend + impl

* rustfmt

* full compilation, changing recovery + init to new model

* rustfmt

* wallet initialisation working, init command output and flow identical to v2.0.0 wallet

* rustfmt

* fix listener and owner api startup

* rustfmt

* rustfmt

* move encryption test

* rustfmt

* fix api doctests

* rustfmt

* fix for most tests in controller crate

* rustfmt

* fix for check tests in controller crate

* fix main wallet tests

* rustfmt

* add explicit functions to handle mnemonic recovery, fix CLI recovery workflow

* rustfmt

* update keybase adapter to use new wallet format

* rustfmt

* test fix

* remove debug output
2019-07-29 13:25:03 +01:00
Yeastplume 64e8c48c35 Merge 2.0.0 branch into master (#164)
* create 2.0.0 branch

* V0/V1 Slate Removal + Grin Header Version Bump (#140)

* Remove V0 and V1 Slates from Wallet

* rustfmt

* V1 API + V2 wallet to wallet impl (#144)

* remove v1 API

* rustfmt

* convert http adapter to use V2 api

* rustfmt

* V2 API conversion Pt2 - Check version (#146)

* call check_version on wallet before http send

* rustfmt

* Support new Bulletproof rewind scheme (#122)

* Restore with LegacyProofBuilder

* Switch to ProofBuilder at HF block

* Switch proof builder for coinbase outputs at hard fork

* Use valid_header_version to switch proof builder

* Fix compilation errors

* Use legacy proof builder for AutomatedTesting chain type

* Add macro to avoid duplicate code

* Read version info from server, react accordingly (#154)

* read and parse version, bump hf

* rustfmt

* add foreign api middleware check

* rustfmt

* add middleware checks

* rustfmt

* add check for incoming pre-hf slates

* api tests

* Add double rewind period (#155)

* Add double rewind period

* Simplify restore

* Fix comment

* bump imported version for beta release

* version bump for next (potential) release

* Provide more specific error when other wallet is outdated (#162)

* add appropriate error message when other wallet is out of date

* rustfmt

* missing cargo.lock
2019-06-27 10:41:05 +01:00
Yeastplume 85b55f5ca7 Add participant ID as part of key to stored private transaction context data (#117)
* add participant_id to saved tranasction context data

* rustfmt?

* change participant id for command line pay command
2019-05-23 16:27:57 +01:00
Yeastplume 0b9b16d5cf Remove duplicate LMDB wallet backend code (#101)
* remove leftover wallet lmdb code

* rustfmt
2019-05-11 17:47:06 +01:00
Gary Yu e509405b8a Revert "Merge branch 'master' into master"
This reverts commit a63f2c7cea, reversing
changes made to d774272fee.
2019-04-25 14:59:45 +08:00
Gary Yu 12909c9262 Store payment outputs in wallet database (#1)
* store receiver's output into the sender's database

* rustfmt

* payment output refresh

* fix the test code in libwallet

* rustfmt

* fix wallet_command_line test

* modify the warning message for self sending

* a bit of unit test according to review comments

* display unknown value for the case of multiple outputs on single receiver, normally it's not the case of this wallet implementation

* rustfmt

* fix merge missing parts

* rustfmt

* use PaymentCommitMapping struct instead of a tuple

* rustfmt

* fix the test

* fix the owner api rpc test
2019-04-22 12:40:58 +08:00
Yeastplume db015960a9 APIV2 refactoring (#23)
* continue refactor

* rustfmt

* further refactoring

* impl crate compiling

* main crate compilation

* rustfmt

* test fix

* rustfmt

* test compilation

* rustfmt

* refwallet tests passing

* rustfmt

* all tests passing

* move http listener startup out of adapter

* rustfmt

* rename refwallet->controller

* rustfmt

* travis tests and api doctests

* rustfmt
2019-03-17 19:14:58 +00:00