Commit graph

123 commits

Author SHA1 Message Date
Yeastplume
b1719bdf5b
[5.3.x BRANCH] 5.3.x branch pre-release update ()
* update and versioning for v5.3.1 ()

* Revert "update and versioning for v5.3.1 ()" ()

This reverts commit 3d6f4b8437.

* Update working version on master ()

* Update working version on master

* update cargo lock

* [CONTRACTS] Contracts branch update for 1.80 ()

* Simple contracts restructured v3 ()

* Add prototype contract implementation

Lacks:
- Payment proofs (add early payment proofs)
- Tests
- Better structure

* Separate contract utilities

* Simplify the main setup/sign code flow

* Remove commented initial_sec_key assignment

* Simplify sign::compute function

* Add logic for "removal" of secret keys from the context

* Further simplify a bit sign and setup

* No need for mutable context when adding outputs

* Refactor the commented code (lol)

* Refactor a bit

* tmp

---------

Co-authored-by: oryhp <gtrphyro@gmail.com>

* contract test fixes ()

* [Contracts] Experimental Slate v5 ()

* beginning to add and modify slate version 5

* completion of conversions from V5 to V4 Slate

* timestamp and memo fields

* upgrade/downgrade serialization of v5 slates

* add v5 binary slate versions + start of tests

* add bin slate ser/deser to tests

* ensure serialization of timestamp always excludes milliseconds

* start to update v5 tests, update v5 documentation

* add fn to generate populated internal slate for conversion testing

* add basic tests to convert all slate versions

* update

* commit cargo.lock

* [WIP] [Contracts] Early payment proofs ()

* add types and beginnings of signature utils

* add proof serialization

* serialisation of proof data + signature operation

* add serialization type for invoice proof + separate bin wrapper version

* add witness data + serializion to invoice payment proof, insert verfication functions in place in order to begin verification testing

* tests and infrastructure in place for validation

* verification of promise sig

* added verification of promise signature, infrastructure up to the point where a signature must be subtracted

* attempting to figure out differences between recipient nonce that's getting stored and calculated recipient nonce

* implementation of witness verification function, retrieve relevant values and re-validate derived recipient partial signature

* move stored portion of invoice proof into core types for storage, need to rename invoice proof

* define/refine the stored portion of payment proofs type 2?

* Folding all proof data into tx log entry storage

* back to importing master

* remove cargo files from diffs

* remove a lot of extra debug output

* return proof witness as part of proof retrieval, define json serialization of invoice proof + witness fields

* finish adding verification steps to foreign API

* remove redundant promise sig field

* move lcation of sign/verify calls

* Replace Azure Pipelines with Github Actions ()

* Update CI Badge on README.MD ()

* Trigger CI on push and pull request ()

* Update versioning to 5.2.0-beta.1 against grin 5.2.0-beta.3 ()

* update versioning to 5.2.0-beta.1 against grin 5.2.0-beta.3

* tweak for CI trigger

---------

Co-authored-by: Quentin Le Sceller <q.lesceller@gmail.com>

---------

Co-authored-by: Quentin Le Sceller <q.lesceller@gmail.com>

* fix Cargo.lock

* Contracts - Test fixes + warning cleanups ()

* clean up warnings in libwallet crate

* clean up warnings in controller crate

* update all contract tests with awareness of new proof structure

* added explicit payment proof tests for both rsr and srs ()

* Basic mwmixnet send ()

* integrating onion library

* updates and changes to support newly included mwmixnet types

* add (incorrect) owner api function

* turn off test for now

* switch working grin branch to master

* fix doctests for build

* update cargo lock in attempt to fix croaring build on CI server

* update cargo lock with upstream thiserror crate

* update test dependency for croaring

* [Contracts] Add self spend transaction state ()

* Add self spend transaction state

* subtle errors with output states and tx lookups - fixes

* [Contracts] Slatepack v5 Deserialization fix ()

* add V5 deserialization test + fixes

* clarify comment

* upwrap fix during v4 deserialization

* further unwrap removal

* update cargo lock, use latest grin packages

* addition of self-spend cancel + tests ()

* add tests + legacy self send cancel ()

* [Contracts] Cancel self-spend TX Pt. 2 ()

* add tests + legacy self send cancel

* add missing file

* Update grin to latest master, change versioning label to include contracts ()

* Add owner_api_listen_interface as hidden configuration field ()

* updates for rust 1.80

* updates for rust 1.80

---------

Co-authored-by: oryhp <gtrphyro@gmail.com>
Co-authored-by: Quentin Le Sceller <q.lesceller@gmail.com>

