Commit graph

186 commits

Author SHA1 Message Date
Quentin Le Sceller
0ae921461c
CI: Remove Rust installation for macOS (#324) 2020-02-04 15:41:28 -05:00
Quentin Le Sceller
047ea9372f
Remove cloning and various formating/efficiency improvements (#321) 2020-02-04 16:17:46 +00:00
Yeastplume
c76ee7c803
Cargo update (#323) 2020-02-04 10:04:57 +00:00
Yeastplume
ed5b9008c0
Ensure API create_wallet returns failure when provided with invalid mnemonic seeds (#319)
* Ensure  returns failure with invalid mnemonic seeds, add tests

* test fixes resulting from change
2020-01-31 12:00:49 +00:00
Yeastplume
e71d79dc38
Rework directory checks/setups at launch (#318)
* rework setup code to ensure --top_level_dir flag works and all files are only output into the desired directory

* check for existence of wallet configuration file in target directory before asking recovery phrase and password

* test fixes and add test_mode flag to parse_init_args
2020-01-31 09:18:11 +00:00
Yeastplume
14e126bb1e
add serde(default) specifier to ttl_blocks and payment_proof_recipient_address (#316) 2020-01-29 15:11:08 +00:00
Yeastplume
a2560179ae
Onion V3 address consistency (#309)
* initial addition of ov3

* move libwallet address functions into OnionV3Address type

* incorporate OnionV3 type where possible

* factor out manual dalek pubkey manipulations

* corrections due to test failures

* change json-rpc example to use ov3 for payment proof recipient address
2020-01-24 13:02:09 +00:00
Quentin Le Sceller
3091bd9701 Secure API JSON RPC ID can be integer or string (#314)
* Fix #312

* Fix tests
2020-01-24 11:01:16 +00:00
Yeastplume
f09c91f626
Payment Proof export + validation (#289)
* add payment proof struct and deser

* rustfmt

* adding proof export functions

* rustfmt

* add payment proof validation function

* rustfmt

* add RPC version of retrieve_payment_proof + doctest

* rustfmt

* add verify_proof rpc function and documentation for new functions

* rustfmt

* add export and verify commands

* rustfmt

* test + test framework fixes

* rustfmt

* check whether addresses belong to this wallet, output such when checking

* rustfmt

* remove raw pubkey address and replace with ov3 address in user-facing contexts

* merge from master and rustfmt

* doctests
2020-01-22 13:16:24 +00:00
mplsgrant
08a76c04ff Grin hypen wallet (#297)
* Automatic changes to Cargo.lock resulting from:
cargo update.

* Changed 'grin wallet' to 'grin-wallet'.

* Removed Cargo.lock changes from PR 'Grin hypen wallet #297'
2020-01-21 12:42:53 +00:00
Yeastplume
0d8689663b
add output query chunk size as temporary env variable (#298) (#299) 2020-01-17 11:27:47 +00:00
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