Commit graph

438 commits

Author SHA1 Message Date
julian
ad0059508c move wallet constructors below class declaration 2023-02-03 16:48:16 -06:00
julian
4d891e0f31 clean up 2023-02-03 16:42:27 -06:00
julian
5b5ee30e41 centralized and cleaned up bip32 utils, and added mnemonic password functionality 2023-02-03 16:34:06 -06:00
julian
b0c00d8ec7 db refactor and added address labels 2023-02-03 13:22:21 -06:00
likho
e3101d98af Update Epicbox config to match latest epic version 2023-02-03 20:34:19 +02:00
julian
f0a8d65b3e show sent tx immediately in history 2023-02-02 16:19:14 -06:00
julian
97604a792f fix offline wallet creation for namecoin and particl 2023-02-02 15:48:06 -06:00
sneurlax
80611d1a31 use bch44 derivation if bip44 is null 2023-02-02 11:40:42 -06:00
julian
b2d7414cb6 merge clean up 2023-02-02 09:41:33 -06:00
julian
dc581cd4fc Merge remote-tracking branch 'origin/staging' into paynyms
# Conflicts:
#	lib/services/coins/bitcoincash/bitcoincash_wallet.dart
2023-02-02 09:29:30 -06:00
sneurlax
4aec78f0ed
Add BIP44 derivation paths to Bitcoin Cash wallet restoration process (#330)
* add new derive path for bch

and make it the new default.  we currently use slip44 (coinType 145) as the default

* add default cases to DerivePathType switches now failing

* normalize DerivePathType errors

log failing derivePathType or type, as appropriate

* add default derive path case to paynym interface

* use slip44 in bch wallet

* linting

* WIP look up both bip44 and slip44 addresses

slip44 is used by default

* typo fix

* typo fix

thanks Julian

* remove print

* use slip44 addresses by default

* use AddressType unknown for bip44 derive path type

* use address type unknown in _getCurrentAddressForChain, too

* generate different keys for SLIP44 and BIP44 paths

* couple more slips

* return slip44 from addressType

* slip before bip

* revert slip44-bip44, bch's bip44->bch44

* set bch44 derive path to type unknown

do not comingle paths in later output selection by index

* handle bip44 and bch44 path addresses when handling outputs

* use bip44 by default

* typofix

* typo fix in the typo fix

yo dawg

* separate new derivation path functions into their own non-testnet block

* cleanup

* disable test

should re-enable if it can be fixed with the test mnemonic in hand

---------

Co-authored-by: julian <julian@cypherstack.com>
2023-02-02 09:24:26 -06:00
julian
16d4384525 possible putAddresses index violation error during full rescan fix 2023-02-02 09:03:57 -06:00
julian
eaf8fe7094 possible epic cash address get fix 2023-02-02 08:48:03 -06:00
julian
ce5586d675 extra percent notifier 2023-02-01 16:46:27 -06:00
julian
9dc5f91a04 add logging to fee btc calc 2023-02-01 15:37:58 -06:00
julian
72cb62774c revert and modify tx size calc for two outputs 2023-02-01 15:20:49 -06:00
julian
68be62e3ef bch fetch derivation by address fix 2023-02-01 10:38:49 -06:00
julian
588d715a61 only clear out wallet utxos on refresh 2023-01-31 19:26:23 -06:00
julian
19bf4c0df6 scan following/followers for paynym history 2023-01-31 17:26:10 -06:00
julian
6df782647e btc send exact value of output fix 2023-01-31 13:44:56 -06:00
julian
0a264a97c5 pass p2pkh change address to paynym interface 2023-01-31 10:37:53 -06:00
julian
a41f80ac55 add height change notify 2023-01-30 11:06:28 -06:00
julian
17cbc390e4 pass in correct values 2023-01-30 08:28:54 -06:00
likho
f7e2568e6a Add validation for custom addresses and clean up 2023-01-30 15:44:30 +02:00
julian
3985674525 dirty payment code obfuscation 2023-01-27 18:18:58 -06:00
julian
3105c21c35 move paynym interface from doge to btc 2023-01-27 15:03:03 -06:00
julian
b09b3d0e1f restore all paynym history function 2023-01-27 14:43:38 -06:00
julian
451edbfc67 handle dropped mempool/blockchain transactions 2023-01-27 12:49:25 -06:00
julian
8b071e8774 ensure paynym notification address is generated and added to database on restore 2023-01-27 10:21:23 -06:00
julian
5159a61271 block paynym notification utxos 2023-01-27 10:20:26 -06:00
julian
6d7284d216 do not display incoming notification transaction in ui 2023-01-27 10:04:55 -06:00
likho
fd0b20d661 Complete adding ERC-20 functionality 2023-01-27 14:32:05 +02:00
julian
9b74f52ce9 add receiving address derivation to secure storage 2023-01-26 16:17:26 -06:00
julian
9cc0d74b16 check paynym receiving addresses based on payment code notification tx history 2023-01-26 15:25:53 -06:00
likho
dbcbfe342c WIP: Add test ETH Token functionality in stack 2023-01-26 20:08:12 +02:00
julian
fb3f430edc disable PaynymSupport extension and use PaynymWalletInterface instead 2023-01-25 15:49:57 -06:00
julian
7cb497f4f7 remove coin enum hasPaynymSupport getter in favor of type checking 2023-01-25 15:46:48 -06:00
julian
9c44dc6c6b add support to make adding segwit paynym support simple once implemented 2023-01-25 14:33:59 -06:00
julian
79db4f048c use derive path type extension method per coin 2023-01-25 13:49:14 -06:00
julian
35ba2f9d79 use derive path type in paynym extension 2023-01-25 12:13:01 -06:00
julian
6b08acf225 single DerivePathType enum declaration 2023-01-25 12:08:48 -06:00
julian
1965501bf8 added address scanning for send and receiving addresses given the context of your own payment code and another, address type choice also added for send/receive address generation 2023-01-25 11:13:21 -06:00
likho
d4653ea794 WIP: Add token functionality 2023-01-25 18:08:27 +02:00
julian
26245517ac add paynym send functionality to paynym extension 2023-01-25 09:26:50 -06:00
likho
abf9f02f8e ADdress fix 2023-01-25 14:09:07 +02:00
likho
4efd432de6 WIP: Add wallet tokens 2023-01-25 11:29:20 +02:00
julian
37fa5e9d19 remove old file and add todos 2023-01-24 16:18:17 -06:00
julian
6253652c21 detect paynym notification transactions 2023-01-23 16:11:24 -06:00
julian
69dfbb5873 paynym clean up to use isar transaction and address upgrades 2023-01-23 12:19:13 -06:00
julian
f3325807e0 null address fix 2023-01-23 10:37:29 -06:00
julian
165021ca2e Merge branch 'isar_migrate' into paynyms 2023-01-20 17:27:18 -06:00
julian
a391a76eec trusted nodes fix and possibly other node fix 2023-01-20 16:24:33 -06:00
julian
017719971b isar init fix and renaming of init functions 2023-01-20 15:57:54 -06:00
julian
830fd58754 Merge branch 'isar-transactions' into isar_migrate
# Conflicts:
#	lib/services/coins/bitcoin/bitcoin_wallet.dart
#	lib/services/coins/bitcoincash/bitcoincash_wallet.dart
#	lib/services/coins/coin_service.dart
#	lib/services/coins/dogecoin/dogecoin_wallet.dart
#	lib/services/coins/firo/firo_wallet.dart
#	lib/services/coins/litecoin/litecoin_wallet.dart
#	lib/services/coins/monero/monero_wallet.dart
#	lib/services/coins/namecoin/namecoin_wallet.dart
#	lib/services/coins/particl/particl_wallet.dart
#	lib/services/coins/wownero/wownero_wallet.dart
#	pubspec.yaml
2023-01-20 15:30:48 -06:00
julian
c1182f61bc start centralizing custom exceptions 2023-01-20 12:25:32 -06:00
julian
5c66b0380b move standard electrum x transaction parsing function into a mixin 2023-01-20 12:16:27 -06:00
julian
4c25a88c32 update to use new block data callback 2023-01-20 11:48:59 -06:00
likho
706cbbfa39 Add tokens class 2023-01-20 19:24:19 +02:00
julian
fd5a237170 move db modifying func to MainDB out of WalletDb, add MainDB mocks to coin tests, build runner generate mocks 2023-01-19 15:13:03 -06:00
julian
60e850f442 add mockable override option for testing purposes 2023-01-19 14:33:23 -06:00
julian
8921302ee0 remove useless walletId param from db init 2023-01-19 14:07:08 -06:00
julian
686c897515 remove unused param from constructor 2023-01-19 11:41:59 -06:00
julian
db205b40e2 notify ui of tx changes and force refresh on rescan 2023-01-19 10:29:00 -06:00
julian
95b9e6170f firo mint tx migrate fix 2023-01-19 09:16:30 -06:00
likho
74ab70df7e Use mainnet 2023-01-19 10:45:09 +02:00
julian
7d061866bd btc tx fetch fetch fix 2023-01-18 18:13:08 -06:00
julian
0a3c001845 fix all own addresses query 2023-01-18 17:20:23 -06:00
julian
575cce1a7d update address in case of bad index from migrate or any other reason 2023-01-18 16:55:59 -06:00
julian
719f70697a epic isar fixes 2023-01-18 09:42:46 -06:00
julian
30635b05d5 wow isar tx sync fixes 2023-01-17 17:19:09 -06:00
julian
505e8adad7 xmr isar tx sync fixes 2023-01-17 16:56:21 -06:00
julian
ef9205a0a9 particl isar tx parse fixes 2023-01-17 16:11:04 -06:00
julian
9bb71b0e13 firo isar index and null address fix 2023-01-17 12:31:07 -06:00
julian
38453ceafb delete old derivations when doing full rescan 2023-01-17 08:19:30 -06:00
julian
b348761bbe bch cashaddr fix 2023-01-17 08:04:30 -06:00
julian
203cd12678 epic bugfix 2023-01-16 16:56:24 -06:00
julian
d1f237ae51 explicit isar model constructors 2023-01-16 16:37:00 -06:00
julian
5562c14527 WIP refactor to single main isar db 2023-01-16 15:04:03 -06:00
julian
0223a75d95 putAll 2023-01-16 12:58:10 -06:00
julian
5e592f8d29 epic index fix 2023-01-16 08:53:46 -06:00
julian
09b51def04 missing value init fix 2023-01-14 08:00:43 -06:00
julian
ea212b3dd8 useless print 2023-01-13 17:00:05 -06:00
julian
8a7236b46d clear out isar blockchain data per wallet when doing full rescan 2023-01-13 15:48:42 -06:00
julian
061658f2e9 dynamic map value fix 2023-01-13 15:44:14 -06:00
julian
3414c71741 update other coin's parse transaction and db update 2023-01-13 15:36:19 -06:00
julian
e14c362574 rename var 2023-01-13 14:59:47 -06:00
julian
5e7bd0d8ae fix bitcoin transaction refresh 2023-01-13 14:50:43 -06:00
julian
5819241c15 fix tx parse address bug 2023-01-13 14:50:22 -06:00
julian
cb382e213f separate tx note from transaction object to ensure total separation of blockchain data from other user to ease rescanning the blockchain 2023-01-13 13:33:46 -06:00
julian
94e6ebf53b insert inputs/outputs after finishing tx parse 2023-01-13 13:25:09 -06:00
julian
6310f0b1c7 only update missing or unconfirmed transactions 2023-01-13 12:00:25 -06:00
julian
0543c4b044 filter by address fixes 2023-01-13 12:00:02 -06:00
julian
52d5ab0d33 WIP tx parse + link address to transaction 2023-01-13 11:11:41 -06:00
julian
13e6fc6b47 restoring type fix 2023-01-13 09:26:37 -06:00
likho
5a1569b3fa Clean up and fixes 2023-01-13 16:36:50 +02:00
likho
78a64690ed Fix sendall 2023-01-13 11:21:10 +02:00
julian
7e6daad779 some small bug fixes 2023-01-12 16:07:15 -06:00
julian
8c67901c28 apply wallet cache mixin to rest of coin wallets and clean up hive code 2023-01-12 15:32:25 -06:00
julian
5c70cf7967 add mixins to firo_wallet.dart and remove directly interacting with hive therein 2023-01-12 15:20:57 -06:00
julian
85be646049 add mixins to epiccash_wallet.dart and remove directly interacting with hive therein 2023-01-12 14:58:58 -06:00
julian
1170f742e9 use balance caching in all wallets 2023-01-12 13:21:03 -06:00
julian
61a1ad551f clean up print 2023-01-12 12:55:57 -06:00
julian
4ab090cb92 remove unused hive inits 2023-01-12 12:54:22 -06:00
julian
3f830218a4 extract wallet isar db to mixin 2023-01-12 12:46:01 -06:00
julian
ccb9f254bd small bug fixes and added WalletCache mixin to handle balance cache etc 2023-01-12 12:15:28 -06:00
likho
27322061f6 Implement gas price oracle, Update all fees to use new gas estimate 2023-01-12 19:24:26 +02:00
julian
e115ff1b41 only use the PaymentData 'data' once and do not generate p2sh data using p2wpkh unless required 2023-01-12 09:52:41 -06:00
likho
ab4392b0bd WIP: Add transaction fees 2023-01-12 16:14:49 +02:00
likho
734a51f5dd WIP: Get gas estimator 2023-01-12 10:09:11 +02:00
julian
12a5eff178 missing value init 2023-01-11 22:45:59 -06:00
julian
a73e18df75 expose wallet isar instance to Manager 2023-01-11 21:23:21 -06:00
julian
3a185ead9a WIP paynym model parsing updates 2023-01-11 21:14:04 -06:00
julian
a989a26f62 migrate wownero_wallet.dart to isar transactions, addresses, and utxos, as well as the cleaner balance model 2023-01-11 21:09:18 -06:00
julian
c83ec074de migrate monero_wallet.dart to isar transactions, addresses, and utxos, as well as the cleaner balance model 2023-01-11 21:09:08 -06:00
julian
275e3ab4cb WIP migrate particl_wallet.dart to isar transactions, addresses, and utxos, as well as the cleaner balance model 2023-01-11 20:09:08 -06:00
julian
21f3d80d3a migrate namecoin_wallet.dart to isar transactions, addresses, and utxos, as well as the cleaner balance model 2023-01-11 19:22:44 -06:00
julian
c36d73f255 migrate litecoin_wallet.dart to isar transactions, addresses, and utxos, as well as the cleaner balance model 2023-01-11 18:59:01 -06:00
julian
90bf6a2bb2 migrate firo_wallet.dart to isar transactions, addresses, and utxos, as well as the cleaner balance model 2023-01-11 18:16:17 -06:00
julian
f551927603 migrate epiccash_wallet.dart to isar transactions, addresses, and utxos, as well as the cleaner balance model 2023-01-11 14:52:06 -06:00
julian
30d8f8b810 update isCancelled flag name to be consistent with other isar model bool values 2023-01-11 14:48:55 -06:00
julian
25a60920dd migrate bitcoincash_wallet.dart to isar transactions, addresses, and utxos, as well as the cleaner balance model 2023-01-11 13:30:03 -06:00
julian
493bf09578 migrate bitcoin_wallet.dart to isar transactions, addresses, and utxos, as well as the cleaner balance model 2023-01-11 12:24:16 -06:00
julian
90964b83c6 migrate dogecoin_wallet.dart to isar transactions, addresses, and utxos, as well as the cleaner balance model 2023-01-11 12:23:49 -06:00
julian
78db152ff4 clean up coinservice and manager classes to handle new isar models and balance model 2023-01-11 12:21:11 -06:00
likho
8b87c7367a Error fixes 2023-01-11 15:35:51 +02:00
julian
b0c62015a1 update enum value name 2023-01-10 17:57:00 -06:00
julian
d27af7243c modify experimental parseTransaction function to return the new Isar Transaction model 2023-01-10 17:55:19 -06:00
julian
9d6e2d0a0d update dogecoin to use isar for addresses and transactions 2023-01-10 17:52:27 -06:00
julian
8ee9428758 add currentHeight getter 2023-01-10 17:50:22 -06:00
julian
69e1d8d20b reduce minimum doge confirms 2023-01-09 15:47:10 -06:00
julian
cba33a1d69 notification tx record type storage fix and a couple other little fixes 2023-01-09 15:42:37 -06:00
likho
ae0a515384 Error fixes, remove hard coded values 2023-01-09 19:15:40 +02:00
julian
3c1bc42bbf added check functions too see if a notification tx was sent from my wallet to the target payment code, and if any transactions have been received on my notification address which are then cached/stored locally 2023-01-09 11:09:26 -06:00
julian
ae7dbeb988 WIP send/receive address derivation for the target payment code + my private key context 2023-01-09 11:05:13 -06:00
likho
357b08d4bf Error fixes 2023-01-09 13:10:34 +02:00
likho
045cf857fd Fix refresh loading forever 2023-01-08 17:19:58 +02:00
Diego Salazar
fcb2935d64
Merge pull request #309 from cypherstack/trusted-node
Add trusted node setting to Monero and Wownero
2023-01-06 17:20:49 -07:00
julian
e8ef0be977 WIP connect tx flow 2023-01-06 16:31:36 -06:00
sneurlax
227dd61be2 pass trusted to connectToNode 2023-01-06 14:55:06 -06:00
julian
54767947ed WIP notif txn 2023-01-06 13:55:47 -06:00
sneurlax
3794b18ba6 comment update 2023-01-06 11:15:32 -06:00
likho
b60122fd85 Transaction listing 2023-01-06 17:25:28 +02:00
julian
35a8172d35 paynym notif tx and tx parsing tweaks 2023-01-05 16:57:53 -06:00
julian
915458dbf3 dirty WIP notification tx creation 2023-01-05 12:48:18 -06:00
sneurlax
2495673f79 add getAddresses helper func for Firo
don't assume keys exist without checking them
2023-01-05 12:13:54 -06:00
sneurlax
2dbd81fd4c use getAddress with BTC, LTC, NMC, and PART 2023-01-05 12:13:26 -06:00
sneurlax
fb7c58f60a handle 0 amounts
use null operator where applicable
2023-01-05 12:12:38 -06:00
sneurlax
4d10727360 use getAddress with BCH 2023-01-05 12:09:01 -06:00
sneurlax
a902c77057 add getAddress helper func for transactions with odd outputs
OP_RETURN and some other output types can cause addresses to be placed in a list of strings or as a string under a different key; this handles that case
2023-01-05 12:09:01 -06:00
likho
5fcb65ba0c WIP: GET transactions 2023-01-05 18:04:45 +02:00