* Revert "[CONTRACTS] Contracts branch update for 1.80 ()"

This reverts commit cdd63fb565.

* [MASTER] Updates for Rust 1.80+ ()

* warning fixes

* warning cleanup

* Merge 1.80 fixes from master 2

* Merge 1.80 fixes from master 3 - Cargo.lock

* version update for 5.3.3 release

---------

Co-authored-by: oryhp <gtrphyro@gmail.com>
Co-authored-by: Quentin Le Sceller <q.lesceller@gmail.com>
2024-09-19 11:31:43 +01:00
Yeastplume
49d1b26c87
update and versioning for v5.3.1 () 2024-05-14 10:07:06 +01:00
Yeastplume
7741812599
Update versioning, dependencies for 5.3.0 release () 2024-04-24 10:20:16 +01:00
Yeastplume
f28b8c653a
Compilation fixes for master ()
* update to use grin master, cargo update

* and remaining crates
2024-02-16 11:19:01 +00:00
Yeastplume
12a25f82f1
Update versioning to 5.2.0-beta.1 against grin 5.2.0-beta.3 ()
* update versioning to 5.2.0-beta.1 against grin 5.2.0-beta.3

* tweak for CI trigger

---------

Co-authored-by: Quentin Le Sceller <q.lesceller@gmail.com>
2023-08-03 12:40:04 +01:00
Yeastplume
60d1eb0daa
update cargo lock () 2023-08-01 10:47:00 +01:00
Yeastplume
c0b7c68b13
Update sysinfo crate to 0.29.6 ()
* update sysinfo package to fix build error

* update tor process sysinfo calls to new api

* update deprecation warnings

* small logic cleanup

* tweak to retrigger CI

* new_all() not required

* give longer for test thread to stop to hopefully alleviate inconsistent CI failures
2023-07-26 12:59:36 +01:00
Yeastplume
477d903df4
Manual update and verification of () 2023-03-13 13:49:13 +00:00
Yeastplume
13b1fc8e01 addition of tx statuses to sort fields, fixes to total amount queries, inclusion of bigint, addition of unit tests to exercise filtering 2022-11-28 15:10:29 +00:00
Yeastplume
8384a3ebb0
Remove grin lib re-exports from util crate ()
* updated util and libwallet with thiserror

* update impl crate to thiserror

* api crate converted to thiserror

* update of controller crate to thiserror

* update final bin + tests to thiserror

* update unused import

* remove failure derive

* reset import of grin to master

* update cargo lock

* update from master

