Commit Graph
91 Commits
Author SHA1 Message Date
wiescheGitHubJoergardocratdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
90846a4212 Mwixnet wallet support (#783)
* Update rust edition to 2021 (#749)

* build: update rust edition 2021

* cargo: format all

* build: fix tests and warnings

* Save last scanned block info for wallet scanning (#748)

* scan: save last scanned block info for initial wallet scanning

* scan: save start height at scanned block info on outputs collecting

* scan: 10k blocks batches

* fix: include last height into batch on scan

* scan: save hash of last block

* scan: add larger window (2880 blocks) to scan outputs when updating wallet state

* add test batched scan and resume, add scan doc

* rename corrupted restore test

---------

Co-authored-by: Joerg <wiesche89@googlemail.com>

* Bump openssl from 0.10.68 to 0.10.80 (#752)

* Update lmdb (#755)

* wallet: update lmdb from store crate, migrate single backend from trait to struct, update tests cargo deps and design doc

* backend: do not panic on iter and directory creation

* return  iterator errors

* build: update to last node revision

* fix: height selection for scan, remove unused mutability for wallet

* wallet: remove unused mutability conversion

* tx: store slate state at database

* build: cargo fmt

* fix: do not return error when slate not found on tx slate state update

* lmdb: do not collect all tx log records at iterator, show read errors at log

* fix: save slate state, return error if slate not found

* tx: specify amount of bad txs on slate state update error

---------

Co-authored-by: Joerg <wiesche89@googlemail.com>

* Node submodules (#758)

* build: use node submodule as dependency

* ci: checkout submodules

* docs: add contributing and build instruction

* ci: update release build

* git: remove old submodule

* git: grin staging submodule

* git: add submodule dir

* Integrated Tor arti Client (#750)

* tor: integrated client for listener, update tokio to last version

* tor: send transaction with integrated client

* build: code format

* tor: optimize bootstrap percent check

* tor: handle config build error

* tor: do not show slatepack address if tor not launched

* tor: handle keystore errors

* tor: keep service launched

* tor: bootstrap timeout, clean cache before client launch

* tor: post request timeout

* fix: post timeout

* build: update deps after merge

* tor: store arti runtime

* tor: do not send over tor if `manual` arg presents or `skip_send_attempt` set at config

* fix: arg name

* tor: handle arti runtime creation error

* tor: handle connection error

* tor: handle bootstrap error

* tor: handle start service name error

* tor: handle service config creation error

* tor: service proxy errors

* tor: handle service key creation emptiness

* build: format code

* build: update arti to 0.43, hyper to 0.10.1

* api: start foreign listener before tor connection

* tor: handle json parse errors

* tor: prevent to create several client runtimes, ability to recreate

* tor: return bootstrap error

* tor: handle host parse error

* tor: restart proxy on error

* tor: do not use integrated client when config value use_integrated is missing, add logging

* build: update lock file

* Global Tor client state (#762)

* tor: global client state

* tor: optimize init client thread-safety

* tor: handle config change on client init

* tor: add logging for client reuse or reinit

* tor: do not reuse arti client for requests

* Optimize tor sync flow (#763)

* Connection timeout (#765)

* Update deps (#768)

* build: update grin submodule to last staging

* build: update grin submodule

* build: remove remove_dir_all dependency

* build: update rpassword

* build: update semver

* build: remove unused deps

* build: update ring

* build: update lock file deps

* build: update rustyline

* build: update ed25519-dalek

* build: update curve25519-dalek

* build: update age

* build: update uuid

* fix: uuid test

* build: update x25519-dalek

* fix: x25519-dalek build

* build: update arti

* build: update grin submodule

* build: update hyper

* fix: initialize rustls provider for tests

* build: update grin submodule

* fix: rustls install provider

* tor: share getting private key

* fix: show an error on node version parse

* cli: renamed prompt password method

* fix: replace into_boxed_slice with try_from

* fix: dalek tests for onion

* config: comment expanded secret key

* fix: import api body for controller

* password: handle prompt error

* wallet: parse node error message

* tests: do not use random values for sign messages

* build: make hook executable

* build: cargo format all

* rustls: do not install provider at tests and globally

* build: update grin submodule

* build: fix api channel from grin submodule

* args: use read_password for piped prompt

* build: remove unused dep

* test: fixed signature

* preserve piped pw input

---------

Co-authored-by: wiesche <wiesche89@googlemail.com>

* Bump lodash from 4.17.21 to 4.18.1 (#774)

* build: update lodash to 4.18.1

* fix: readme

* docs: add owner api authentication setup

* build: update package-lock.json to version 3

* fix: token result, inline some vars

---------

Co-authored-by: ardocrat <ardocrat@gri.mw>

* Global config instance (#769)

* config: global instance

* fix: cli tests

* fix: owner api tests

* config: save tor config

* fix: owner rpc tests

* fix: set config file path on init and owner api call

* tor: store launched services, get global config at command loop, remove unused listen args, check for empty global config to set default, do not save empty tor config at owner

* api: update config in memory after successful file write

* arti: restart proxy in loop

* fix: comment for tor config save

* config: set or init, update without error

* config: scoped tor config

* build: update lock file

* config: ability to store multiple configurations at memory from config path

* tor: restart service on config change

* fix: owner api test

* foreign: pass tor config from args, stop service, error handling

* arti: move runtime wrapper to single file

* config: read existing config from file at create_config

* config: handle error on read

* arti: single dir for cache

* foreign: register config listener before launch

* config: save temp

* config: remove unused error type

* config: make path and members not optional, return an error on config creation if it exists, pass default tor config to send if not set

* arti: non public runtime wrapper

* config: migrate comments

* fix: rpc tests

* config: return from cache if exists

* config: save disabled tor config when null provided at owner and tor section was not set

* config: update tor with args at listener

* config: pass pathbuf directly on creation

* config: unique tmp file name, setting permissions and providing config version

* fix global config handling

* fix config persistence

* fix tor service restart

* fix config synchronization

* require wallet close before changing data directory

* unify global config updates

---------

Co-authored-by: wiesche <wiesche89@googlemail.com>

* Wrong Slatepack address fix (#773)

* Use native tls for client (#779)

* client: use native tls and disable default features for reqwest

* build: bring back reqwest default features except tls

* client: remove tls selection

* expose mwixnet onion apis (#781)

* Update jayson and uuid (#777)

* build: update jayson and uuid

* npm: update lock file to v3

* npm: update lock file

---------

Co-authored-by: ardocrat <ardocrat@gri.mw>

* Optimize outputs scan and selection (#780)

* Make updater APIs public (#782)

* Add mwixnet wallet request support

* mwixnet key conversion tests

* validate and track mwixnet requests

* fix Arti HTTP POST request formatting

* add mwixnet wallet CLI submission

* unlock mwixnet outputs when requests are not sent

* support automatic mwixnet output selection

* move mwixnet response parsing to libwallet

* limit mwixnet hops

* centralize grin workspace dependencies

* fix tx filter

* handle unavailable terminal colors

* reject invalid invoice locking

* clarify bip32 derivation paths

* restore derivation path comments

* tor: downgrade arti to 0.43

* owner: put active account on top of list

* account table layout

* fix: some typos, imports, unwraps and formatting

* tx: lock outputs before sending with tor

* accounts: display balances at CLI and from owner API when min confirmations are set

* unpack plain slatepacks without password (#805)

* unpack plain slatepacks without password

* cli: better open wallet handling on wallet subcommand

---------

Co-authored-by: ardocrat <ardocrat@gri.mw>

* account: do not skip info from serialization, fix owner rpc test

* reject zero send amounts (#799)

* cli: fix short for min confirmations at accounts subcommand

* accounts: optimize accounts selection

* owner: document minimum_confirmations for accounts

* accounts: optimize selection

* preserve accounts api compatibi and clean up balances

* avoid empty wallet seeds (#801)

* fix empty wallet seeds

* mnemonic: return actual error with entropy size on recovering

* seed: extend mnemonic error description

* seed: clarify mnemonic errors

* seed: clarify mnemonic errors, fix missing phrase test

* Clean up seed handling add test

---------

Co-authored-by: ardocrat <ardocrat@gri.mw>

* owner: use same wallet lock for selecting and locking outputs on send

* fix: do not lock for late lock

* cli: explain how to cancel

* fix: error message for offline address and integrated tor

* test: late lock for cli and owner api

* wallet: persistence for active account

* fix: owner_rpc test

* fix: lock wallet till lock outputs on send

* fix: update docs when to call tx_lock_outputs

* build: update grin submodule

* tests: get rid of owner_single_use to use correct config path

* test: parallel send attempts

* fix: cancel hint

* fix: late lock test refresh balance

* fix: set active account at single batch

* owner: document persistence of set_active_account

* cli: error when create and active args are present at account

* fix: keep display account type as str

* restore windows test fixes

* fix locking docs cancel hint and tests

* test cli send failure

* fix current account flag

* fix active account use

* test account persistence

* fix cli account selection

* fix: cmd tests

* fix: cmd test

* fix account test

* Show HTTP status when node requests fail (#820)

* ci: cargo clippy

* fix submodule checkout

* update grin for clippy fixes

* isolate tests

* fix cli test

* fix clippy warnings

* fix mwixnet output lookup

* build: update grin submodule

* git: add clippy to hook

* fix review nits

* fix checks

* mwixnet: use MwixnetServerPublicKey wrapper for hop

* build: update grin submodule

* build: clippy fixes

* mwixnet: rename dalek public key

* simplify mwixnet keys

* clarify mwixnet docs

* clarify arti usage

* simplify mwixnet tests

* tidy mwixnet code and docs

* skip spent outputs

* simplify mwixnet send

* drop host clone

* fix mwixnet selection and arti errors

* make mwixnet fee optional

* mwixnet: use fee at amount format, show min on error

* fix: fee per hop test

* fix: fee error text check

* tor: increase circuit timeout to 60

* fix mwixnet refresh and help

* build: update grin submodule and mwixnet tests

* cli: do not update wallet state on cancellation of tx after failed mwixnet request

* mwixnet: create separate owner api method to send request, do not cancel tx on failed mwixnet request

* fix mwixnet cli args and error messages

---------

Co-authored-by: ardocrat <ardocrat@gri.mw>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-15 21:15:56 +02:00
ardocratandGitHub b8ddf13001 Slatepack address index on send (#821)
* Store address_index into tx log entry to get address and decrypt slatepack message, increment over all values

* Provide address index on send and issue_invoice command

* Keep 0 index for receive

* Use sender address index at payment proof

Rust API users need to update to SlatepackAddressIndex and the Slatepack methods
Keep a wallet database backup for pending transactions and saved address indices. Seed recovery alone does not restore these, and the address counter restarts at 1.
2026-10-13 16:41:29 +03:00
wiescheandGitHub d2d893da72 fix late lock self send proof (#829) 2026-10-10 12:58:07 +02:00
fe79256467 Add linter to CI (#823)
Co-authored-by: wiesche <wiesche89@googlemail.com>
2026-10-07 20:48:38 +03:00
2d87b8c894 Accounts balances (#815)
Co-authored-by: wiesche <wiesche89@googlemail.com>
2026-09-28 11:20:01 +03:00
452a3ec51b Lock outputs before sending with Tor (#814)
Co-authored-by: wiesche <wiesche89@googlemail.com>
2026-09-26 15:18:16 +03:00
wiescheandGitHub 4a487390bd reject zero send amounts (#799) 2026-09-21 20:41:34 +02:00
wiescheandGitHub 0d5ea84bfd fix tx filter (#795) 2026-09-16 14:07:47 +03:00
wiescheandGitHub 645363436d reject invalid invoice locking (#798) 2026-09-16 14:07:21 +03:00
f585c70eba clarify bip32 derivation paths (#800)
Co-authored-by: ardocrat <ardocrat@gri.mw>
2026-09-16 13:50:51 +03:00
wiescheandGitHub 991ba1a1f7 use current header version in new slates (#804)
* use current header version

* flip header version check and bump min node version
2026-09-15 19:42:56 +02:00
wiescheandGitHub e5e319b47e reject wrong slate states in receive and finalize (#807) 2026-09-14 21:08:36 +02:00
ardocratandwiesche 2743dff020 Make updater APIs public (#782) 2026-08-09 19:49:29 +02:00
ardocratandwiesche c0245a03ea Optimize outputs scan and selection (#780) 2026-08-09 19:49:29 +02:00
ardocratandwiesche a3fb40caac Wrong Slatepack address fix (#773) 2026-08-09 19:49:29 +02:00
ardocratandwiesche 9e3ec0ed5b Global config instance (#769)
* config: global instance

* fix: cli tests

* fix: owner api tests

* config: save tor config

* fix: owner rpc tests

* fix: set config file path on init and owner api call

* tor: store launched services, get global config at command loop, remove unused listen args, check for empty global config to set default, do not save empty tor config at owner

* api: update config in memory after successful file write

* arti: restart proxy in loop

* fix: comment for tor config save

* config: set or init, update without error

* config: scoped tor config

* build: update lock file

* config: ability to store multiple configurations at memory from config path

* tor: restart service on config change

* fix: owner api test

* foreign: pass tor config from args, stop service, error handling

* arti: move runtime wrapper to single file

* config: read existing config from file at create_config

* config: handle error on read

* arti: single dir for cache

* foreign: register config listener before launch

* config: save temp

* config: remove unused error type

* config: make path and members not optional, return an error on config creation if it exists, pass default tor config to send if not set

* arti: non public runtime wrapper

* config: migrate comments

* fix: rpc tests

* config: return from cache if exists

* config: save disabled tor config when null provided at owner and tor section was not set

* config: update tor with args at listener

* config: pass pathbuf directly on creation

* config: unique tmp file name, setting permissions and providing config version

* fix global config handling

* fix config persistence

* fix tor service restart

* fix config synchronization

* require wallet close before changing data directory

* unify global config updates

---------

Co-authored-by: wiesche <wiesche89@googlemail.com>
2026-08-09 19:49:29 +02:00
ardocratandwiesche 5437dc0678 Update deps (#768)
* build: update grin submodule to last staging

* build: update grin submodule

* build: remove remove_dir_all dependency

* build: update rpassword

* build: update semver

* build: remove unused deps

* build: update ring

* build: update lock file deps

* build: update rustyline

* build: update ed25519-dalek

* build: update curve25519-dalek

* build: update age

* build: update uuid

* fix: uuid test

* build: update x25519-dalek

* fix: x25519-dalek build

* build: update arti

* build: update grin submodule

* build: update hyper

* fix: initialize rustls provider for tests

* build: update grin submodule

* fix: rustls install provider

* tor: share getting private key

* fix: show an error on node version parse

* cli: renamed prompt password method

* fix: replace into_boxed_slice with try_from

* fix: dalek tests for onion

* config: comment expanded secret key

* fix: import api body for controller

* password: handle prompt error

* wallet: parse node error message

* tests: do not use random values for sign messages

* build: make hook executable

* build: cargo format all

* rustls: do not install provider at tests and globally

* build: update grin submodule

* build: fix api channel from grin submodule

* args: use read_password for piped prompt

* build: remove unused dep

* test: fixed signature

* preserve piped pw input

---------

Co-authored-by: wiesche <wiesche89@googlemail.com>
2026-08-09 19:49:29 +02:00
ardocratandwiesche 308f0a8458 Update lmdb (#755)
* wallet: update lmdb from store crate, migrate single backend from trait to struct, update tests cargo deps and design doc

* backend: do not panic on iter and directory creation

* return  iterator errors

* build: update to last node revision

* fix: height selection for scan, remove unused mutability for wallet

* wallet: remove unused mutability conversion

* tx: store slate state at database

* build: cargo fmt

* fix: do not return error when slate not found on tx slate state update

* lmdb: do not collect all tx log records at iterator, show read errors at log

* fix: save slate state, return error if slate not found

* tx: specify amount of bad txs on slate state update error

---------

Co-authored-by: Joerg <wiesche89@googlemail.com>
2026-08-09 19:48:39 +02:00
ardocratandwiesche 15833b23c0 Save last scanned block info for wallet scanning (#748)
* scan: save last scanned block info for initial wallet scanning

* scan: save start height at scanned block info on outputs collecting

* scan: 10k blocks batches

* fix: include last height into batch on scan

* scan: save hash of last block

* scan: add larger window (2880 blocks) to scan outputs when updating wallet state

* add test batched scan and resume, add scan doc

* rename corrupted restore test

---------

Co-authored-by: Joerg <wiesche89@googlemail.com>
2026-08-09 19:48:01 +02:00
ardocratandDavid Burkett 84019630ed Update rust edition to 2021 (#749)
* build: update rust edition 2021

* cargo: format all

* build: fix tests and warnings
2026-06-10 20:33:35 -04:00
Anynomous ea1d68fd03 Normalize line endings, attempt 2 2025-09-18 14:56:43 +02:00
Anynomous 86de7c6bcd Normalize line endings 2025-09-18 14:51:29 +02:00
Anynomous 34b1d0c665 Fixed issue with top-dir without init, better absolut e path and more cleanup 2025-09-12 16:41:41 +02:00
YeastplumeandGitHub 6566fc184e Add mwixnet code to master (#726)
* add all comsig code, update to master branch

* refactor code into libwallet, remove some redundancy and update type exports

* added api calls and unit test for comsig request creation

* Addition of JSON-RPC mwixnet function call

* attempt to debug invalid params

* additions to support json doctesting for comsig creation

* tweaks to testing and documentation updates

* dependencies for tests
2024-11-01 10:45:09 +00:00
yeastplume 7ac35f134b Revert "[CONTRACTS] Contracts branch update for 1.80 (#718)"
This reverts commit cdd63fb565.
2024-09-19 09:05:44 +00:00
cdd63fb565 [CONTRACTS] Contracts branch update for 1.80 (#718)
* Simple contracts restructured v3 (#675)

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

* [Contracts] Experimental Slate v5 (#677)

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

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

* Update CI Badge on README.MD (#690)

* Trigger CI on push and pull request (#693)

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

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

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

* Basic mwmixnet send (#696)

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

* Add self spend transaction state

* subtle errors with output states and tx lookups - fixes

* [Contracts] Slatepack v5 Deserialization fix (#698)

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

* add tests + legacy self send cancel (#702)

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

* add tests + legacy self send cancel

* add missing file

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

* Add owner_api_listen_interface as hidden configuration field (#714)

* 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>
2024-08-27 12:30:22 +01:00
YeastplumeandGitHub 297c828532 Prevent wallet attempting to re-pay a cancelled invoice transaction (#707) 2024-04-24 09:03:58 +01:00
YeastplumeandGitHub 75363a9a25 Invoice owner API update (#701) 2024-02-20 11:04:42 +00:00
YeastplumeandGitHub c0b7c68b13 Update sysinfo crate to 0.29.6 (#685)
* 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 2a599027f5 more tweaks based on review 2022-12-05 11:14:46 +00:00
Yeastplume b1beca4206 remove _inc from field names 2022-12-01 09:44:51 +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 d29b64248a rename filter test 2022-11-28 09:10:37 +00:00
Yeastplume 806aa985d7 added transaction filtering implementation, addition of internal libwallet test to be filled out 2022-11-23 15:36:42 +00:00
Yeastplume cd3203be23 update transaction
api calls throughout
2022-11-22 13:25:44 +00:00
YeastplumeandGitHub 8384a3ebb0 Remove grin lib re-exports from util crate (#661)
* 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
YeastplumeandGitHub 64cab53b1b Replace failure with thiserror (#654)
* 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
ef3fadbd24 Implement fee inclusive transactions (#657)
* Add amount_includes_fee option in TX building

* Add --amount_includes_fee CLI option

* Implement send 'max' amount

Co-authored-by: cliik <cliik@example.com>
2022-07-26 10:15:53 +01:00
scilioandGitHub 2924a0ddb2 Add 'build_output' endpoint to owner api (#641)
* add 'build_output' endpoint to owner api

* merge fix
2022-02-18 10:06:04 +00:00
YeastplumeandGitHub 34d23eb17a PIBD Test Set Generation test (#628)
* add test to build chain with transaction data

* tweaks to test, add again
2021-12-14 15:47:01 +00:00
John TrompandGitHub 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
trevynandGitHub bdc5bd748a Use remove_dir_all crate for more robust Windows CI (#604)
* Use `remove_dir_all` 0.7 in tests only
2021-04-08 09:45:52 -04:00
Quentin Le ScellerandGitHub 4e4880be8e Update copyright license year to 2021 (#587) 2021-03-05 13:30:51 -05:00
Antioch PeverellandGitHub 92c5918e42 post late locked tx and assert amount on both wallets (#542)
cleanup wallet account setup
2020-12-11 09:45:15 -05:00
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
jaspervdmandGitHub 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
Antioch PeverellandGitHub 3ae8856afe tx inputs underwent refactoring (#502) 2020-08-07 15:57:27 +01:00
YeastplumeandGitHub 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
YeastplumeandGitHub f8ea76732b Modify get_stored_tx functions + tests (#454) 2020-06-25 10:06:04 +01:00
YeastplumeandGitHub 040b28f35a rework decode_slatepack function to accept decryption key indices (#445) 2020-06-15 14:39:52 +01:00