Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
455 commits
Select commit Hold shift + click to select a range
729c218
Create PR Template (#69)
JSKitty Jan 1, 2023
509446d
Modernise some alerts (#67)
floki008 Jan 1, 2023
c3385dd
Bump protocol (#70)
Liquid369 Jan 3, 2023
2bf4eda
Switched to /utxo API (#65)
Duddino Jan 5, 2023
ab49821
Modified PR template to include comments (#71)
Duddino Jan 5, 2023
75b4229
Switch to webpack (#68)
Duddino Jan 11, 2023
9eebbba
Fix GitHub Pages (#72)
JSKitty Jan 12, 2023
2eb9ce4
Fixed Ledger not working (#74)
Duddino Jan 28, 2023
e0d8d23
Implement PWA manifest, UI & service (#76)
JSKitty Jan 29, 2023
f75566b
Docker image CI FIX (#78)
ZOZOTHEHellhound Feb 2, 2023
95f84da
New dashboard design and responsive! (#73)
CryptoCat420 Feb 3, 2023
5305968
Correct icon/banner metadata paths (#79)
JSKitty Feb 5, 2023
a5d654a
Simplify primary app texts (#82)
JSKitty Feb 17, 2023
0c6e310
Switch Google fonts to Bunny.net (#83)
JSKitty Feb 21, 2023
ae20d7c
Remove Donation Address (#85)
JSKitty Feb 21, 2023
8f502c9
Prices + CoinGecko integration (#81)
JSKitty Feb 22, 2023
1d2783c
Add Contested Proposals filtering (#84)
JSKitty Feb 22, 2023
eaae6f3
Add date-commitHash as a tag to images (#86)
89Q12 Feb 27, 2023
2bca2f3
Tidy up transaction.js (#88)
Duddino Mar 1, 2023
16a59b7
Ledger fix (#87)
Duddino Mar 1, 2023
bdc505b
Added ipv6 support to masternodes (#90)
Duddino Mar 1, 2023
79fa043
Intro, navbar & footer improvements (#94)
JSKitty Mar 5, 2023
aaa30d0
Nuke depreciated FontAwesome files (#95)
JSKitty Mar 5, 2023
61aaaeb
New 'Transfer' design and small other changes (#89)
BreadJS Mar 5, 2023
ae6aa2c
Status Icons Redesign (#98)
JSKitty Mar 8, 2023
7841a15
Redesign wallet unlock flow (#93)
JSKitty Mar 8, 2023
337f3d7
Performance and SEO optimisations (#96)
JSKitty Mar 13, 2023
92d7568
Add View on Explorer button (#101)
JSKitty Mar 13, 2023
910d5c8
Added passphrase to bip39 (#100)
Duddino Mar 14, 2023
36d5db8
Ran npm auditfix (#102)
Duddino Mar 15, 2023
ced97bd
Network refactor (#92)
Duddino Mar 15, 2023
4f31f04
SEO and UX updates (#103)
JSKitty Mar 22, 2023
13fc8a2
Fix typo (#105)
Duddino Mar 22, 2023
9769df5
Added proposal creation (#99)
Duddino Mar 31, 2023
9fd4c2e
Fix proposal crash (#107)
Duddino Mar 31, 2023
60643e2
Fix missing image metadata (#111)
JSKitty Apr 2, 2023
23da164
Various import fixes (#108)
JSKitty Apr 4, 2023
153d5eb
Refactor Masternode key generation (#110)
JSKitty Apr 4, 2023
92e864f
Add QR support + BIP21 (#106)
JSKitty Apr 4, 2023
87b3a88
Host all files internally (#112)
Duddino Apr 6, 2023
0c521a8
Add duddino explorer (#116)
Duddino Apr 11, 2023
cc57dd8
Add ledger support to masternodes (#91)
Duddino Apr 14, 2023
33858a0
Add Balance Breakdown (#114)
JSKitty Apr 15, 2023
2d1efc9
Store votes and update governance tab (#113)
panleone Apr 18, 2023
e3b9059
Handle exceptions (#122)
Duddino Apr 25, 2023
4fbe8c8
Add lint (#123)
Duddino Apr 27, 2023
3162e98
Masternode ipv6 fix (#125)
panleone May 4, 2023
df850c8
New 'Staking' and small other changes (#115)
BreadJS May 8, 2023
7d34e21
Fix vanity gen (#127)
Duddino May 9, 2023
6b160b7
Fix multiple annoying UI exceptions (#126)
JSKitty May 10, 2023
71f9d1c
Fix lint errors (#128)
Duddino May 10, 2023
d96da38
Fix CoinGecko spam (finally) (#129)
JSKitty May 11, 2023
d65934f
Resolve potential xss (#132)
Duddino May 16, 2023
9355081
Switch to IndexedDb (#121)
Duddino May 18, 2023
36f133a
Fix error when shield txs (#135)
Duddino May 20, 2023
8bdea48
Change localStorage->database (#133)
Duddino May 22, 2023
f84fb1b
Implement Dashboard Activity (#131)
JSKitty May 24, 2023
06e6fe9
New 'Settings' page and indentation fix (#137)
BreadJS Jun 1, 2023
62be767
Implement app versioning, changelog & update popup (#139)
JSKitty Jun 2, 2023
eea8346
PIVX Promos integration (#124)
JSKitty Jun 2, 2023
2423f3e
Improved Payment Requests (#140)
JSKitty Jun 2, 2023
9acc33d
Activity Improvements (#141)
JSKitty Jun 10, 2023
b9cdf5e
Improve activity performance (#142)
Duddino Jun 12, 2023
8fccc54
Add Explorer auto-switch (fallback mechanism) (#144)
JSKitty Jun 12, 2023
c869f12
[HTML+CSS] New Notifications (#147)
BreadJS Jun 25, 2023
2bfa375
Add Cold Staking customisation UI (#146)
JSKitty Jun 26, 2023
f9f80d5
New Landing (+ Loading Screen) (#148)
JSKitty Jul 4, 2023
a118db4
New 'Governance' page (#145)
BreadJS Jul 9, 2023
4c89ecd
[HTML] Fix password modal on front (#151)
BreadJS Jul 10, 2023
4b5d2d2
Improve Mnemonic + Password handling security (#150)
JSKitty Jul 10, 2023
b321a29
Testnet toggler now follows network state (#152)
BreadJS Jul 11, 2023
e262647
Run npm audit fix (#153)
Duddino Jul 11, 2023
aac4a10
Add tor masternodes (#149)
Duddino Jul 11, 2023
69be03e
Fix long UTXO sync on wallet import (#154)
JSKitty Jul 12, 2023
a5295f2
Centre Align modals + Add modern X button to one (#159)
JSKitty Jul 25, 2023
7698b74
Update translation tags, add Portuguese + Brazilian (#160)
JSKitty Aug 1, 2023
f4b5eaa
Add CSV exports & massively improve scaling (#163)
JSKitty Aug 3, 2023
5932148
Integrate 🇵🇭 to the i18n system (by Clover) (#164)
JSKitty Aug 3, 2023
e751bc1
Governance UI Improvements (#168)
JSKitty Aug 6, 2023
43288b0
Fix openExplorer() bugs (#170)
JSKitty Aug 7, 2023
487da56
Add Balance Decimals slider setting (#169)
JSKitty Aug 10, 2023
7553763
Add German translations (#173)
JSKitty Aug 10, 2023
812fb80
Add FR translations (#172)
JSKitty Aug 10, 2023
4ee1c32
Bump to v1.1.0 + Compile Changelog (#171)
JSKitty Aug 10, 2023
7c9b76a
Push final changelog (#174)
JSKitty Aug 10, 2023
c0b8fa4
Move flags to the end of the footer (#175)
JSKitty Aug 10, 2023
b4e3484
Disable Analytics (until server is fixed) (#181)
JSKitty Aug 16, 2023
6882dc1
Fix deleteProposal() and missing PaymentAddress (#178)
JSKitty Aug 16, 2023
1a6152e
Add Testing section to PR description (#179)
JSKitty Aug 16, 2023
77d70cd
Add "Change Password" functionality (#177)
JSKitty Aug 16, 2023
024cfc0
Fix + Improve Debug Mode (#180)
JSKitty Aug 16, 2023
23f5fe3
Bump to v1.1.1 + Update Changelog (#182)
JSKitty Aug 16, 2023
7fdab99
Fix Stake rounding errors + improve Send GUI check (#185)
JSKitty Aug 24, 2023
e6cc365
Contacts Implementation (#184)
JSKitty Aug 26, 2023
52f8f51
Fix ledger xpub (#162)
Duddino Aug 27, 2023
97ffeab
Improved DB + Full Testnet DB support (#187)
JSKitty Aug 29, 2023
6bee33f
Improve i18n utility, add English fallbacks (#186)
JSKitty Aug 29, 2023
77d1fc0
Fix Unstake Currency display
JSKitty Aug 30, 2023
ac90c85
Improve CoinGecko stability, add attribution (#188)
JSKitty Aug 30, 2023
41237fb
Fix Navbar loading jitter + Add Footer blur
JSKitty Aug 31, 2023
fe68054
Clarify Dashboard Send/Receive flows (#190)
JSKitty Sep 4, 2023
91af6e0
Add VanityGen static i18n keys
JSKitty Sep 4, 2023
d3335aa
Improve Mnemonic handling + UX, Add Advanced Mode (#189)
JSKitty Sep 5, 2023
ca41e40
Track Stake inputs for post-stake invalidation (#192)
JSKitty Sep 5, 2023
faa6363
Skip empty DB keys to prevent console spam (#194)
JSKitty Sep 8, 2023
b8568de
Italian translation (#191)
floki008 Sep 8, 2023
dbb6e69
Finalise translations for v1.2.0 (#193)
JSKitty Sep 10, 2023
d73f97d
v1.2.0 bump + Update Changelog (#195)
JSKitty Sep 10, 2023
62dbdb8
Add full JSDoc context and types to translation global (#196)
Duddino Sep 17, 2023
ffb3b71
Improve Governance consensus rules (#198)
JSKitty Sep 18, 2023
b7e9264
[Refactor] Decouple the wallet class (#197)
panleone Sep 19, 2023
dff304d
Add custom addresses, checks, trims, input min/max (#199)
JSKitty Sep 19, 2023
cd341de
Rewrite activity in vue (#158)
Duddino Sep 21, 2023
04b7d40
[Refactor] Clean up wallet related code (#200)
panleone Sep 21, 2023
02d885d
Fix MasterKey use after #158 and #200 conflict (#205)
JSKitty Sep 21, 2023
e468186
Fix incorrect `getXPub` in `openExplorer()` (#207)
JSKitty Sep 22, 2023
8fcdd79
Solve activity spam (#209)
Duddino Sep 26, 2023
5b97200
Include also the last index in isOwnAddress (#208)
panleone Sep 26, 2023
2a42b60
Load languages lazily (#214)
Duddino Sep 26, 2023
b012664
Fix UI error upon receiving MN Collateral (#217)
JSKitty Sep 27, 2023
3f8a812
Add type: module to package.json (#215)
Duddino Sep 28, 2023
bcd0bcc
Add duddino testnet explorer (#220)
Duddino Oct 3, 2023
2893160
Cold Staking improvements: owner addresses, defaults and fixes (#206)
JSKitty Oct 3, 2023
7182f34
Wallet Balance GUI (#204)
Duddino Oct 3, 2023
f4fd2ea
Restore identicon to their former beauty (#222)
Duddino Oct 4, 2023
f83df59
Ledger refactor (#218)
Duddino Oct 6, 2023
2ed6214
[Mempool] Mempool V2 (#201)
panleone Oct 6, 2023
0481fb9
Fix ledger udev error (#224)
Duddino Oct 10, 2023
65dc91c
jest (#216)
Duddino Oct 13, 2023
55a74a9
Ignore immature txs (#234)
panleone Oct 16, 2023
e7b1376
Bump to v1.3.0 (#230)
JSKitty Oct 16, 2023
3fe0404
Add full Base58Check validation (Standard + Cold) (#231)
JSKitty Oct 16, 2023
87be60d
Fix lint not working for forks (#239)
Duddino Oct 16, 2023
5e7dd4c
NL (Dutch) translations and small fixes (#236)
BreadJS Oct 17, 2023
5858377
Coin Lock system (#233)
panleone Oct 17, 2023
a4b15de
Fix German Activity (#240)
JSKitty Oct 17, 2023
3732997
Ignore test directory in eslint (#237)
Duddino Oct 18, 2023
fb38a47
[Network] New Network model (#219)
panleone Oct 21, 2023
6ad0804
Transaction Database (#235)
panleone Oct 23, 2023
7ec731c
Add logout button and encourage encryption (#232)
panleone Oct 23, 2023
467c41b
Rewrite the entire dashboard tab in vue (#225)
Duddino Oct 27, 2023
38acedc
Fix txdb not deleting testnet txs (#245)
Duddino Nov 2, 2023
d8134a9
I18n tools (#241)
Duddino Nov 5, 2023
fbc1111
Fix Changepassword (#248)
panleone Nov 6, 2023
d911720
[Network] Do not set fullSync after reading txdb (#252)
panleone Nov 7, 2023
325e2a4
[i18] fix alerts (#253)
panleone Nov 8, 2023
d0d57c8
Fix Lock and Unlock system (#247)
panleone Nov 8, 2023
2f18af7
Fix Double sync (#257)
panleone Nov 9, 2023
6a9ea66
Fix "Max" button conversion on Send menu (#256)
JSKitty Nov 9, 2023
abdb8fd
i18n Modal Fixes (#254)
JSKitty Nov 9, 2023
ddae163
Bump to v1.4.0 (#249)
JSKitty Nov 10, 2023
dbeba48
Fix activity text not displaying reward total (#262)
Duddino Nov 13, 2023
60d7cd1
Change address v2 (#246)
Duddino Nov 13, 2023
c1ac0e7
Fix bip39 passphrase not showing in advanced mode (#260)
Duddino Nov 13, 2023
bc43e82
Fix pt translation not showing properly (#261)
Duddino Nov 15, 2023
d6c5056
Fix wallet not loading when explorer request fails (#265)
Duddino Nov 15, 2023
f07a136
Fix "Refresh Address" dropdown button visibility (#263)
JSKitty Nov 15, 2023
b7b11c0
Auto detect currency (#255)
Duddino Nov 15, 2023
934f7aa
[Wallet] Simplify importWallet flow (#269)
panleone Nov 17, 2023
7c7c1da
Refactor Dashboard with useWallet and useSettings composables (#271)
Duddino Nov 25, 2023
2fe44bd
fix unlock system (#267)
panleone Dec 5, 2023
fd69fae
Switch from jest to vitest (#264)
Duddino Dec 5, 2023
da22601
[DB] Make txDB persistent (#266)
panleone Dec 5, 2023
e673b76
Test coverage (#278)
Duddino Dec 8, 2023
f2962cb
[TEST] Add unit tests for CreateWallet (#277)
panleone Dec 8, 2023
1a49785
[TEST] Add unit tests for AccessWallet (#279)
panleone Dec 8, 2023
4e97cd5
Add new languages (#276)
JSKitty Dec 9, 2023
ab7f5e0
Add unit tests for ExportPrivKey (#280)
panleone Dec 9, 2023
f5e55ca
[TEST] Add unit tests for GenKeyWarning (#281)
panleone Dec 18, 2023
2a47597
[TEST] Unit tests for Login component (#283)
panleone Dec 18, 2023
3c60f53
Unit tests for VanityGen (#282)
panleone Dec 18, 2023
72a7f20
[GUI] Improve send tx flow (#274)
panleone Dec 18, 2023
bf5074d
Add immature balance to UI (#268)
panleone Dec 19, 2023
e2491f5
Add database tests (#285)
Duddino Dec 19, 2023
32cc4ed
Move chain_params to a json file (#287)
Duddino Jan 7, 2024
171afcf
Vitest fixes (#286)
Duddino Jan 9, 2024
9fa035f
Tx refactor (#284)
Duddino Jan 15, 2024
ae28b99
Allow all host headers in dev env (#289)
kyeno Jan 23, 2024
3243079
Enable undelegation on hardware wallets (#292)
Duddino Jan 31, 2024
df09ef6
Shield Support (#244)
Duddino Feb 2, 2024
590a20b
Bump gh actions to v4 (#293)
Duddino Feb 8, 2024
bbb970c
Remove rockdev explorer (#298)
JSKitty Feb 22, 2024
4ee9348
Fix shield import (#296)
Duddino Feb 23, 2024
72aed81
Bump protocol version to 70927 (#299)
Duddino Feb 23, 2024
84eb64d
Add exchange address support (#297)
Duddino Feb 23, 2024
86f001f
Fix Masternode UTXO detection (#301)
Duddino Feb 25, 2024
9578653
Complete shield data in transaction class (#295)
Duddino Feb 27, 2024
fee08ca
Cache transaction ids (#302)
Duddino Feb 28, 2024
02d387a
fix: don't allow shield send on a wallet without shield (#307)
panleone Feb 29, 2024
69c55e9
fix receive flow (#306)
panleone Feb 29, 2024
d49b559
v1.5.0 finalised (#300)
JSKitty Feb 29, 2024
9022d30
Dockerbuild (#288)
Duddino Feb 29, 2024
30057a2
Add a space (#309)
JSKitty Feb 29, 2024
0afe413
Restore wallet instead of alerting (#308)
Duddino Feb 29, 2024
2343c8e
Fix negative numbmer value balances (#304)
Duddino Feb 29, 2024
d8a6277
Refactor tx version (#305)
panleone Mar 1, 2024
484e071
Add temporary Pending Shield UI (#310)
JSKitty Mar 1, 2024
77b386c
[Cleanup] Fix eslint warnings (#312)
Duddino Mar 5, 2024
64e6794
Fix progress bar (#314)
JSKitty Mar 6, 2024
b70b035
fix tx shield creation error handling (#315)
panleone Mar 7, 2024
08361ef
Use union merge driver for .toml files (#303)
Duddino Mar 7, 2024
bc339bf
Improve tx creation flow (#311)
panleone Mar 7, 2024
3f4743a
Update txid in fromHex (#313)
Duddino Mar 10, 2024
0d6a374
Add commit hash to dev builds (#318)
Duddino Mar 10, 2024
cea9e88
Add an option to automatically lock the wallet (#317)
panleone Mar 11, 2024
8fe783c
Mempool refactor (#291)
Duddino Mar 17, 2024
512fbae
Export extended spending key as well as xpriv (#322)
Duddino Mar 18, 2024
24bb990
Fix ledger masternode creation (#319)
Duddino Mar 19, 2024
c22ece5
Fix Payment Descriptions regression (#326)
JSKitty Mar 20, 2024
87100e5
Make wallet deletion possible if it's not syncing (#327)
Duddino Mar 20, 2024
741f654
Round satoshis when creating promo code (#329)
Duddino Mar 25, 2024
29d4b9d
Bump Version + Update Changelog (#328)
JSKitty Mar 26, 2024
15b1381
Actually discard a transaction (#332)
panleone Apr 4, 2024
b54ae9e
Network refactor (#323)
panleone Apr 4, 2024
6be4f01
Fix change passwd (#339)
Duddino Apr 9, 2024
90cd1a9
Remove legacy encrypt Modal and functions (#338)
Duddino Apr 9, 2024
ca13a9a
Unify shield and transparent sync (#340)
panleone Apr 13, 2024
410b195
Trivial stuff (#345)
panleone Apr 16, 2024
b9700c5
Rewrite stake tab in vue (#325)
Duddino Apr 16, 2024
25fe4e2
Resync from scratch if sapling root different from what's advertised …
Duddino Apr 17, 2024
c6e96d3
avoid calling getBlockCount() (#344)
panleone Apr 17, 2024
321df7f
Speed up shield sync (#343)
panleone Apr 17, 2024
65e5a83
Fix errors for non-SHIELD wallets on sync (like Legacy) (#350)
JSKitty Apr 17, 2024
91bd9f7
Remove the Refresh button (#349)
JSKitty Apr 17, 2024
76a6dfa
Fix Governance Dashboard display of Over-Allocated proposals (#346)
JSKitty Apr 17, 2024
1dc969e
Secret parsing tests (#347)
Duddino Apr 18, 2024
48282b5
Don't hot-reload on .git metadata changes (#351)
JSKitty Apr 22, 2024
640bdf9
[Refactor] Get rid of control variables (#341)
panleone Apr 22, 2024
26ae7c2
useWallet tests (#353)
Duddino Apr 23, 2024
c20e023
Implement Oracle in replacement of CoinGecko (#352)
JSKitty Apr 24, 2024
13a954c
Minimize countries.json (#355)
Duddino Apr 24, 2024
262e98a
refactor price.js (#356)
panleone Apr 30, 2024
8c3522d
test: remove mempool mocks (#362)
panleone Apr 30, 2024
6d9dfa5
Shield fixes (#354)
Duddino May 1, 2024
de8708c
Fix bunch of bugs (#363)
panleone May 1, 2024
0abb640
Fix spending txs with shield data on ledger (#359)
Duddino May 2, 2024
cb3a3a2
Improve debug logs (#342)
panleone May 6, 2024
68f6f09
Polyfill nodejs crypto with noble (#360)
Duddino May 6, 2024
ea2ade7
[TEST] Network simulator and some initial tests (#364)
panleone May 6, 2024
a13822b
Use country map json instead of the provided functions (#366)
Duddino May 7, 2024
e54fbb5
Fix undefined alerts when locale is missing (#368)
Duddino May 15, 2024
718323e
Fix Immature balance bug (#361)
panleone May 21, 2024
663862b
[JS] Added postinstall.cjs for win and lin (#373)
Duddino Jul 24, 2024
7cbc5e3
Cache and prefetch shield files (#365)
Duddino Jul 27, 2024
d3ca56d
Disable iOS auto-zoom (#374)
JSKitty Aug 6, 2024
b0c3f83
Hindi Translation done
RushaliPadhiary Aug 20, 2024
0cc98e8
UI Redesign (#372)
BreadJS Aug 21, 2024
ceabe38
Apply suggestions from code review
Duddino Aug 23, 2024
3c63b24
Added hindi language to i18n.js file
RushaliPadhiary Aug 24, 2024
4e4ac2a
Merge branch 'master' into hindi-translation
JSKitty Aug 24, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"env": { "browser": true, "es2021": true, "jquery": true },
"ignorePatterns": ["tests/", "dist/", "node_modules/", "coverage/"],
"extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended"],
"overrides": [],
"parser": "@typescript-eslint/parser",
"parserOptions": { "ecmaVersion": "latest", "sourceType": "module" },
"plugins": ["@typescript-eslint"],
"rules": {
"@typescript-eslint/no-unused-vars": [
"warn",
{ "argsIgnorePattern": "^_" }
],
"no-empty": ["error", { "allowEmptyCatch": true }],
"no-constant-condition": "off",
"@typescript-eslint/no-empty-function": "off"
}
}
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*.toml merge=union
36 changes: 36 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
## Abstract

<!--- Add any useful and detailed information for other Labs developers and reviewers to consume, this will help get your PR merged faster, as we won't need to reverse-engineer the changes as much.
--->

---

## Testing
To test this PR, it's suggested to attempt these user flows, or variations of these:
- Step 1
- Step 2
- Step 3

If any errors are found, the PR works unexpectedly, or you have viable suggestions to improve the UX or functionality of the PR, let me know!

---

<!---
Below is for LMP (Labs Micro Proposals), how your PR is rewarded PIVX: this'll help your PR be rewarded faster by the DAO!
--->

## What does this PR address?
<!---
Here, describe the problem (or lack of a feature) which this PR aims to address, in as simple terms/concepts as possible to the reader.
--->

## What features or improvements were added?
<!---
Here, describe the new improvement; what it does, and how it does it, in as simple terms/concepts as possible to the reader.
--->

## How does this benefit users?
<!---
Here, describe how the user will benefit from the change, if at all; it may not be noticable to the user (i.e: code cleanup), in that case you may simply state so.
--->

68 changes: 68 additions & 0 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
name: Build and release container image

on:
push:
branches:
- "master"
paths-ignore:
- "*.md"
- LICENSE
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}

jobs:
release:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Install npm/nodejs
uses: actions/setup-node@v4
- name: Install packages
run: npm install
- name: Build
run: npm run build

- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v1

- name: Login to Github Packages
uses: docker/login-action@v1
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@v3
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}

- name: Set tag date-SHA
id: tag
run: echo "tag=$(date +'%Y-%m-%d')-$(git rev-parse --short "$GITHUB_SHA")" >> $GITHUB_ENV

- name: Build image and push to GitHub Container Registry
uses: docker/build-push-action@v2
with:
context: .
file: docker/Dockerfile
platforms: linux/amd64
tags: |
ghcr.io/pivx-labs/mypivxwallet:latest
ghcr.io/pivx-labs/mypivxwallet:${{ env.tag }}
${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
build-args: release=1
push: true

- name: Image digest
run: echo ${{ steps.docker_build.outputs.digest }}
44 changes: 44 additions & 0 deletions .github/workflows/lint.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Lint

on:
# Trigger the workflow on push or pull request,
# but only for the main branch
push:
branches:
- master
paths-ignore:
- "*.md"
- LICENSE
- "*.yaml"
pull_request:
branches:
- master
paths-ignore:
- "*.md"
- LICENSE
- "*.yaml"


jobs:
run-linters:
name: Run linters
runs-on: ubuntu-latest

steps:
- name: Check out Git repository
uses: actions/checkout@v4

- name: Set up Node.js
uses: actions/setup-node@v4

- name: Install Node.js dependencies
run: npm ci

- name: Run ESlint
run: npm run lint

- name: Run prettier
run: npx prettier -l .

- name: Run tests
run: npm test
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
dist/
node_modules/
locale/lang-tools/env
__pycache__
coverage/
coverage.data
chain_params.json
9 changes: 9 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
node_modules/
index.template.html
*.css
*.yaml
LICENSE
*.md
package-lock.json
dist/
coverage/
5 changes: 5 additions & 0 deletions .prettierrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"trailingComma": "es5",
"tabWidth": 4,
"singleQuote": true
}
3 changes: 2 additions & 1 deletion LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@ MIT License

Copyright (c) 2020 Luke Larsen
Copyright (c) 2020 DogeCash
Copyright (c) 2021 StakeCube
Copyright (c) 2021 ZENZO Ecosystem
Copyright (c) 2021 JSKitty
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
Expand Down
74 changes: 46 additions & 28 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,42 +1,60 @@
# StakeCube Web3
## JS-based web 3.0 wallet for SCC
<h2 align="center">
Send, Stake and Receive with PIVX's most universal wallet.
</h2>

### Installation
To use this web wallet locally click the clone or download button, then chose download as a zip. Unzip the file. Once it is unzipped, open the index.html file in your favorite **_MODERN_** browser. In order to generate new address you must change the debug setting to false, This will generate secure keys by way of window.crypto. There are some cases where this may not work properly make sure you are using a modern browser and that window.crypto works with your browser. Otherwise the generation may not be secure.
### USE
<p align="center">
<a href="https://mypivxwallet.org/">Production</a> (Stable) | <a href="https://pivx-labs.github.io/MyPIVXWallet/">Bleeding-Edge</a> (Unstable)
</p>

#### Key Generation
**_IF YOU ARE IN DEBUG MODE (top right it will say DEBUG) MAKE SURE TO DEACTIVATE DEBUG BEFORE GENERATING KEYS AS IT WILL GENERATE THE SAME KEY OVER AND OVER AND IT IS NOT SECURE._**
---

The current setup allows for users to generate one private key and one public key. This is not a HD Wallet (Hierarchical deterministic Wallet) and because of that you must remember to back up every private key you generate. There is no one master. Losing any of the private keys you generate could result in the loss of funds.
<br>

#### Transaction
##### Simple Transactions
**Warning** _in the current state do not use this if you have to have more then 1000 input transactions. In that case it would be better to import your wallet to a software wallet or wait for an update. A small transaction was recently sent using this so it does work, but be cautious as this is still in beta_
<img align="left" src="https://pivx.org/build/images/content/img_governance.png" width="150">

Simple transactions require you to have networking enabled (cycle the toggle if its not on) in order to connect to a explorer. This is required because simple transactions do all of the heavy lifting for you.
To run a simple transaction go to the transaction tab, then click load transactions (make sure that you have imported or generated a wallet otherwise it won't work.). Then simple put in the wallet address you want to send the coins to and the amount, everything else will be calculated for you (for example, the change address and fees). You will then see the whole signed transaction displayed. You can check that this transaction is what you want by taking the signed transaction and putting in into a software wallet with the command decoderawtransaction. If you feel comfortable with it feel free to send it via explorer or by pressing the button on the site.
## Be your own Bank

##### Advanced Transaction
*The current setup only allows one input transaction and two output transactions if you need more inputs use the simple transaction for now. This will be changed in future updates.*
MPW is a completely [non-custodial](https://www.bitcoin.com/get-started/custodial-non-custodial-bitcoin-wallets/), client-side system, giving you absolute control over your funds, data, bandwidth and privacy... all of which are essential to easily-attainable **self-sovereignty**.

Advanced transactions do not require network access you can create the whole transaction then send the signed transaction on any node/wallet/explorer it takes a little knowledge of how transactions work in bitcoin to understand how to use the create transaction page. I will briefly go over what needs to be done, if you are unsure I recommend doing more research and testing with small amounts in order to not lose funds. How this works is it takes the inputs from the previous transaction (the one that funded the wallet.) and it make a new transaction that funds other wallets instead. Here is how you do this. We are going to be using one of my transaction in order to understand how this works. You can follow along here: https://explorer.dogec.io/tx/f52fad9c89a5a71532632679dc6cef84e6f7be949925d9190d054457052a61ef Under the raw transactions section you to put the top Transaction ID (txid) where it says Trx Hash, In our example it would be "f52fad9c89a5a71532632679dc6cef84e6f7be949925d9190d054457052a61ef". The next step would be to figure out which part of the transaction funded your public key, this is put into the index field. you can find this based on the vout under the vin section. In this example it would be 1. For the script field you need to put in the hex scriptPubKey of that VOUT with the same value under the VOUT section in Raw Transaction. In our example that would be 76a9142a8248f72e7ca9250f837b6cec46aedd6cf1edb288ac . Now the easy part under outputs you need to put in the address you want to send coins to and a change address. The change address is used for any extra coins currently associated with the account that you don't want to go to fees in most cases this would be your public key. In our example I have 1 DOGEC in my public address I wish to send 0.99 DOGEC to my friend at the address of DQJ24v6oFsobif8MQ6JFuFk6vefGAUQ6f2 . Then I set the change address( which is just my public address) D91rzgEmTyUcPEMPBLLPHVoKjSzwUreeoy with the amount 0.009 (Any money in this transaction not allocated will be used as fees and lost!) which means that the fee for this transaction is 0.001 . Under WIF key you put you private key in WIF (Wallet Import Format) which if you used the keypair generator it already is. You can see the end result of my transaction here https://explorer.dogec.io/tx/c445a56c5236a6665f88d3fda012e84778588b9a923f3e13d77927313070b14e
<br>

#### NETWORK DATA TAB
This show users what the explorer see in association with the public key
---

#### SETTINGS TAB
##### Explorer
_Note for devs if you want this to connect to your explorer you must set the CORS header to all, otherwise local users won't be able to connect to your explorer_
<br>

This is where you can change the explorer this currently is only set up for explorer.dogec.io which is the main current explorer. It is best to currently not mess with this setting as it will be developed more in the future.
<img align="left" src="https://pivx.org/build/images/content/img_pos.png" width="150">

##### Toggles
###### Debug Mode
Debug mode sets some things mainly for testing do not use this if you are using this as a user. It will make wallet generation insecure and some other problems if you are meaning to use the site normally.
## Universal and Portable

###### Networking mode
This turns on and off the networking functions of the script. If you truly want privacy and security run this on a offline computer but this should be reasonably secure. With this turned off the script doesn't have access to any networking parts meaning anything that connects to a explorer or outside server doesn't work.
MPW is completely universal and portable, at both a user-experience level & protocol-level, MPW is interopable with much of the functionality within PIVX, while also being portable enough to run on almost **any device in the world**.

#### BETA **_PROCEED WITH CAUTION, DO STORE LARGE AMOUNTS OF FUNDS_**
<br>

---

<br>

<img align="left" src="https://pivx.org/build/images/content/img_privacy.png" width="150">

## Don't trust, Verify!

MPW is completely free, open-source software ([FOSS](https://en.wikipedia.org/wiki/Free_and_open-source_software)), with absolute transparency in security, features, down to every letter of code.<br>
Alongside total codebase availability, MPW allows you to totally bunker-down, with the ability to customize your experience in accordance to your [principles](https://en.wikipedia.org/wiki/Free_and_open-source_software#Four_essential_freedoms_of_Free_Software) & security desires.

<br>

---

<br>

<img align="left" src="https://pivx.org/build/images/content/img_slider_bars.png" width="150">

## By the Community, for the Community

MPW is built with love by [PIVX Labs](https://github.com/PIVX-Labs), a micro-DAO of [awesome people](https://github.com/PIVX-Labs/MyPIVXWallet/graphs/contributors) that build both FOSS and Proprietary software for the PIVX community to enjoy.

The mission of PIVX Labs is to accelerate the adoption & growth of PIVX as a currency, using awesomeness. Join the [PIVX Labs Discord](https://discord.gg/v57eCP4MMx) to meet us!

<br>

---
7 changes: 0 additions & 7 deletions assets/bootstrap-4.5.0/css/bootstrap.min.css

This file was deleted.

1 change: 0 additions & 1 deletion assets/bootstrap-4.5.0/css/bootstrap.min.css.map

This file was deleted.

Loading