block-equity / desktop-wallet Goto Github PK
View Code? Open in Web Editor NEWDesktop cryptocurrency wallet for Mac & Windows
License: MIT License
Desktop cryptocurrency wallet for Mac & Windows
License: MIT License
Reward and timeline:
This bounty rewards 750,000 Blockpoints (PTS). The bounty is due in 3 weeks after accepting the bounty. Bounty will be rewarded upon satisfactory code review and thorough QA testing (no crashes or jittery UI experience for users!)
Summary
To build PIN options under settings component of the app. More details below in terms of user interface, philosophy and bounty requirements.
User Interface Reference:
PIN Options UI:
Reset PIN UI (Component already exists, needs update):
More details below regarding UI and functionality below!
Philosophy:
Bounty Requirements:
Currently, we don't have any PIN settings for the user except for resetting the PIN.
This functionality will give users the ability to enable/disable PIN for sending payment, viewing mnemonic or for on launch.
What is specifically required in this bounty is:
pin
object in the DB and storing pin options as a child object + the actual value of the PIN. The setters/getters of the PIN with encryption are already in place (see app/db/index.js setUserPIN
& getUserPIN
). These would require a change to now set/get value to/from the right key in the pin
object.app/common/app
app/core/launch
), check on launch PIN settings and present the UI above else take user in the appView Phrase
check whether PIN is enabled/disabled and present the UI accordingly (UI is already built just the conditional logic to present the correct component needs to be implemented)Reset PIN
, there is an existing component (app/core/settings/ResetPIN
) -> this now will be under PIN options as represented in the UI above.As a best practice, and to limit abuse of self-payments (sending yourself any amount of XLM) we should restrict the amount field in self payments to no more than the balance of the user's address. Ex: If an address has 10 XLM, it should only be able to send 10 XLM to itself.
I did a source install as described in the readme, version "commit de3bca7"
and lauched with "npm run dev",
I see the wallet launching, with 2 buttons (create wallet and resore wallet),
nothing happens if I click on either or them...
running on ubuntu 18.04
nom 6.9.0
node 8.15.0
Note that there were many warnings during the build:
npm install
> [email protected] postinstall /home/maxou/dev/chartalis/desktop-wallet
> node -r babel-register internals/scripts/CheckNativeDep.js && npm run flow-typed && npm run build-dll && electron-builder install-app-deps && node node_modules/fbjs-scripts/node/check-dev-engines.js package.json
> [email protected] flow-typed /home/maxou/dev/chartalis/desktop-wallet
> rimraf flow-typed/npm && flow-typed install --overwrite || true
• Found 104 dependencies in package.json to install libdefs for. Searching...
• rebasing flow-typed cache...
UNCAUGHT ERROR: Error: fuzzaldrin-plus_v0.6.0/CONTRIBUTING.md: Unexpected file name. This directory can only contain test files or a libdef file named `fuzzaldrin-plus_v0.6.0.js`.
at validationError (/home/maxou/dev/chartalis/desktop-wallet/node_modules/flow-typed/dist/lib/validationErrors.js:14:11)
at /home/maxou/dev/chartalis/desktop-wallet/node_modules/flow-typed/dist/lib/npm/npmLibDefs.js:113:53
at Array.forEach (<anonymous>)
at extractLibDefsFromNpmPkgDir$ (/home/maxou/dev/chartalis/desktop-wallet/node_modules/flow-typed/dist/lib/npm/npmLibDefs.js:95:23)
at tryCatch (/home/maxou/dev/chartalis/desktop-wallet/node_modules/babel-polyfill/node_modules/regenerator-runtime/runtime.js:65:40)
at Generator.invoke [as _invoke] (/home/maxou/dev/chartalis/desktop-wallet/node_modules/babel-polyfill/node_modules/regenerator-runtime/runtime.js:303:22)
at Generator.prototype.(anonymous function) [as next] (/home/maxou/dev/chartalis/desktop-wallet/node_modules/babel-polyfill/node_modules/regenerator-runtime/runtime.js:117:21)
at tryCatch (/home/maxou/dev/chartalis/desktop-wallet/node_modules/babel-polyfill/node_modules/regenerator-runtime/runtime.js:65:40)
at invoke (/home/maxou/dev/chartalis/desktop-wallet/node_modules/babel-polyfill/node_modules/regenerator-runtime/runtime.js:155:20)
at /home/maxou/dev/chartalis/desktop-wallet/node_modules/babel-polyfill/node_modules/regenerator-runtime/runtime.js:165:13
> [email protected] build-dll /home/maxou/dev/chartalis/desktop-wallet
> cross-env NODE_ENV=development node --trace-warnings -r babel-register ./node_modules/webpack/bin/webpack --config webpack.config.renderer.dev.dll.js --colors
Hash: d1f277e6209039627fdd
Version: webpack 3.11.0
Time: 7306ms
Asset Size Chunks Chunk Names
renderer.dev.dll.js 9.09 MB 0 [emitted] [big] renderer
[./node_modules/config/lib recursive] ./node_modules/config/lib 160 bytes {0} [built]
[./node_modules/electron-debug recursive] ./node_modules/electron-debug 160 bytes {0} [built]
[./node_modules/moment/locale recursive ^\.\/.*$] ./node_modules/moment/locale ^\.\/.*$ 2.88 kB {0} [optional] [built]
[./node_modules/webpack/buildin/harmony-module.js] (webpack)/buildin/harmony-module.js 596 bytes {0} [built]
[./node_modules/webpack/buildin/module.js] (webpack)/buildin/module.js 517 bytes {0} [built]
[0] dll renderer 12 bytes {0} [built]
+ 2150 hidden modules
WARNING in ./node_modules/config/lib/config.js
1004:28-45 Critical dependency: the request of a dependency is an expression
@ ./node_modules/config/lib/config.js
@ dll renderer
WARNING in ./node_modules/config/lib/config.js
1035:16-34 Critical dependency: the request of a dependency is an expression
@ ./node_modules/config/lib/config.js
@ dll renderer
WARNING in ./node_modules/config/lib/config.js
1044:14-32 Critical dependency: the request of a dependency is an expression
@ ./node_modules/config/lib/config.js
@ dll renderer
WARNING in ./node_modules/config/lib/config.js
1052:14-32 Critical dependency: the request of a dependency is an expression
@ ./node_modules/config/lib/config.js
@ dll renderer
WARNING in ./node_modules/config/lib/config.js
1060:13-30 Critical dependency: the request of a dependency is an expression
@ ./node_modules/config/lib/config.js
@ dll renderer
WARNING in ./node_modules/config/lib/config.js
1067:13-30 Critical dependency: the request of a dependency is an expression
@ ./node_modules/config/lib/config.js
@ dll renderer
WARNING in ./node_modules/config/lib/config.js
1078:16-36 Critical dependency: the request of a dependency is an expression
@ ./node_modules/config/lib/config.js
@ dll renderer
WARNING in ./node_modules/config/lib/config.js
1084:12-28 Critical dependency: the request of a dependency is an expression
@ ./node_modules/config/lib/config.js
@ dll renderer
WARNING in ./node_modules/electron-debug/index.js
81:45-58 Critical dependency: the request of a dependency is an expression
@ ./node_modules/electron-debug/index.js
@ dll renderer
WARNING in ./node_modules/electron-debug/index.js
84:85-106 Critical dependency: the request of a dependency is an expression
@ ./node_modules/electron-debug/index.js
@ dll renderer
WARNING in ./node_modules/config/lib/config.js
890:21-42 Critical dependency: the request of a dependency is an expression
@ ./node_modules/config/lib/config.js
@ dll renderer
WARNING in ./node_modules/config/lib/config.js
894:8-23 Critical dependency: the request of a dependency is an expression
@ ./node_modules/config/lib/config.js
@ dll renderer
WARNING in ./node_modules/config/lib/config.js
904:21-42 Critical dependency: the request of a dependency is an expression
@ ./node_modules/config/lib/config.js
@ dll renderer
WARNING in ./node_modules/config/lib/config.js
922:17-36 Critical dependency: the request of a dependency is an expression
@ ./node_modules/config/lib/config.js
@ dll renderer
WARNING in ./node_modules/config/lib/config.js
930:21-42 Critical dependency: the request of a dependency is an expression
@ ./node_modules/config/lib/config.js
@ dll renderer
WARNING in ./node_modules/config/lib/config.js
933:13-30 Critical dependency: the request of a dependency is an expression
@ ./node_modules/config/lib/config.js
@ dll renderer
WARNING in ./node_modules/config/lib/config.js
999:15-35 Critical dependency: the request of a dependency is an expression
@ ./node_modules/config/lib/config.js
@ dll renderer
WARNING in ./node_modules/config/lib/config.js
require.extensions is not supported by webpack. Use a loader instead.
@ dll renderer
• electron-builder version=19.56.0
• loaded configuration file=package.json ("build" field)
• installing production dependencies platform=linux arch=x64 appDir=/home/maxou/dev/chartalis/desktop-wallet/app
npm WARN [email protected] requires a peer of postcss-less@>=1.1.0 but none is installed. You must install peer dependencies yourself.
npm WARN [email protected] requires a peer of sugarss@>=1.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/7zip-bin-win):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"win32","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/7zip-bin-mac):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
audited 26129 packages in 39.176s
found 931 vulnerabilities (125 low, 702 moderate, 102 high, 2 critical)
run `npm audit fix` to fix them, or `npm audit` for details
Desktop wallet is attaching "No memo defined" to transactions
In Trading > Open Orders,
Selling Amount displays 4 decimals but is only accurate to the first 2
Trivial
When I select any of the 10% / 25% / 50% / 75% / 100% options after the view first loads, the estimated amount in CAD is set to $0.
NOTE: Upon initial entry into the page, the CAD approximation appears correct.
Trading
PTS
)Assets of the same name/code (Bitcoin/BTC) are displaying only one history for all versions.
Need to separate or at least show with the anchor's name to be able to identify transactions
In wallet recovery, mnemonic phrases that are entered with each word on its own line generates a different address than words separated by a space
Trivial
Pressing ⌘-A
or CTRL-A
causes all text to appear selected in the application.
⌘-A
.As of right now, BlockEQ doesn't support federated addresses, but it'd be really nice if BlockEQ had support for it (I tried to use a federated address, but the sending button got stuck on "Sending", and there's no way I can see which error was raised).
After closing the window, you need to quit and relaunch the app in oder to use
"View order book" text showing as "Order book not available" even though there is a full order book displayed below
Base Reserve calculation needs to be changed to 1 at 0.5 XLM
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.