* remove grin libs re-export from util crate :(

* temp local

* point code at bleeding edge grin master branch
2022-08-08 12:08:25 +01:00
Yeastplume
64cab53b1b
Replace failure with thiserror ()
* updated util and libwallet with thiserror

* update impl crate to thiserror

* api crate converted to thiserror

* update of controller crate to thiserror

* update final bin + tests to thiserror

* update unused import

* remove failure derive

* reset import of grin to master

* update cargo lock

* update from master
2022-07-28 10:21:45 +01:00
cliik
95bb4c477e
Show slatepack QR codes ()
* Show slatepack QR codes

* Make slatepack QR codes optional

Co-authored-by: cliik <cliik@example.com>
2022-07-12 10:32:26 +01:00
yeastplume
3302d3d9cb update version numbering for next potential release 2022-03-22 14:29:03 +00:00
Yeastplume
fa39fca201
updates to ensure compilation against grin 5.0.2 () 2022-03-21 10:45:53 +00:00
deevope
c424a0ed10
TOR bridge + TOR Proxy + migration config_file_version ()
* tor bridge config and args

* migration `config_file_version=2`

* small fixes typo, comment etc..

* support: snowflake, meek_lite, obsf4 and tor proxy

* remove useless serde

* improve migrate function

* few fixes

* add bridge flags to pay and receive + few fixes

* some improvements
2022-02-03 15:33:41 +00:00
Yeastplume
b425107368
pmmr indexing related fix for get_outputs_by_pmmr_index function () 2021-12-14 11:51:20 +00:00
deevope
041b182fcc
latest master and ser&des update fn arguments () 2021-12-13 15:53:46 +00:00
Yeastplume
1f35feed00
Update Cargo.lock from latest master, update age library to 0.7 ()
* Update cargo lock and introduce changes for update to age library

* update bech32 prefix
2021-11-13 12:19:32 +00:00
GeneFerneau
1dd85690a1
Update lexical-core dependency ()
Fixes breaking builds on Rust stable 1.53.0+
2021-06-28 10:04:27 -04:00
John Tromp
b7f587f2b3
remove height argument from fee related functions as per fixpastfees RFC ()
* 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
Quentin Le Sceller
83fd8ffc86
Replace custom hyper client with reqwest ()
* [DNM] Replace custom hyper client with reqwest

* Fix runtime error
2021-05-04 11:13:38 -04:00
trevyn
bdc5bd748a
Use remove_dir_all crate for more robust Windows CI ()
* Use `remove_dir_all` 0.7 in tests only
2021-04-08 09:45:52 -04:00
trevyn
e9e67884d6
Sync to latest grin master and fix missing verifier_cache ()
* Sync to latest grin master and fix missing verifier_cache

* Copy CI fixes from grin master
2021-04-05 10:14:10 +01:00
jaspervdm
f4f4184283
Use global Tokio runtime () 2020-12-15 21:09:19 +01:00
jaspervdm
78960015fc
Bump master version to 5.1.0-alpha.1 ()
* 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 ()
* 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
Quentin Le Sceller
c0e68ec3ea
Rename Floonet to Testnet ()
* Replace floonet by testnet

* Update Cargo.lock
2020-10-08 10:00:01 -04:00
Antioch Peverell
7f5c010fed
fix our lmdb iter usage to work with changes in grin () 2020-10-07 20:08:30 -04:00
Antioch Peverell
073c63aa16
handle transaction inputs correctly ()
* commit

* bump grin crates to latest version on master
2020-09-07 18:04:07 +01:00
antiochp
54627383ec bump grin sha for master
add test for tx json serialization
2020-09-03 11:24:45 +01:00
antiochp
e8dc39b921 get_unspent api changed to take a commitment directly 2020-09-01 10:36:25 +01:00
Yeastplume
b58322fdda
update ed25519_dalek release () 2020-08-10 14:42:53 +01:00
Antioch Peverell
3ae8856afe
tx inputs underwent refactoring () 2020-08-07 15:57:27 +01:00
Yeastplume
6c9cef1370
Post Hardfork 3 Cleanup ()
* 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 () 2020-07-03 16:10:38 +01:00
Yeastplume
47e99f5603
Versioning for 4.0.0 () 2020-07-02 12:23:54 +01:00
Yeastplume
0fb677069d
Version bump to v4.0.0-rc.1 () 2020-06-26 14:05:00 +01:00
Yeastplume
bf3f0a49e0
Version bump for 4.0.0-beta.3 () 2020-06-16 15:43:13 +01:00
Quentin Le Sceller
0079c04b2d
Version Bump for v4.0.0-beta.2 () 2020-06-12 11:14:23 -04:00
Quentin Le Sceller
0e817fd1c0
Cargo Update ()
* Cargo update

* Fix easyjsonrpc import

* Cargo update

* Fix compiler warning
2020-06-10 12:31:04 -04:00
Yeastplume
2a2367ff04
Version Bump for v4.0.0-beta.1 () 2020-06-04 17:21:49 +01:00
Yeastplume
3edd410e19
change hyper-socks2-mw to versioned crate () 2020-06-03 14:31:19 +01:00
Yeastplume
60ab3728ab
Slatepack Workflow ()
* 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) ()
* wip

* hardcode NRD kernel during tx building

* commit

* compiles against grin with NRD kernel variant
2020-05-29 15:52:46 +01:00
Yeastplume
03cb1097e0
Slatepack Pt. 3 - The Packening (SlatepackAddress implementation) ()
* 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
antiochp
66f67b5170 update grin deps 2020-05-22 14:36:06 +01:00
Yeastplume
2769436117
Slatepack - Pt 2 - Encryption ()
* recreate PR from 

* 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 ()
* Add support for sending compact slates ()

* 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 ()

* recreate PR from diff ()

* serialize tx struct into top level coms object ()

* remove height ()

* Add State Slate ()

* 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 ()

* various tweaks to V4 slate

* field renaming

* serialize slate v4 ID as base64 ()

* remove amount and fee where not needed ()

* Final Changes for compact Slate ()

* 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 ()

* 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 ()

* remove unneeded return signature data during S2

* remove unneeded sig data from I2

* Doctest Fixes for compact slate branch ()

* 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 ()

* Fixes to async transaction posting ()

* unstash post_tx changes

* add offset during S3 and I3

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

* update from master ()

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

* 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 ()

* grin-wallet master now building against grin master () ()

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

* Enhanced offset creation ()

* 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 () 2020-05-11 10:27:47 +01:00
Yeastplume
c42d5ddcff
Make Transaction Field in V4 Slate Optional ()
* 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