Commit graph

342 commits

Author SHA1 Message Date
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
antiochp
caea305587
revert CbData changes
mining node calls build_coinbase and this needs to be consistent with grin node
2019-08-19 16:58:13 +01:00
antiochp
ec3d08a710
translate to/from TransactionV2 correctly in owner api and foreign api 2019-08-19 16:35:54 +01:00
antiochp
3c45dad846
bleeding edge grin libs (master) 2019-08-19 14:29:16 +01:00
antiochp
4b993b0456
rebase against master and compile against kernel_feature_enum_variants branch on grin repo 2019-08-19 14:29:16 +01:00
antiochp
6b95593e7f
make sure we only set lock_height if >0 2019-08-19 14:29:16 +01:00
antiochp
6c322acaf8
rework kernel features support to handle fee and lock_height on features variants 2019-08-19 14:29:11 +01:00
Yeastplume
a58cae651e
Add init_api_secure function (#206)
* adding initial version of init_secure_api

* rustfmt

* fix ECDH algo

* rustfmt

* trying to figure out best way of doing encryption

* refactor secure requests and responses into json-rpc responses, with base64 payload for encrypted messages

* rustfmt

* return proper errors from encrypted api, include tests covering encrypted API error cases

* rustfmt

* add test for normal error (unencrypted)

* rustfmt

* change ports for test, add foreign listener to V2 sanity tests, add ability to select owner api port via command line

* rustfmt

* turn it to 11

* explicit teardown after rpc tests

* update tests with explicit teardowns

* update tests to perform explicit teardown

* fix warnings, ensure all tests teardown

* log output to diagnose CI windows build failures

* disable owner api doctests on windows

* rustfmt
2019-08-19 13:05:21 +01:00
Yeastplume
62d976f9ef
Test refactoring and additions to support API Testing (#205)
* move wallet tests into integration module in advance of further test creation, add v3 API

* rustfmt

* fix return value from incorrect mask supplied

* rustfmt

* rework send request call some

* rustfmt

* more refactoring, turn proxy startup + wallet init into macros

* rustfmt

* move sample requests into subdirectories

* add missing wallet files, change gitignore
2019-08-13 09:36:21 +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
Antioch Peverell
5cdd412205 use VersionedSlate for the owner_rpc api (#202) 2019-08-06 11:34:59 +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 f52a8d2c7c.

* 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
Hendrik Richter
7b6d597d39 add --txid to the wallet txs command (#176)
* add --txid to the `wallet txs` command

* add test for `wallet txs` command with `--txid` parameter
2019-07-08 09:43:56 +01:00
Yeastplume
21dd3d5377
Derive --version output dynamically from cargo package version (#174) 2019-07-02 10:24:17 +01:00
Yeastplume
f7c17c4ba9
update version number for next potential release 2019-07-01 14:44:22 +01:00
Yeastplume
c12f61d154
bump version number for release 2019-07-01 11:05:36 +01:00
Yeastplume
1db6029ba2
Clearer user messaging when node in use is 1.1.0 or less (#168)
* Modify error message when checking against old nodes to reflect 1.x.x series

* update output text
2019-06-29 09:09:12 +01:00
Quentin Le Sceller
5467515d36
CI Improvements (#166)
* Switch to Windows2019

* Delete Rust install step for Windows and Linux

* Add missing indent

* Missing indents

* Add forgotten LLVM

* Fix indents

* Fix rust flags
2019-06-28 11:15:08 +02: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
c7a00478aa
fix future version number 2019-06-06 00:12:08 +01:00
Yeastplume
a1f2e1f2eb
update version for master maintenance 2019-06-05 23:51:07 +01:00
Yeastplume
3136812831
fixes and version update for final 1.0.0 build 2019-06-05 22:35:23 +01:00
Yeastplume
ea4849a05f
fixes and version update for final 1.0.0 build 2019-06-05 22:35:11 +01:00
Yeastplume
42befd2340
More helpful error message on recover when wallet_data dir doesn't exist (#134)
* make recover error message when wallet doesn't exist more helpful

* rustfmt
2019-06-04 16:48:04 +01:00
Yeastplume
03ab8ad8bd
Fix for API secret on node API startup (#131)
* fix for api_secret when reading node height

* rustfmt

* remove macro export

* trigger ci again
2019-06-01 10:37:33 +01:00
Gary Yu
cc940fb978
Merge pull request #130 from garyyu/warning
cargo.lock update, and remove 3 build warning from cargo 1.35.0
2019-06-01 11:40:01 +08:00
Gary Yu
36ab785589
cargo.lock crate version update, and remove 3 build warning from cargo 1.35.0 2019-06-01 10:46:45 +08:00
Yeastplume
9a7243fddd
version bump for beta.4 2019-05-31 08:41:20 +01:00
Yeastplume
b1738e33ed
Changes for 1.1.0 -> 2.0.0 Deployment strategy decisions (#126)
* make slate v0 the default for regular sends

* add block_header_version to slate

* update doc tests for latest grin version

* rustfmt

* HACF if HF height detected

* rustfmt
2019-05-31 08:33:23 +01:00
Yeastplume
af16dea6e1
Version Info API Function tweak, remove 'min_compat_version' from slate (#123)
* change slate version function to return list of supported slate formats

* rustfmt

* remove min_compat_version
2019-05-30 09:34:04 +01:00
Quentin Le Sceller
757dfd0d91
Remove Travis.yml (#124) 2019-05-29 15:54:10 -04:00
jaspervdm
84e6c71e8f Test (#119) 2019-05-27 10:44:48 +01:00
Gary Yu
ad59c601e7 change the api repository to grin-wallet instead of grin (#118) 2019-05-24 15:43: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