Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tx_version #25

Closed
wants to merge 63 commits into from
Closed

tx_version #25

wants to merge 63 commits into from

Conversation

panleone
Copy link
Collaborator

Abstract


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!


What does this PR address?

What features or improvements were added?

How does this benefit users?

panleone and others added 30 commits October 16, 2023 16:59
* Add coinbase/coinstake checker

* Add coinBaseMaturity chain param

* Use coinBaseMaturity instead of the harcoded 100

* Skip non-mature txs on all operations

* Fix unconfirmed activity

* fix confirmed balance again

* review fix
* Bump to v1.3.0

* Fix bug where testnet urls didnt work

* Fix masternodes not working

* Translate in DE, FR, PH, PT-BR and PT-PT

---------

Co-authored-by: Duddino <[email protected]>
* Add full Base58Check validation (Standard + Cold)

* Add tests

* Prettier

* Add Duddino tweak (Mainnet test)

Co-authored-by: Duddino <[email protected]>

* Add Duddino tweak (Testnet test)

Co-authored-by: Duddino <[email protected]>

---------

Co-authored-by: Duddino <[email protected]>
* Fix lint not working for forks

* Intentional error to see if it works

* Same but prettier now

* Revert intentional errors
* [JS] Dutch translation

* [HTML] Small spacing fix on settings page

* [VUE] Add 'Reward History' and 'Amount' trnslation

* Prettier

* Update scripts/Activity.vue

Co-authored-by: Duddino <[email protected]>

---------

Co-authored-by: Duddino <[email protected]>
* Add lock system

* Lock masternode on creation

* Add new

* add more new

* add even more new

* Fix getMasternode()

* Fix masternodes on master

* Unlock the collateral if masternode is destroyed with GUI

* Fix legacy masternodes

* review fix

* eventually has a different meaning in italian lol
* Ignore tests in eslint

* Add node_modules/ and dist/ to eslint ignore patterns
* New Network sync model

* Wallet speed up + remove some logs

* temporary fix wallet not loaded until unlocked

* fix

* Remove a bunch of await/async

* Remove more awaits

* Add loading animation on sync

* Remove console.logs

* Remove unused mempool variables

* Remove another unused variable

* Await for full sync and use correct sort

* Remove double import

* merge fix again

* prettier

* Add template to translations

* Use optional chain

* fix promo codes

* On toggle testnet reset activity before loading the wallet

* Don't freeze the wallet on start

* Add text progress bar

* Add alerts at beginning and end of sync

* Kitty's patch + my self review

* Use safe fetch and update activity

* remove lastindex

* improve safe fetch

* removed useless variable

* review fix

* review fix2

* remove a bunch of async/await

* Remove more await

* Move reset functions out of resetmasterkey

* Set fullSynced = true for new generated wallets

* Duddino's patch + remove try catch

* Fix empty activity
* Transaction DB

* actually await while saving

* Don't save all txs again once wallet is loaded

* readd white space
* Add log out button

* Enforce encryption on walllet creation/ import

* Add warning, and switch log out -> delete wallet

* change button text

* await on promise

* review fix

* prettier

* Remove removeInstance

* accoun -> account
* Initial vue implementation

* Complete import

* Add genkeywarning

* Refactor walletbalance

* Comment for now

* Finish Vueisation

* Add network switching

* Remove old exports

* Fix chart not working

* Fix Mask z index

* Remove console.log

* Add mempool loading

* Add class to modal

* Vue-ify ExportPrivKey

* Fix contacts

* Fix ledger

* Remove a lot of doms

* Clean up imports and unused functions

* Add image to export priv key modal

* Make changePassword work

* Re-Add url params

* Fix QR code not working

* Remove imports of two unused functions so it actually builds

* Add missing import

* Remove createAlert in favor of error

* Fix vanity gen not working for testnet

* How did that even happen

* Fix import-wallet warning

* Pass advanced mode to cleanAndVerifySeedPhrase

* Fix sendTransaction status

* Fix Encrypt Modal not closing on 'x'

* Fix change password button

* Fix access wallet input fields not clearing on import

* Fetch as soon as wallet is imported

* Prettier

* Fix max balance

* Fix transfer menu amount acting funky

* Fix qr code

* How to center a div?

* Auto update activity on load

* Fix toggle network not working

* Fix delete wallet not working

* Fix resetting not resetting properly

* Fix MPW eating CPU

* Fix promos

* Fix syncing issues

* Fix activity not updating

* Fix toggle-network being really slow to import

* Fix balance update

* Panleone's review
* Fix txdb not deleting testnet txs

TxDb was not deleting testnet txs when they were left unencrypted

* Prettier
* Change translation files from .js to .toml

* Add merge script

* Add proper language negotation

* Fix translation not working

* Fix language loading

* Put python env in gitignore

* Add add_string script

* Move parsing to the server, ignore useless lines

* Move toml to dev dependencies

