Commit Graph

142 Commits

Author SHA1 Message Date
deevope d70423af57 View Wallet - fn rewind_hash & scan_rewind_hash (#632)
* fn rewind_hash & scan_rewind_hash

* update comments

* update doctest
2021-12-14 12:23:17 +00:00
deevope 041b182fcc latest master and ser&des update fn arguments (#631) 2021-12-13 15:53:46 +00:00
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
GeneFerneau ba9a4982df Fix documentation warning for Slate::msg_to_sign (#616) 2021-05-19 15:02:17 -04:00
John Tromp b7f587f2b3 remove height argument from fee related functions as per fixpastfees RFC (#602)
* remove height argument from fee related functions as per fixpastfees RFC

* Cargo.lock updated from cargo update -p grin_core
2021-05-19 14:27:42 -04:00
trevyn e9e67884d6 Sync to latest grin master and fix missing verifier_cache (#599)
* Sync to latest grin master and fix missing verifier_cache

* Copy CI fixes from grin master
2021-04-05 10:14:10 +01:00
trevyn a88a522f84 Clippy easy wins 1 (#596) 2021-03-17 10:51:53 -04:00
Quentin Le Sceller 4e4880be8e Update copyright license year to 2021 (#587) 2021-03-05 13:30:51 -05:00
Jakob Abfalter b3d4d038a5 Changed pub_nonce_sum and msg_to_sign to be public functions (#557)
* [Dev] changed pub_nonce_sume to be public

* [Dev] made msg_to_sign public to be able to create signatures outside of
slate.rs

Co-authored-by: Jakob <jakob.abfalter@brex.io>
2021-03-05 13:12:08 -05:00
John Tromp a4c82b99d2 fix yet another instance of fee fields at height 0 (#538) 2021-03-01 14:29:55 +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
John Tromp 8334304c16 fixfees on grin-wallet (#526)
* change fee to fee_fields in various structs and fix tests for new fee calculation

* set up accept_fee_base param in grin-wallet.toml

* fix bug and adopt new tx_fee interface

* Fix doctests

* Remove left over debug statement

* revert field name feef to fee to remain slate compatible

* use into() for some literal fee_fields

* add height arguments to FeeFields methods where necessary

* Fix tests

* Rename fee_fields -> fee on Context

* Rename fee_fields -> fee on TxLogEntry

* Update to grin master

* replace fee(0) by fee(2*YEAR_HEIGHT) to get fee masking

* Fix compilation error and revert Cargo lock

* fix wrong height passed into next_difficulty

Co-authored-by: Jasper van der Maarel <j@sper.dev>
2020-11-26 20:46:03 +01:00
jaspervdm a83f92dfd3 Late locking (experimental) (#530)
* Late locking (experimental)

* Error on fee change

* Improve comments

* Fix typo in comment

* Add late locking flag to CLI command
2020-11-19 12:54:49 +01:00
Quentin Le Sceller c0e68ec3ea Rename Floonet to Testnet (#521)
* Replace floonet by testnet

* Update Cargo.lock
2020-10-08 10:00:01 -04:00
Antioch Peverell 073c63aa16 handle transaction inputs correctly (#512)
* commit

* bump grin crates to latest version on master
2020-09-07 18:04:07 +01:00
antiochp 2b1ba14db5 grin output_identifier refactoring 2020-09-01 14:01:20 +01:00
Nym Seddon f29fc9352f Check Slatepack file size before loading contents (#495)
Check Slatepack file size is within valid range before loading contents
into memory

Co-authored-by: Nym Seddon <unseddd@shh.xyz>
2020-08-12 10:09:46 +01:00
Yeastplume b58322fdda update ed25519_dalek release (#506) 2020-08-10 14:42:53 +01:00
Antioch Peverell b447dd1f69 build_coinbase api fix and cleanup (#505) 2020-08-10 11:38:03 +01:00
Antioch Peverell 3ae8856afe tx inputs underwent refactoring (#502) 2020-08-07 15:57:27 +01:00
Yeastplume 9146c17967 remove invoice state from context (#500) 2020-08-06 15:19:37 +01:00
Antioch Peverell e00c61fd05 refactor to pass slices around and not &Vec<> (#498)
cleaned up a couple of unwrap() calls
2020-08-03 10:29:54 +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 0d512114a3 Fix API doc typo (#449)
* Fix API doc typo
2020-07-20 14:55:20 -04: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 354b8e46a6 Change base64 serialization back to hex in JSON slate output (#457)
* Change base64 serialization back to hex in JSON slate output

* update V4 slate change description
2020-06-26 12:37:54 +01:00
Yeastplume f8ea76732b Modify get_stored_tx functions + tests (#454) 2020-06-25 10:06:04 +01:00
Yeastplume 99c2505bf5 Add option to skip Tor send attempts in TorConfig (#453) 2020-06-24 10:50:40 +01:00
Yeastplume bf3f0a49e0 Version bump for 4.0.0-beta.3 (#448) 2020-06-16 15:43:13 +01:00
Yeastplume 040b28f35a rework decode_slatepack function to accept decryption key indices (#445) 2020-06-15 14:39:52 +01:00
jdwldnqi837 bd83eea253 Fix: height locked feature value should be 2. (#440)
// Match on kernel feature variant:
// 0: plain
// 1: coinbase (invalid)
// 2: height locked (with associated lock_height)
// 3: NRD (with associated relative_height)
// Anything else is unknown.
2020-06-15 09:32:57 +01:00
Quentin Le Sceller 0079c04b2d Version Bump for v4.0.0-beta.2 (#437) 2020-06-12 11:14:23 -04:00
Yeastplume ff9a9ea817 Slatepack Address HRP (#436)
* slatepack address hrp

* fix prefix

* test updates

* fix libwallet tests
2020-06-12 10:40:07 +01:00
Yeastplume 5e20f5f0c8 add wallet unpack command (#433) 2020-06-11 08:34:00 +01: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 60ab3728ab Slatepack Workflow (#423)
* debugging tor sends

* use fixed yeast version of hyper-socks2

* send command working according to slatepack

* changes to handling proof address

* modifications of recieve command to work with slatepack and to attempt to return to sender via TOR

* finalize command tested

* attempting to add invoice processing

* fixes to tests, propagation of test mode where needed

* modify return values of api functions that can send as sync

* cleanup, testing and post_tx function

* revert changes to API, many test fixes

* deprecate http on the command-line warning
2020-06-03 08:39:23 +01:00
Antioch Peverell 4fe6bf1c23 NRD kernel variant (compile against grin master) (#408)
* wip

* hardcode NRD kernel during tx building

* commit

* compiles against grin with NRD kernel variant
2020-05-29 15:52:46 +01:00
Yeastplume db12712928 Slatepack OwnerAPI Changes (#421)
* change all user-facing instances of addresses to a SlatepackAddress

* finish renaming get_slatepack_address + documentation

* get_slatepack_secret_key OwnerRPC implementation and test

* add owner api functions

* OwnerRPC functions + doctests

* add explicit slatepack API tests to exercise encryption

* update api function names to better reflect RFC
2020-05-28 08:17:51 +01:00
j01tz 788d050bbe slatepack: Add WORDS_PER_LINE (#420) 2020-05-27 22:54:23 +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
Antioch Peverell 19da1e4aec grin-wallet master now building against grin master (#402) 2020-05-11 10:27:47 +01:00
Yeastplume c42d5ddcff Make Transaction Field in V4 Slate Optional (#356)
* make transaction field in V4 Slate optional

* add mutable/non mutable version of tx getter

* removal of mut references where not needed

* remove more muts

* update from master

* update from master

* test fixes
2020-03-10 18:19:27 +00:00
jaspervdm 7a95f42cc8 Detect reverted transactions (#355)
* Detect reverted transactions

* Add reverted amount to funds display

* Support cancelling reverted txs

* Add reverted_after field for reverted transactions

* Update grin dependency to master branch

* Panic on failed test cleanup

* Only delete test dir if it exists

* Stop wallet proxy in accounts test

* Stop proxy thread in all controller tests

* Typo

* Add sleep after revert test

* Longer sleep in revert tests
2020-03-10 16:49:17 +01:00
Yeastplume 1810854b24 Remove V2 Slate, Add V4 (#354)
* add V4 slate

* add V4 slate

* deprecation warnings as reminders

* fix doctests, add warnings and change upstream grin back to master
2020-03-06 09:33:47 +00:00