Commit graph

676 commits

Author SHA1 Message Date
Thebora Kompanioni
5ee1fdcd6c
regtest(fees): randomize max fee settings (#533) 2022-10-06 14:01:36 +02:00
Thebora Kompanioni
26f911aea8
feat: display fee settings on Send page (#532)
* refactor(fees): externalize loading fees to own file

* feat(send): show estimated max. collaborator fee

* feat(send): show miner fee target

* fix(fees): allow zero for all fee config values

* feat(fees): put ≤ before max. fee estimate

* fix(i18n): lowercase for consistency

Co-authored-by: Gigi <dergigi@pm.me>
2022-10-06 00:54:15 +02:00
Thebora Kompanioni
0757280bf1
fix(sweep): reload wallet info after scheduled sweep (#530)
* fix(sweep): wait for scheduler start/stop

* fix(sweep): reload wallet info after scheduled sweep
2022-10-05 13:55:30 +02:00
Thebora Kompanioni
59c6f4af99
i18n(orderbook): order -> offer (#531) 2022-10-04 11:07:27 +02:00
Thebora Kompanioni
54dd3969d9
feat: basic fee settings (#522)
* feat: add refreshConfigValues to ServiceConfigContext

* chore: add api method to post config values

* feat: add updateConfigValues to ServiceConfigContext

* feat(fees): ability to update fee specific config vars

* chore(fees): display error message on update failure

* chore(fees): add block sprite and adapt description

* ui(fee): wrap form sections in accordion

* feat(fees): add ability to set fee randomization factor

* ui(fees): use placeholder instead of loading spinner

* fix(fees): proper error messages depending on fee value unit

* fix(fees): dont decline zero as input value

* chore(fees): wording

* fix(fees): sats/vbyte mininum is exclusive

* refactor: move percentage/factor functions to utils

* fix(i18n): number strings

* feat(fees): improve wording

* fix(i18n): title case for title

* feat(fees): remove superfluous label

* feat(fees): improve wording

* feat(fees): more realistic example

* fix(fees): consistency; vbyte -> vByte

* fix(fees): consistency; satoshi -> sats

* feat(i18n): better verb

* feat(fees): maker -> collaborator

* Revert "feat(fees): remove superfluous label"

This reverts commit 20937aee1d.

* feat(fees): improve wording around base fee and block target

* fix(fees): parse max_cj_fee_abs as integer

* fix(fees): min/max value for absolute fee

* fix(fees): parse block target as integer

* fix(fees): allow 0% maximum relative fee

* fix(fees): use 'absurd_fee_per_kb' as upper level for fee

* chore(fees): lower max relative fee val from 50% to 20%

* fix(fees): let users specify 1sat/vbyte as fee

This is special case in that it will be translated to
1.001 sats/vbyte afterwards. This might be surprising to users
but it was decided that this is better than telling them that
the min is 1.001 from a UX point of view.

* fix(fees): add language attribute on form element

* feat(fees): improve wording & remove fee from label

* feat(fees): better fee randomization wording

* feat(fees): better fee label wording

* feat(fees): use smaller numbers in example

* feat(fees): improve wording

* feat(fees): improve wording

* feat(fees): improve base fee wording

* chore(fees): remove dead code

* ui(fees): colorize accordion header on form errors

* ui(fees): add info icon to cj fee description text

* fix(fees): wording

* docs(fees): fix typo

* chore: fix comment

* review(fees): lower max valid form value for absolute fee

* review(fees): lower max valid form value for relative fee

Co-authored-by: Gigi <109058+dergigi@users.noreply.github.com>
Co-authored-by: Gigi <dergigi@pm.me>
2022-10-04 11:05:36 +02:00
Thebora Kompanioni
e37fcf04c5
chore(github): add issue templates (#526)
* chore(github): add issue templates

* chore(github): minor improvement to issue templates

Co-authored-by: Gigi <109058+dergigi@users.noreply.github.com>
2022-10-03 18:30:26 +02:00
Thebora Kompanioni
509a15e90a
fix(sweep): wait for scheduler start/stop (#529) 2022-10-03 18:30:12 +02:00
Thebora Kompanioni
c79a969504
deps: update react-router-dom from v6.3.0 to v6.4.1 (#519)
* deps: update react-router-dom from v6.3.0 to v6.4.1

* test(react-router-dom): fix tests after react-router-dom update
2022-09-29 16:04:52 +02:00
Thebora Kompanioni
85d131cf75
feat(jar): show sum of selected utxos (#514)
* refactor(utxo): disable refresh button while loading

* fix(utxos): reset select state when switching jars

* refactor(utxo-list): store utxos/selectedUtxos in distinct vars

* fix(utxo-list): improve padding across all screens

* refactor(utxo-list): externalize UtxoDetailModal

* feat(utxo-list): show sum of selected utxos

* ui(utxo-list): change order of sum/button elements on mobile

* ui(utxo-list): align selected utxo sum to the right

* fix(utxo-list): wording

Co-authored-by: Gigi <109058+dergigi@users.noreply.github.com>
2022-09-26 13:05:31 +02:00
Thebora Kompanioni
13496a0a06
feat(send): show txid on successful direct-send (#510) 2022-09-26 12:26:36 +02:00
Thebora Kompanioni
d043353d1f
refactor: components from jsx to tsx (#509)
* refactor: App.jsx to App.tsx

* refactor(test): setupTests.js to setupTests.ts

* refactor(test): App.test.jsx to App.test.tsx

* refactor(ts): ActivityIndicators.jsx to .tsx

* refactor(ts): Alert.jsx to .tsx

* refactor: remove unneeded global declaration

* refactor(ts): JarSelectorModal.jsx to .tsx

* fix: prefer direct usage of classnames instead of bind
2022-09-26 12:22:31 +02:00
Thebora Kompanioni
5669be00fd
chore: update readme and package.json (#513)
* fix(package.json): update package description

* fix(package.json): update repo url

* docs(readme): add orderbook to features and update wiki link

* docs(contributing.md): update links

* docs(developing.md): update links

* docs(i18n/readme.md): update links to matrix and git repo

* fix(package.json): adapt release commit message
2022-09-22 13:09:28 +02:00
Gigi
0351367e29
fix(readme): link to development heading 2022-09-22 13:07:54 +02:00
Gigi
70feeaa067
docs(readme): update screenshots & text (#512)
* docs(readme): update screenshots

* docs(readme): update header

* docs(readme): update warning & intro

* docs(readme): link to Matrix, not Telegram

* docs(readme): move previous work paragraph to history

* docs(readme): update tagline

* docs(readme): link to jamdocs.org/contribute

* docs(readme): improved structure & wording
2022-09-22 12:04:52 +02:00
Gigi
e4bd89c648
fix(settings): consistent case (#511) 2022-09-22 10:10:56 +02:00
Thebora Kompanioni
7342e1080c
build(deps): remove web-vitals (#506)
* chore: dependencies update

* chore: update test dependencies

* chore: update bootstrap from v5.2.0 to v5.2.1

* chore: update qrcode from v1.5.0 to v1.5.1

* chore: update react-i18next from v11.16.9 to v11.18.6

* chore: remove dependency web-vitals
2022-09-21 11:07:31 +02:00
Thebora Kompanioni
dbd5b6f67b
build: update dependencies (#505)
* chore: dependencies update

* chore: update test dependencies

* chore: update bootstrap from v5.2.0 to v5.2.1

* chore: update qrcode from v1.5.0 to v1.5.1

* chore: update react-i18next from v11.16.9 to v11.18.6
2022-09-21 11:05:46 +02:00
Gigi
c1fb2bc680
fix(navbar): send before earn (#507) 2022-09-21 10:17:53 +02:00
Gigi
89b04a18c6
chore(release): prepare v0.1.0 (#500) 2022-09-16 16:34:45 +02:00
Thebora Kompanioni
ddc7a34385
fix: consistent button text during screen initialization (#501) 2022-09-16 16:34:21 +02:00
Thebora Kompanioni
5dd6ce62d5
feat(send): warn users with send button if preconditions not met (#498)
* fix: don't disable send button on precondition warnings

* ui: change submit button variant to 'warning' on unfulfilled preconditions

* ui: remove unnecessary success alert after collaborative tx is initiated

* chore: remove unused i18n key

* feat(send): say "ignore warning & send" if warning present

Co-authored-by: Gigi <dergigi@pm.me>
2022-09-16 14:04:34 +02:00
Thebora Kompanioni
80e40ff510
feat: abort collaborative transaction (#497)
* feat(taker): ability to abort single collaborative transaction

* feat(taker): show confirm modal before aborting collaborative transaction

* fix: disable abort button if abort confirm modal is already shown

* fix: let normal init process reload wallet and service info

* doc(send): fix typo in comment

Co-authored-by: Gigi <109058+dergigi@users.noreply.github.com>
2022-09-16 10:15:08 +02:00
Thebora Kompanioni
db292356f5
fix: precondition for collaborative transactions (#485)
* fix: min confs of preconditions for all utxos instead of single

* fix: i18n phrases of collaborative transaction preconditions

* wip: use new scheduler preconditions in Jam component

* fix: only report utxos without retries of no retry is left within jar

* feat(regtest): set taker_utxo_retries and maker_timeout_sec config vars for improved testability

* test(preconditions): add test for CoinjoinRequirements

* fix: enable starting scheduler even if preconditions are not fulfilled

* review: fix wording

Co-authored-by: Gigi <109058+dergigi@users.noreply.github.com>
2022-09-15 18:52:49 +02:00
Thebora Kompanioni
09c1d30fb8
chore(i18n): add missing translations for fidelity bonds form (#491) 2022-09-15 12:20:10 +02:00
Gigi
ff50e25c11
feat(cheatsheet): update order (#496)
* feat(cheatsheet): switch send and schedule

* feat(cheatsheet): update order & reword
2022-09-15 11:20:53 +02:00
Thebora Kompanioni
46369a5437
ui: use 'zoom-in' cursor when hovering over jars on main page (#493) 2022-09-14 14:48:43 +02:00
Thebora Kompanioni
89698f27f5
fix: reload wallet info after stopping scheduler manually (#494) 2022-09-14 14:43:26 +02:00
Thebora Kompanioni
eb0315d3fb
ui: improve layout of JarDetailsOverlay on small screens (#495) 2022-09-14 14:09:56 +02:00
Thebora Kompanioni
2c3d6f76fe
fix: redirect to home if no wallet is active on route /wallet (#492)
* fix: redirect to home if no current wallet is present

* fix: link to main view only if wallet is active and unlocked
2022-09-14 14:01:19 +02:00
Gigi
6322c44440
feat(navbar): align app flow (#490)
* feat(navbar): Jam -> Sweep

* feat(navbar): update order

Receive  »  Earn  »  Send  |  Sweep

* feat(scheduler): Jam Scheduler -> Scheduled Sweep
2022-09-09 17:40:31 +02:00
Thebora Kompanioni
0d704158f4
fix: create non-descriptor wallet (#487)
* dev(regtest): remove nbxplorer in favor of simpler custom regtest-initializer

* dev(regtest): use jsonrpc 2.0 requests to create and load wallet

* dev(regtest): upgrade bitcoin core from v22 to v23

* fix(regtest): wait-for-bitcoind should wait for at least >=0 blocks

* dev(regtest): use jam-dev-standalone

* dev(regtest): add npm script regtest:build

this command will build the development setup with docker cache
enabled. usually must fast as it will only pull in newer base
images and not download and recompile jm again. this is the
preferred way if you made only a few adaptions to the images
and e.g. not want to fetch the current master of jm.
2022-09-09 17:25:52 +02:00
Thebora Kompanioni
ace3734712
feat: ability to retrieve logs (#478)
* feat: ability to retrieve logs

* feat: automatically scroll to bottom of log content div

* dev: switch regtest target container with env var

* dev: change secondary container image to new jam namespace

* dev: add backend types 'native' and 'jam-standalone' to setupProxy
2022-09-09 11:08:01 +02:00
Gigi
5ada5911e1
feat(jam): remove "keep funds in jam" (#484)
* feat(scheduler): remove "external" switch

* Revert "feat(scheduler): remove "external" switch"

This reverts commit ca30545e07.

* feat(scheduler): remove toggle, external=default

* feat(send): prefill w/ internal when testing

* feat(scheduler): remove destinationIsExternal

* feat(scheduler): re-word description texts

* fix(scheduler): add missing hook

* feat(scheduler): remove unused i18n keys
2022-08-24 16:36:58 +02:00
Thebora Kompanioni
308873a0c5
ui: add table pagination (#459)
* dev: add TablePagination component

* ui: add pagination to Earnings Report table

* fix: pluralization of i18n orderbook summary phrase

* ui: add pagination to Orderbook table

* ui: add pagination to UTXO table

* fix: pluralization of i18n utxo list title phrase

* review: beautify pagination styles

* fix(i18n): pluralization of orderbook search phrase
2022-08-24 11:56:06 +02:00
Thebora Kompanioni
c355d41f8b
feat: show active offers (#461)
* fix: pass api token to session request

* dev: add offers and nickname to ServiceInfo

* ui: show active offers on Earn page

* review: change active offer title to nickname:offerId

* dev: pluralize i18n fidelity bond title phrase

* review: display placeholder while active offers are loading

* fix: display relative fee as percentage

* fix: support detecting all offertypes

* style(earn): turn off contextual alternates for offer name
2022-08-24 11:23:22 +02:00
Thebora Kompanioni
f4255e59df
refactor: externalize Footer component (#477) 2022-08-24 10:02:28 +02:00
Gigi
6a050f4ccc
feat: colored jars with names (#476)
* style(svg): add jamColor to all jars

* feat: add jar flavor based on index

* feat(jar): named jars with bold initial

* feat(jar-detail): use initial, not index

* feat: "Jar #{n}" -> "Jar {X}"

* feat(send): use full name in from & recipient
2022-08-18 22:39:05 +02:00
Gigi
077b62ab80
feat: rename "Joining" to "Jamming" (#475) 2022-08-18 20:31:47 +02:00
Thebora Kompanioni
4a20c9fdd2
fix: proper margin for sweep button on invalid inputs (#471) 2022-08-18 13:41:19 +02:00
Thebora Kompanioni
1d0f0ccf5f
fix: re-add Joining icon (#474)
* fix: pass api token to session request

(cherry picked from commit bb4a875271)

* dev: add offers and nickname to ServiceInfo

(cherry picked from commit 3b3154ea20)

* dev: add schedule to ServiceInfo

* feat: click on navbar joining icon opens relevant screen

* review: remove joining icon from navbar

* review: add property schedule to ServiceInfo

* review: add some space to tab activity indicator

* Revert "review: remove joining icon from navbar"

This reverts commit de86014d03.
2022-08-18 13:30:49 +02:00
Thebora Kompanioni
3d777ec931
refactor: leverage session request for polling schedule (#470) 2022-08-18 12:30:37 +02:00
Thebora Kompanioni
0a7b709d59
dev: bullseye as base image for regtest containers (#467) 2022-08-18 11:44:42 +02:00
Thebora Kompanioni
b19689de0c
feat: highlight own orders in orderbook (#472) 2022-08-18 11:18:43 +02:00
Gigi
250f523422
fix(settings): matrix link (#473) 2022-08-17 15:19:13 +02:00
Thebora Kompanioni
033babd1ac
feat: click on active "joining" icon opens relevant screen (#463)
* fix: pass api token to session request

(cherry picked from commit bb4a875271)

* dev: add offers and nickname to ServiceInfo

(cherry picked from commit 3b3154ea20)

* dev: add schedule to ServiceInfo

* feat: click on navbar joining icon opens relevant screen

* review: remove joining icon from navbar

* review: add property schedule to ServiceInfo

* review: add some space to tab activity indicator
2022-08-12 11:01:54 +02:00
Thebora Kompanioni
b7433571e9
fix: remove jar source from scheduler options (#465) 2022-08-11 17:13:16 +02:00
Thebora Kompanioni
505e9606f5
fix: refresh orderbook (#462)
* refactor: pass AbortSignal in refresh function

* fix: refresh orderbook
2022-08-11 13:41:39 +02:00
Thebora Kompanioni
cf81f46a8d
ui: remove column fee from Earn Report (#464) 2022-08-11 13:32:25 +02:00
Thebora Kompanioni
9907901df9
dev: install gpg in regtest containers (#466) 2022-08-11 12:58:21 +02:00
Thebora Kompanioni
dd7943b979
fix: serialize values of /maker/start request body as strings (#458)
* fix: serialize values of /maker/start request body as strings

* Update src/libs/JmWalletApi.ts

Co-authored-by: D <10026790+dnlggr@users.noreply.github.com>
2022-08-11 12:19:00 +02:00