* Change ?? to || since language can be empty string

* Add auto language in settings

* Update merge to remove ##MERGED## lines

* Mock translation in jest

* Merge pt

* Raise instead of print

* Add __pycache__ to gitignore

* rename new_path -> parent_path

* Improve default paths for add_string.py

* Remove prints and unused import

* Add `comment_langs` script and call it by default when adding string

* Comment all files

* Add auto merging to add_string.py

* Comment and merge pt/

* Fix commenting

* Fix infinite loading when en is incomplete

* Rename parent_path

* Prettier

* Remove ~~ lines in favor of empty strings

* Remove ~~ lines in translation files

* Rework add_string, add translation_tamer

* Fix tab bug and unmerge

* Update lang files

* Remove ET_UNLOCK_IMPORT

* Update english translation

* Fix wrong path when outside of locale/

* Rename translation_tamer -> update_translations
* Do not set fullSync after reading DB

* forgot to  commit dashboard
* Fix alerts

* Remove the function

* Fix alert non-translated items

* Translate createwallet too
* Fix and simplify lock unlock system

* rename to lockWallet

* Don't show lock and unlock if wallet is not imported

* Ask for encryption before syncing

* Review fix
* Fix Seed Phrase creation modal

* Fix "Create New Wallet" not translating

* Fix "Encrypt/Change Pass" modal not translating

* Fix negotiateLanguages typo

* Fix "Lang Parent" fallback if parent doesn't exist

* Prettier
* Add PT-BR translations

* Bump to v1.4.0 + npm audit

* Updating german translation

* Add FR + PT-PT translations and run i18n updater

* Fallback to EN template on missing i18n files

* Changelog update

* Italian Translation

* Fix weird wording

* Fix username->nome utente

* Properly test for missing translation in alerts

Fixes PIVX-Labs#243

* Fix boolean algebra

* Fix background on mobile

---------

Co-authored-by: egon <[email protected]>
Co-authored-by: Duddino <[email protected]>
* Fix activity text not displaying reward total

* Remove leftover line
* Add change addresses to Wallet

* Use change addresses

* Remove reset

* Prettier

* Make Wallet::loadAddresses take the chain as input

* Make addrexxIndex a map
* Fix bip39 passphrase not showing in advanced mode

* Add password to menonicToSeed

* Empty password field when hidden
* Auto detect currency

* Remove console.log

* Mock settings

* Handle not supported langauges

* Fix undefined error
* Simplify importWallet flow

* Update translations
panleone and others added 24 commits December 18, 2023 17:30
* Fix bug in GenKeyWarning

* unit tests for GenKeyWarning

* removed unused close call

* Apply review and remove mocking to beforeEach

* Don't hardcode on the length of the password
* Use vue feature for CreateWallet

* Unit tests for Login

* Change to shallowMount
* Close and clear tx inputs on send

* Remove non-used function

* bail out early if wallet if not synced yet
* Add immature balance to UI

* Add translation

* Apply review

* Apply review

* Hide immature balance if it is 0
* Add database tests

* Fix typo
* Move chain_params to a json file

* Add pretest and precoverage scripts

* Move configure script to postinstall
* Change pool to 'forks'

* Add setup file
* Split masterKey and parseWIF tests

* Fun

* Add varIntToNum

* Add deserialization

* Hello!!

* Add sign input to transaction

* Add unit tests

* Add script sig to tx builder

* Add transaction support to wallet class

* Add wallet transaction unit tests

* Add max balance test and fix bug

* Remove reduntant comments

* Update translation with ledger confirm popup

* Move getAddressFromScript to encoding.js

* Fix error in exmaple

* Prettier

* Add ledgerSignTransaction

* Remove `transactions.js`

* Add finalizeTransaction & test

* Update types

* Readd support for legacy code

* Improve tests

* Add shield (de)serialization

* Update db version

* Fix locktime/sequence

* Actually await the signature

* Fix locktime

* Fix legacy functinos

* Fix eslint errors/warnings

* Readd validateAmount

* Remove redundant check

* Fix typo

* Fix typo in locale

* Use correct translation

* Remove console.log

* Remove debug Error

* Add tx builder tests

* Remove console.log

* Fix isEmpty and isCoinBase to match our current tx parsing

* Add more tests

* Merge the two DB_VERSION together

* Fix transaction DB not working

* Panleone's review

* Move `isMature` method

* Fix hardware wallets

* Fix promos utxo value

* Re-add nFixedFee to sweepAddress

* Change number to var

* Add db tx tests

* Add sequence to database

* Fix promos not working for ledger

* Fix balance not updating

* Fix test

* Fix proposal creation

* Fix undelegation using incorrect balance
* Enable undelegation on hardware wallets

* Don't delegate change on ledgers

* Add change address, to use in ledger address confirmation

* Fix ledger error

* Add OP_FALSE to ledger inputs

* Add .js

* Add missing imports

