Commit Graph

50 Commits

Author SHA1 Message Date
Yeastplume 1f35feed00 Update Cargo.lock from latest master, update age library to 0.7 (#625)
* Update cargo lock and introduce changes for update to age library

* update bech32 prefix
2021-11-13 12:19:32 +00:00
jaspervdm 78960015fc Bump master version to 5.1.0-alpha.1 (#536)
* Bump version to 5.0.0-beta.1

* Bump version to 5.1.0-alpha.1

* Switch to grin master
2020-12-01 14:48:07 +01:00
Yeastplume b58322fdda update ed25519_dalek release (#506) 2020-08-10 14:42:53 +01:00
Yeastplume 6c9cef1370 Post Hardfork 3 Cleanup (#490)
* Change versioning on master to 4.1.x development

* Remove SlateV3, V3 References from command-line code

* continue to remove pre HF3 functionality, remove participant_id from slate, remove is_compact, derive slate state based on slate state field

* slate no longer needs explicit compact step

* version/build coinbase doctest cleanup

* don't attempt to store transaction during tx lock if it doesn't exist

* repair incorrectly removed logic

* last test fixes (hopefully)
2020-07-31 10:33:45 +01:00
Quentin Le Sceller d13aa39cc0 version bump for next potential release (#461) 2020-07-03 16:10:38 +01:00
Yeastplume 47e99f5603 Versioning for 4.0.0 (#459) 2020-07-02 12:23:54 +01:00
Yeastplume 0fb677069d Version bump to v4.0.0-rc.1 (#458) 2020-06-26 14:05:00 +01:00
Yeastplume bf3f0a49e0 Version bump for 4.0.0-beta.3 (#448) 2020-06-16 15:43:13 +01:00
Quentin Le Sceller 0079c04b2d Version Bump for v4.0.0-beta.2 (#437) 2020-06-12 11:14:23 -04:00
Quentin Le Sceller 0e817fd1c0 Cargo Update (#426)
* Cargo update

* Fix easyjsonrpc import

* Cargo update

* Fix compiler warning
2020-06-10 12:31:04 -04:00
Yeastplume fe2880949d Encrypted Slatepack Metadata (#428)
* addition of slatepack metadata

* finish adding tests ensuring forwards compatibility

* fix to version check

* updates based on review feedback
2020-06-10 10:28:23 +01:00
Yeastplume 2a2367ff04 Version Bump for v4.0.0-beta.1 (#427) 2020-06-04 17:21:49 +01:00
Yeastplume 03cb1097e0 Slatepack Pt. 3 - The Packening (SlatepackAddress implementation) (#413)
* addition of SlatepackAddress type

* complete conversion of ed25519 keys to x25519 and isolate conversion within libwallet

* refactor packing/unpacking of slates logic into libwallet and out of slate adapters

* println
2020-05-26 09:51:05 +01:00
Yeastplume 2769436117 Slatepack - Pt 2 - Encryption (#411)
* recreate PR from #400

* first tests with slate encryption

* simplify slatepack model to contain encryption header in payload, and add de/ser tests

* update tests and confirm slatepack encryption working

* remove recipient list, add version check warning
2020-05-22 11:48:11 +01:00
Yeastplume 9450d2a3b8 Compact slate merge (#404)
* Add support for sending compact slates (#366)

* WIP add support for sending compact slates

* add repopulate_tx function to internal API

* first pass at compacted slate working

* move slate compaction to separate function

* test fixes

* support compact slate inits in invoice workflow

* add compress flags to send and invoice

* attempting to remove is_compact and assume all V4 slates begin as compact

* attempting to calculate offsets when full tx data isn't available

* update calc_commit to use participant blind data

* update doctests for compact slates

* start to remove unneeded fields from serialization

* make num_participants optional

* remove other_version from slate

* use grin master branch

* remove message field

* lock height assumed to be 0 if it doesn't exist

* don't serialise receiver signature when null

* don't serialize payment_info if not needed

* remove participant id from participant info

* add note on id field

* fix finalize and receive doctests

* finalize_tx tests, init_send_tx tests

* doctests for process_invoice_tx, retrieve_tx, tx_lock_outputs

* finished test changes

* update from grin master

* rebuild PR from diff (#380)

* recreate PR from diff (#381)

* serialize tx struct into top level coms object (#382)

* remove height (#383)

* Add State Slate (#384)

* add state field to slate and SlateV4

* set slate state at each transaction stage, add check to tests

* serialize slate status properly

* V4 Slate field tweaks (#386)

* various tweaks to V4 slate

* field renaming

* serialize slate v4 ID as base64 (#387)

* remove amount and fee where not needed (#388)

* Final Changes for compact Slate (#389)

* add tests for all types of file output, remove message args

* default range proof serialization

* shorten output features serialization

* rename payment proof fields in slate v4

* v4 payment proof serialization

* Binary Slates (#385)

* start test implementation

* add experimental binary serialization to slate

* serialize id

* serialize fields that can be skipped as a separate struct

* factor out sigs serialization

* clean up sigs and coms serialization

* completed v4 bin serialization

* add manual de/ser traits for V4 bin slate

* add simple byte array serializer

* complete wiring in of bin slate serialization

* clarify comment

* clarify comment

* update version

* test output dir name fix

* update slate v4 change description

* add binary output to command line

* Remove unneeded signature data during S2 and I2 stages (#390)

* remove unneeded return signature data during S2

* remove unneeded sig data from I2

* Doctest Fixes for compact slate branch (#392)

* begin to fix doctests

* more doctest fixes

* fix receive_tx

* update get_stored_tx to accept an UUID instead of a tx object, and operate on a raw Transaction object (#394)

* Fixes to async transaction posting (#395)

* unstash post_tx changes

* add offset during S3 and I3

* Revert slate id serialization to hex-string uuid (#396)

* update from master (#397)

* v3.x.x - v4.0.0 wallet compatibility fixes (#398)

* changes to support http sending to v3 wallets

* sending via http/tor TO 3.0.0 wallet works

* receiving FROM 3.0.0 wallets works over http/tor

* output converted V3 slate when needed

* paying invoices from 3.0.0 wallets working

* handle all participant info in slate states

* sending and receiving standard file transactions between v3 and 4 wallets confirmed working

* all file-based workflows working

* fixes resulting from tests

* remove reminder warnings

* remove lock_height, add kernel_features + arguments (#399)

* grin-wallet master now building against grin master (#402) (#403)

Co-authored-by: Antioch Peverell <apeverell@protonmail.com>

* Enhanced offset creation (#407)

* initial tests reworking offset creation

* invoice flow fixing + tests

* further test fixes

* change offset name in v4 slate, base64 serialize

* logic optimisation

* changes based on review feedback

Co-authored-by: Antioch Peverell <apeverell@protonmail.com>
2020-05-19 11:19:03 +01:00
Yeastplume decdd173a0 version bump for next potential release 2020-03-02 15:11:18 +00:00
Yeastplume 695e425f22 Version bump for 3.1.0 release (#350) 2020-03-02 13:10:28 +00:00
Yeastplume df8b706fbb Version increment for 3.1.0-beta.2 (#346) 2020-02-25 10:46:28 +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
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
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 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 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
antiochp 8f185ac150 bump version v2.1.0-beta.2 2019-09-30 11:16:09 +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
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 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 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 ea4849a05f fixes and version update for final 1.0.0 build 2019-06-05 22:35:11 +01:00
Yeastplume 9a7243fddd version bump for beta.4 2019-05-31 08:41:20 +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
Yeastplume e25c93161e Updates for 1.1.0-beta.3 release (#106)
* bump version number and build from tag for beta 3 release

* update for latest grin tag
2019-05-16 10:50:31 +01:00
Yeastplume 47ee03cadd V2 slate versioning enablement (#85)
* fix for command line listener port override

* reduce parameter query size

* Add slate versioning

* rustfmt

* bump version number

* Add tests for slate version conversion

* rustfmt

* Updates and test addition based on bdap's review

* rustfmt
2019-04-23 11:29:59 +01:00
Yeastplume 735d852c7e prepare windows build 2019-04-03 17:03:25 +01:00
Yeastplume f56e091d11 remove readme references for crates.io 2019-04-03 16:44:10 +01:00
Yeastplume 844822e430 increment version number for crates.io 2019-04-03 14:50:44 +01:00
Yeastplume afa6003a8b V2 Foreign API RPC Tests (#28)
* build_coinbase api doctest

* rustfmt

* foreign api recieve tx rpc

* rustfmt

* re-export grin dependencies

* re-export grin dependencies

* all foreign API rpc tests working
2019-03-26 16:02:31 +00:00
Yeastplume 94960b3edd [WIP] V2 API Doctest generation (#24)
V2 API Doctest generation
2019-03-22 12:03:25 +00:00
Yeastplume baa5e46d7d Refactor crate names, API Crate refactor (#20)
* refactor/rename api crate contents, make crate naming consistent (all starting with grin_wallet)

* refactor/rename api crate contents, make crate naming consistent (all starting with grin_wallet)

* fix rpc api tests

* rustfmt

* done refactor

* rustfmt

* travis CI fixes
2019-03-14 12:06:03 +00:00
yeastplume f65149c181 compile from github branch, clean up cargo dep files 2019-02-15 10:51:23 +00:00
yeastplume 1f613c0641 move api into separate crate, integration tests working 2019-02-14 13:40:29 +00:00
yeastplume fe853d29b3 move wallet into refwallet crate 2019-02-13 16:39:34 +00:00
yeastplume da288f0139 initial commit 2019-02-13 15:05:19 +00:00