Commit Graph

175 Commits

Author SHA1 Message Date
jdwldnqi837 db6babfd72 Fix: Log update thread do not exit after call ownerAPI. (#284) 2020-01-16 15:37:24 +00:00
Yeastplume f181a1e71d Version check fix + Rustfmt (#293) (#294)
* Correct node version check

* rustfmt

* update pre-commit hook
2020-01-14 15:50:49 +00:00
Yeastplume a97dc61725 Fix to unwraps (#285) (#286) 2020-01-02 22:16:36 +00:00
Yeastplume 483949e4fb versioning for branch 2019-12-20 11:23:11 +00:00
Yeastplume d30fa460d9 Updated to link v3.0.0-beta.3 node release (#281) 2019-12-19 20:53:36 +00:00
Yeastplume 52eecb5222 beta.2 (#278) 2019-12-12 22:15:50 +00:00
Quentin Le Sceller ac93ab8593 Add cargo clean to win release (#276)
* Add cargo clean to windows release

* Cargo clean
2019-12-10 09:44:04 +00:00
Yeastplume aa88bc2c16 3.0.0-beta.1 Versioning (#274)
* versioning, cargo lock update and test fix

* node version for build
2019-12-06 13:24:09 +00:00
Yeastplume e2ad2b3880 Add TTL Option to command line (#273)
* re-insert v2 slate

* reinstate version conversions

* rustfmt

* add and test versioning checks against 2.0.0 wallets

* rustfmt

* fix to invoice file output

* doctest fix

* remove target slate version from command line options

* add ttl option to send_tx and pay commands

* rustfmt
2019-12-04 13:04:28 +00:00
Yeastplume 86e6f511c3 V2 Slate Compatibility (#272)
* re-insert v2 slate

* reinstate version conversions

* rustfmt

* add and test versioning checks against 2.0.0 wallets

* rustfmt

* fix to invoice file output

* doctest fix

* remove target slate version from command line options
2019-12-04 11:52:42 +00:00
Yeastplume 7db55592d0 Bits and Pieces for 3.0.0 beta (#271)
* deprecate the V2 Owner API

* rustfmt

* fix output from scan

* fix scan output to be more consistent

* rustfmt

* updater thread test
2019-12-03 20:30:10 +00:00
Yeastplume 29b9222212 fixes for log level compatibility (#270) 2019-12-03 11:04:16 +00:00
Yeastplume fe539e716c rename command line switch to (#269) 2019-12-03 09:56:43 +00:00
Yeastplume 0d77282398 Check stored transaction for payment proof when checking proof (#266)
* check original transaction when checking payment proof

* rustfmt

* tweak to trigger build
2019-12-03 08:45:49 +00:00
Yeastplume 56396b85ff Remove manual recovery (#268)
* remove recovery command

* Remove manual recovery option from command line

* rustfmt
2019-12-03 08:45:36 +00:00
Yeastplume 43a7bfecef Fix incorrect merge in previous PR (#267) 2019-12-02 15:27:40 +00:00
Quentin Le Sceller 39db21d549 Fix comment for ttl_cutoff_height (#263) 2019-12-02 14:31:00 +00:00
Quentin Le Sceller f717372a75 Add link to rustdoc instead of wiki (#264) 2019-12-02 14:29:43 +00:00
Yeastplume 45480392da TTL Implementation (#261)
* refactor address generation code into libwallet, bool to flag whether to include proof, add sender address in init_send_tx

* rustfmt

* require payment proof addr as part of init_tx

* rustfmt

* store payment proof on sender transaction side

* rustfmt

* change sig to ed25519 sig

* rustfmt

* add message creation and signature

* rustfmt

* add payment proof verification function

* rustfmt

* validate proof on sender side, store proof

* rustfmt

* fix json tests

* fixes and updates to tests

* added API functions for converting and retrieving proof addresses

* rustfmt

* add payment proof to init_send_tx example

* rustfmt

* incorrect comment

* add commands for requesting payment proofs

* rustfmt

* wire up payment proofs into command line

* rustfmt

* add address command

* rustfmt

* added tor sending from owner api

* rustfmt

* add TTL to slate, transaction log

* ttl cutoff tests

* add ttl check to recieve functions, add tests, modify doctests

* rustfmt

* fixes from upstream changes and test fixes

* rustfmt

* remove unnecessary block header version check
2019-12-02 13:54:57 +00:00
Yeastplume 9fd1d49dda Proof of Payment Command Line (#260)
* refactor address generation code into libwallet, bool to flag whether to include proof, add sender address in init_send_tx

* rustfmt

* require payment proof addr as part of init_tx

* rustfmt

* store payment proof on sender transaction side

* rustfmt

* change sig to ed25519 sig

* rustfmt

* add message creation and signature

* rustfmt

* add payment proof verification function

* rustfmt

* validate proof on sender side, store proof

* rustfmt

* fix json tests

* fixes and updates to tests

* added API functions for converting and retrieving proof addresses

* rustfmt

* add payment proof to init_send_tx example

* rustfmt

* incorrect comment

* add commands for requesting payment proofs

* rustfmt

* wire up payment proofs into command line

* rustfmt

* add address command

* rustfmt

* added tor sending from owner api

* rustfmt
2019-11-28 15:13:52 +00:00
Yeastplume 7293ca99c3 Payment Proof Implementation (#259)
* refactor address generation code into libwallet, bool to flag whether to include proof, add sender address in init_send_tx

* rustfmt

* require payment proof addr as part of init_tx

* rustfmt

* store payment proof on sender transaction side

* rustfmt

* change sig to ed25519 sig

* rustfmt

* add message creation and signature

* rustfmt

* add payment proof verification function

* rustfmt

* validate proof on sender side, store proof

* rustfmt

* fix json tests

* fixes and updates to tests

* added API functions for converting and retrieving proof addresses

* rustfmt

* add payment proof to init_send_tx example

* rustfmt

* incorrect comment
2019-11-28 14:34:27 +00:00
Yeastplume 9c2177e3d9 HF2 Slate Changes (#258)
* Update slate version to V3, define PaymentInfoV3 and add needed serialization

* rustfmt

* add ttl and payment proof info to slate

* rustfmt

* add documentation for updated fields

* doc test fixes
2019-11-20 11:01:38 +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
John Boyd 355f08498c Add option to finalize and post transactions separately (for air-gap wallets) (#255)
* Add option to output finalized slate

* Add subcommand to post a finalized slate file
2019-11-18 10:19:00 +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
Antioch Peverell ba6c5ed0f8 Tx combinator refactor (#249)
* update tx building to use simpler kernel feature handling

* pass in tx to build::partial_transaction
and update the kernel on the tx based on features from the slate

* bump SHA for grin dependencies
2019-11-01 12:20:36 +00:00
Yeastplume 3190496402 Cherry pick #242 (#243) 2019-10-17 10:32:58 +01:00
Yeastplume b4eeb50c66 Optional Tor Send/Listen Functionality (#226)
* udpate for beta release

* initial tor explorations

* rustfmt

* basic tor tx send working

* rustfmt

* add tor proxy info to config file

* rustfmt

* add utilities to output tor hidden service configuration files

* output tor config as part of listener startup

* rustfmt

* fully automate config and startup of tor process

* rustfmt

* remove unnecessary process kill commands from listener

* rustfmt

* assume defaults for tor sending config if section doesn't exist in grin-wallet.toml

* rustfmt

* ignore tor dev test

* update default paths output by config, compilation + confirmed working on windows

* rustfmt

* fix on osx/unix

* add timeout to tor connector, remove unwrap in client

* allow specifiying tor address without 'http://[].onion' on the command line

* fix api test

* rustfmt

* update address derivation path as per spec

* rustfmt

* move tor init to separate function

* rustfmt

* re-ignore tor dev test

* listen on tor by default if tor available

* rustfmt

* test fix

* remove explicit send via tor flag, and assume tor if address fits

* rustfmt
2019-10-14 20:24:09 +01:00
Quentin Le Sceller c60301946f Update easyjson-rpc-mw to 0.5.4 (#240) 2019-10-10 11:40:43 -04:00
Yeastplume 8c1d326a26 Fix URL Compatibility with 2.0.0 (#236)
* fix url scheme for consistency with 2.0.0

* rustfmt

* remove URL lib and go back to parsing strings for the dest url

* rustmft
2019-10-09 15:19:37 +01:00
Yeastplume e02b5d9b20 update for development version (#234) 2019-10-04 12:41:18 +01:00
Yeastplume 0f2d8f8c6b version bump for build (#233) 2019-10-03 15:59:12 +01:00
Quentin Le Sceller 11481669ef Update Copyright to 2019 (#232) 2019-10-03 15:16:09 +01:00
Yeastplume 2186900faa Always store and update kernel excess (#231)
* always store and update kernel excess

* fix to parent key id on update as caught by testing

* save kernel excess for transaction recipients and coinbase outputs

* rustfmt

* logic cleanup, cargo.lock

* update to use node beta.3 release

* fix to doctests

* check result of calc offset before using

* rustfmt
2019-10-03 15:15:25 +01:00
Antioch Peverell f021e15eb6 Merge pull request #228 from antiochp/bump_2_1_0_beta_2
bump version v2.1.0-beta.2
2019-09-30 11:21:45 +01:00
antiochp 8f185ac150 bump version v2.1.0-beta.2 2019-09-30 11:16:09 +01:00
Antioch Peverell 291bc2e2f4 Merge pull request #225 from antiochp/explicit_wallet_proto_version
use explicit protocol version (local is not safe)
2019-09-26 14:36:50 +01:00
antiochp d89331a720 use explicit protocol version (local is not safe) 2019-09-26 08:33:33 +01:00
Yeastplume 061a058571 udpate for beta release (#224) 2019-09-24 15:13:20 +01:00
Quentin Le Sceller 83b1df3394 Fix local testing Cargo.toml (#222) 2019-09-24 10:23:39 +01:00
Yeastplume 07758f55d3 Update transactions via kernel where necessary (#220)
* add test for no change output scenario

* rustfmt

* add kernel lookup functionality to transaction retrievals

* rustfmt

* updates and fixes for no-change invoice workflow, test implementations

* rustfmt
2019-09-24 09:56:10 +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 78e30aa779 API Lifecycle Implementation, Part 2 (#217)
* additon of 'get_mnemonic' API function

* rustfmt

* added 'change_password' api function

* rustfmt

* add 'delete_wallet' function'

* rustfmt
2019-09-11 10:27:30 +01:00
Yeastplume 41c0058e84 API Lifecycle Implementation, Pt. 1 (#211)
* allow owner api to start up without a wallet, begin to add lifecycle functions

* rustfmt

* test and typos fix

* updated with lifecycle functions

* rustfmt

* updates to allow owner api tests to be executed against local wallet proxy

* rustfmt

* fix for windows test

* add ability to pass configuration to , begin to add documentation and doctests

* add ability to pass configuration to , begin to add documentation and doctests

* doctests for lifecycle functions

* rustfmt

* ensure foreign API also has mask updated when being run along owner api, add more tests to lifecycle

* rustfmt

* documentation for lifecycle methods + init_secure_api

* rustfmt

* failing doctest
2019-09-02 16:03:35 +01:00
Antioch Peverell 22dfa9b3f5 Merge pull request #210 from antiochp/versioned_coinbase
Introduce VersionedCoinbase to add api stability around build_coinbase
2019-08-20 17:09:14 +01:00
antiochp 1a6b8aff3b introduce VersionedCoinbase to add api stability around build_coinbase 2019-08-20 10:06:06 +01:00
Antioch Peverell 3efe36eb7d Merge pull request #129 from antiochp/kernel_features_compat
rework kernel features support
2019-08-20 01:22:45 +01:00
antiochp fbc8173629 fixup controller tests 2019-08-20 00:51:59 +01:00
antiochp 1f76d70209 cleanup imports 2019-08-19 18:02:08 +01:00