* Fix owner address and p2cs spend on ledger
* Pull pivx-shield library

* Bump pivx-shield version

* Add shield object to wallet

* Add setShield

* Import shield data with seed phrase

* Prettier

* Shield sync model

* define the error to throw

* bail if shield is null or undefined

* Reset also shield object

* add getter to isShieldSynced

* Use ! in place of == null

* Add sapling chain params

* Improve network sync and save/load shield data from DB

* Don't resync on wallet re-import

* Disable toggleTestnet and delete if not fullySynced

* GUI shield sync status

* Update pivx-shield lib

* Add batch shield sync

* Actually handle blocks

* Improve error handling

* Add use shield inputs to transaction menu

* Add a `get new shield address` item

* Add headers for multicore to work on dev server

* Fix sync not using blocks[batchSize]

* Add utility functions to parse shield addresses

* Add shield support to transaction.js and wallet.js

* Add shield balance to dashboard

* Fix bugs that happened if shield was not present

* Splilt createShieldTransaction in two smaller functions

* Refactor wallet sync

- Remove #isShieldSynced in favor of a more general #isSynced
- Add a sync method to the wallet class

* Fix eslint errors

* Add hasShield and shieldBalance to composables

* Decode extended spending key on wallet unlock

* Remove comment and unused import

* wipe extsk on wallet lock

* Remove another log

* Use internal function to set extsk

* Fix Typo on createShieldTransaction

* Temporarely remove rockdev explroer as it's not synced

* Use upstream blockbook API for getBlock

* Improve startBatch error handling

* Update balance after sync

* Fix transaction creation and add t -> s transaction type

* Fix sync

* Add startBatch unit tests

* Add loading bar for shield txs

* Fix merge error

* change import file

* Don't sync if there is nothign to sync

* Don't enter twice in getLatestBlocks()

* Move return in startBatch

* Add bech32 decoder for shield addresses

* Remove console.log

* Increase by 1 qr size to show shield addresses

* Implement SHIELD contacts

* Add shield balance to charts

* Add pending shield balance

* Use handled to print the sync status

* Update wallet creation height considering the last checkpoint

* Use safeFetch when asking for full blocks

* Try and catch internal tx creation errors

* Fix MAX button for shield txs

* Block txs creation if there is another tx being created

* Fix a couple of bugs

* Add finalize transaction

* Add netlify.toml

* Bump to 1.1.0

* Bump to 1.1.1

* Add shield tx to tx builder

* Re-add english translations

* Remove old method

* Remove unused transition in loading bar

* Use isValidPIVXAddress function

* Remove transaction.js (re-introduced after merge)

* Fix weird typo

* Fix TODO

* Fix wallet not synced error

* Remove console.error

* Set proper tx version

* Fix change address

* Improve shield creation flow

* Add wallet shield tests

* Fix txbuilder not returning null on subsequent calls

* Add TODO

* Add txbuilder shield tests

* Add TransferMenu shield test

* Fix finalizeTransaction

* Fix tx failing when insufficient balance

* Bump pivx-shield version

* [VUE+CSS] Creating SHIELD transaction style

* Uncomment Vue display

* Prettier

* Set sync batches as a const

* Readd debug console.time

* Quick fix for balance (TODO: refactor the flags into a input selector)

* Add cache for sapling params

* Remove debug console.log and misleading comment

* Fix sending 1-delta when deshielding

* Split wallet tests in multiple files

* Remove duplicate tests

* Add a few more shield tests

* sanitizeHTML just in case

* Put SVG in different file

* Remove console.logs and only accept cache if succeeded

* GET check before regexp

* Remove console.logs

* Fix lint

---------

Co-authored-by: Alessandro Rezzi <[email protected]>
Co-authored-by: BreadJS <[email protected]>
Co-authored-by: JSKitty <[email protected]>
* Add exchange address support

* Fix exchange address

* Fix comment
* Complete shield data in transaction class

* Fix non-shield v3 transactions
* Cache transaction ids

* Prettier
Copy link

netlify bot commented Feb 29, 2024

Deploy Preview for chipper-griffin-9ad81e ready!

Name Link
🔨 Latest commit cfd271b
🔍 Latest deploy log https://app.netlify.com/sites/chipper-griffin-9ad81e/deploys/65e04ceb0949b80008f187bd
😎 Deploy Preview https://deploy-preview-25--chipper-griffin-9ad81e.netlify.app/index.template
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

@panleone
Copy link
Collaborator Author

wrong repo xD

@panleone panleone closed this Feb 29, 2024
Copy link

netlify bot commented Feb 29, 2024

Deploy Preview for zesty-dragon-4642ba ready!

Name Link
🔨 Latest commit cfd271b
🔍 Latest deploy log https://app.netlify.com/sites/zesty-dragon-4642ba/deploys/65e04ceb041b2f0008b54104
😎 Deploy Preview https://deploy-preview-25--zesty-dragon-4642ba.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants