Ivan Socolsky
a4ced0320f
refactor fee correction on change below dust
2016-03-11 11:47:57 -03:00
Ivan Socolsky
10b4ff3d15
fix netTotal bug + test
2016-03-11 11:13:29 -03:00
Ivan Socolsky
ee7d3bad7f
allow absolute fee when specifying inputs
2016-03-10 11:47:54 -03:00
Ivan Socolsky
f976637b14
improve code readability
2016-03-09 10:45:37 -03:00
Ivan Socolsky
5afc74d4f6
revert breaking conditions for small inputs to improve tracing
2016-03-09 10:18:13 -03:00
Ivan Socolsky
c3ee9e9b93
shuffle inputs
2016-03-08 15:47:31 -03:00
Ivan Socolsky
49791bcfdf
remove redundant check for very small utxos
2016-03-08 15:28:49 -03:00
Ivan Socolsky
c01d1568bb
adapt fee to avoid change below dust
2016-03-08 15:28:28 -03:00
Ivan Socolsky
9ed48f1e77
keep adding utxos to raise change above dust
2016-03-08 10:55:32 -03:00
Ivan Socolsky
72cf236bd6
fix variable names
2016-03-08 09:29:57 -03:00
Ivan Socolsky
08cb603a50
merge utxo exclusion into sanitize fn
2016-03-07 15:44:40 -03:00
Ivan Socolsky
cbde3233df
handle lots of small inputs causing the total balance after fees to decrease
2016-03-07 15:26:04 -03:00
Ivan Socolsky
680516da70
replace old utxo selection algo
2016-03-07 13:04:18 -03:00
Ivan Socolsky
504b52d695
compare both utxo selection algorithms
2016-03-07 13:00:53 -03:00
Ivan Socolsky
d3faad0639
make select fn async
2016-03-07 12:30:10 -03:00
Ivan Socolsky
60f6300fbc
rebased
2016-03-04 17:53:16 -03:00
Ivan Socolsky
2581f488fa
improve error handling
2016-03-04 17:50:23 -03:00
Ivan Socolsky
485b98de86
fix big input threshold computation
2016-03-04 17:50:23 -03:00
Ivan Socolsky
c90d5bfed4
proper log messages
2016-03-04 17:50:23 -03:00
Ivan Socolsky
62c0fb06ef
test utxo confirmation priority
2016-03-04 17:50:23 -03:00
Ivan Socolsky
a8cd4fe2c6
improve test cases
2016-03-04 17:50:23 -03:00
Ivan Socolsky
fdd5255e59
add stop conditions for small utxos
2016-03-04 17:50:23 -03:00
Ivan Socolsky
cd82017845
fix tests
2016-03-04 17:50:23 -03:00
Ivan Socolsky
dbba3acfa8
new input selection algorithm
2016-03-04 17:50:22 -03:00
Ivan Socolsky
5f5aed6345
cache last fee level
2016-03-04 17:02:05 -03:00
Ivan Socolsky
f878594d40
rm feeLevel
2016-03-04 11:07:17 -03:00
Ivan Socolsky
682bf7fdd2
make feePerKb required
2016-03-04 11:06:16 -03:00
Ivan Socolsky
446f35426f
remove explicit final fee for tx creation
2016-03-04 10:30:26 -03:00
Ivan Socolsky
37f87e4793
accept feeLevel on createTx
2016-03-04 10:30:26 -03:00
Matias Alejo Garcia
791330e82f
better logs
2016-02-23 16:00:34 -03:00
Matias Alejo Garcia
52570d3d40
change log level
2016-02-23 13:54:26 -03:00
Ivan Socolsky
2e19d6164b
improve utxo selection & add tx max size limit
2016-02-19 12:30:40 -03:00
Ivan Socolsky
3406f57bbc
rename method
...
Conflicts:
lib/blockchainexplorers/insight.js
2016-02-18 12:02:18 -03:00
Ivan Socolsky
f89c249e12
deterministic balance byAddress
2016-02-18 12:00:36 -03:00
Matias Alejo Garcia
270c5cbeff
mv constant to defaults
2016-02-17 16:45:56 -03:00
Matias Alejo Garcia
4dfda532c8
update history limit
2016-02-17 16:19:49 -03:00
Ivan Socolsky
f7328fc4ce
check fee xor feePerKb
2016-02-01 09:58:26 -03:00
Ivan Socolsky
4bad281966
delay NewTxProposal notification until published
2016-01-29 11:22:20 -03:00
Ivan Socolsky
77dc536a15
check fee limits
2016-01-28 18:20:48 -03:00
Ivan Socolsky
6f196aa1b9
allow fee to be specified on proposal creation
2016-01-28 17:53:22 -03:00
Ivan Socolsky
5f35aafc29
fix proposal signature validation in publishTx
2016-01-28 11:01:03 -03:00
Matias Alejo Garcia
dc5a6eb58a
Revert "ignore invalid TXs"
...
This reverts commit 3588e0225c
.
2016-01-20 13:03:07 -03:00
Matias Alejo Garcia
3588e0225c
ignore invalid TXs
2016-01-20 11:50:58 -03:00
Gabriel Bazán
965a859cbc
delete token variable
2016-01-18 17:37:40 -03:00
Gabriel Bazán
9d4afc4402
fix user field
2016-01-18 16:28:11 -03:00
Gabriel Bazán
bcd840c7fc
check token in opts
2016-01-18 10:26:37 -03:00
Gabriel Bazán
bd7bcbab45
push notifications unsubscribe method refactor
2016-01-18 09:40:35 -03:00
Gabriel Bazán
c71f6c637f
push notifications service subscribe, unsubscribe and tests
2016-01-18 09:40:35 -03:00
Ivan Socolsky
5c75fde169
check new client version for paypro txs
2016-01-15 20:00:33 -03:00
Ivan Socolsky
10ac3a4d65
init fiat rate service from within bws
2016-01-13 16:04:40 -03:00
Ivan Socolsky
aac0b70df4
separate initialization from cron job
2016-01-13 16:03:06 -03:00
Ivan Socolsky
ec9a6cde9b
Merge pull request #434 from troggy/history-custom-data
...
Return tx customData wth txHistory
2016-01-13 15:40:34 -03:00
Kosta Korenkov
6a9db29192
Return tx customData wth txHistory
2016-01-13 19:11:47 +03:00
Ivan Socolsky
4da8a37dc4
fix issue with retrieving active addresses
2016-01-13 11:22:29 -03:00
Ivan Socolsky
f2c29d8dee
send BalanceUpdated notification as global
2016-01-13 11:20:22 -03:00
Ivan Socolsky
c2d0d59955
fix border condition
2015-12-22 17:13:50 -03:00
Ivan Socolsky
a002ff0cfc
return both totalSize & confirmedSize
2015-12-22 16:53:25 -03:00
Ivan Socolsky
88f972e7d3
use getTotalAmount() instead of amount field
2015-12-18 12:41:45 -03:00
Matias Alejo Garcia
60e69a3856
Merge pull request #418 from isocolsky/feat/cache
...
Optimize balance computation
2015-12-15 12:51:54 -03:00
Ivan Socolsky
30e3e72263
add log message
2015-12-14 17:33:04 -03:00
Ivan Socolsky
4198d5c47c
handle initial conditions (empty cache)
2015-12-14 17:04:37 -03:00
Matias Alejo Garcia
0968de59dd
enforce txhistory limit
2015-12-14 16:41:06 -03:00
Matias Alejo Garcia
4eb3caea00
force history limit
2015-12-14 16:28:39 -03:00
Ivan Socolsky
87b96d4a8f
keep getStatus() method, add twoStep param
2015-12-11 16:32:38 -03:00
Ivan Socolsky
82f54f7901
remove comment
2015-12-11 16:13:08 -03:00
Ivan Socolsky
072aed5cc1
cache address strings only
2015-12-10 14:40:43 -03:00
Ivan Socolsky
9868cd7c34
fix tests
2015-12-10 13:03:17 -03:00
Ivan Socolsky
0ab57133fd
fix tests
2015-12-10 13:03:17 -03:00
Ivan Socolsky
94a376ca33
store cached data in db
2015-12-10 13:03:17 -03:00
Ivan Socolsky
3874d14f71
2 step getBalance
2015-12-10 13:03:17 -03:00
Ivan Socolsky
8c0882bf82
accept address list when fetching utxos for current wallet
2015-12-10 13:03:17 -03:00
Ivan Socolsky
a838978b3f
return null when totalBytesToSendMax cannot be evaluated (instead of 0)
2015-12-10 13:03:17 -03:00
Ivan Socolsky
cb677303b6
fix log message
2015-12-10 13:03:17 -03:00
Matias Alejo Garcia
a1596e4dd6
Merge pull request #407 from isocolsky/ref/proposal-flow
...
WIP: Ref/proposal flow
2015-12-09 10:25:11 -03:00
Ivan Socolsky
6f280d07da
Revert "Temporarily disable max address gap limit"
2015-12-08 17:10:18 -03:00
Ivan Socolsky
89b2a08f9f
rename sendTx -> publishTx
2015-12-08 12:01:49 -03:00
Ivan Socolsky
3f35d8f141
return upgrade_needed for legacy clients
2015-12-08 10:30:27 -03:00
Ivan Socolsky
0bb043d034
simplify proposal creation + allow non-validated outputs (external txps)
2015-12-08 10:30:27 -03:00
Ivan Socolsky
092c3ff37e
make self contained signature keys optional
2015-12-08 10:30:27 -03:00
Ivan Socolsky
87d7a1bd92
tests for proposal signature & signing key
2015-12-08 10:30:27 -03:00
Ivan Socolsky
76831caf50
verify proposal signature over raw tx
2015-12-08 10:30:26 -03:00
Ivan Socolsky
4a7614e2d5
rename createTx -> createTxLegacy
2015-12-08 10:30:26 -03:00
Ivan Socolsky
8ef05c8841
check available utxos when sending temporary txp
2015-12-08 10:30:26 -03:00
Ivan Socolsky
30c8072b8b
send tx (publish) + tests
2015-12-08 10:30:26 -03:00
Ivan Socolsky
2211847d0c
remove type from txproposal model
2015-12-08 10:30:26 -03:00
Ivan Socolsky
9db456550f
create temporary proposal + test
2015-12-08 10:30:26 -03:00
Ivan Socolsky
563ee14dc1
txproposal.js -> txproposal_legacy.js
2015-12-08 10:30:26 -03:00
Ivan Socolsky
92f9f0bc7d
force ignoreMaxGap flag
2015-12-06 01:19:13 -03:00
Ivan Socolsky
98773fe40a
handle invalid xpub on wallet join
2015-12-01 11:25:59 -03:00
Kosta Korenkov
2bdc6cf19d
Make API.createTx accept preselected inputs
...
Add EXTERNAL tx type
It will allow clients to specify inputs and outputs when creating proposals
Extract _validateOutputs method
Use for-loop to simplify and make it fail-fast.
Do not validate outputs for EXTERNAL tx type
Outputs may be of any kind (e.g. OP_RETURN). It is assumed that outputs are validated by caller.
Move output validation to a single place
Check tx and estimate fees for EXTERNAL proposal
Set amount for external proposals
Use changeAddress to determine network
Do not shuffle outputs for EXTERNAL txp
Fix input selection to respect fees
Add more inputs, if we selected exactly the amount to spend, so we avoid 'Insufficient funds for a fee' error
Properly handle UTXO with 0 satoshis
Minor fixes
ignore invalid utxos
2015-11-11 21:23:44 +03:00
Ivan Socolsky
fa58b5b778
restore derivation strategy on txps
2015-11-11 11:59:34 -03:00
Ivan Socolsky
714b95b32c
remove derivationStrategy field from txp
2015-11-06 12:02:41 -03:00
Ivan Socolsky
795097bf04
refactor constants+defaults+utils -> common
2015-10-30 17:16:20 -03:00
Ivan Socolsky
d451fff6fc
clean up address scan config
2015-10-30 15:39:33 -03:00
Ivan Socolsky
eb006c3db3
remove bitcore-wallet-utils dependency
2015-10-30 15:24:47 -03:00
Ivan Socolsky
5fba6c7f75
redefine constants
2015-10-30 10:34:13 -03:00
Matias Alejo Garcia
3425f9ec57
Merge pull request #392 from isocolsky/feat/get-main-addresses-params
...
Add params to getMainAddresses
2015-10-29 16:38:22 -03:00
Matias Alejo Garcia
5edfe3d384
Merge pull request #390 from isocolsky/limit-address-gap
...
Limit nb of consecutive addresses without activity
2015-10-29 16:37:47 -03:00
Ivan Socolsky
69dda0ed6a
remove unused walletId param
2015-10-29 16:35:30 -03:00
Ivan Socolsky
ef18c786fb
handle limit & reverse params
2015-10-29 15:17:39 -03:00
Matias Alejo Garcia
ade6458b6c
add tests
2015-10-28 18:34:05 -03:00
Matias Alejo Garcia
eb4c1fda03
use blocktime if present
2015-10-28 17:46:48 -03:00
Ivan Socolsky
0b43b3b85c
cache address activity
2015-10-28 13:23:13 -03:00
Ivan Socolsky
cf37d013b6
changed stub methods & more tests
2015-10-27 16:22:42 -03:00
Ivan Socolsky
a8a6962c74
check activity of previous addresses before generating a new one
2015-10-27 16:00:29 -03:00
Ivan Socolsky
2f990f42a8
test
2015-10-27 15:38:11 -03:00
Ivan Socolsky
f00b5dbe68
refactor constant definition
2015-10-27 15:19:38 -03:00
Ivan Socolsky
5eb9976646
remove comments
2015-10-26 19:34:27 -03:00
Ivan Socolsky
09d2ad3225
remove delay
2015-10-26 19:30:43 -03:00
Ivan Socolsky
284c2540f9
do not go beyond max gap addresses
2015-10-26 18:31:10 -03:00
Ivan Socolsky
9ffcb7e470
scan addresses 1 by 1 and rewind to last used one
2015-10-26 18:05:53 -03:00
Ivan Socolsky
5c048e390c
fetch new block notifications along with regular wallet notifications
2015-10-19 14:28:43 -03:00
Ivan Socolsky
781f2c44b7
rearrange static methods
2015-10-19 12:32:29 -03:00
Ivan Socolsky
19da3f8fd5
add x-service-version header
2015-10-19 11:18:26 -03:00
Ivan Socolsky
bf40b5a000
getLatestNotifications -> getNotifications
2015-10-15 16:01:23 -03:00
Ivan Socolsky
3bb097c7f4
rm getNotifications
2015-10-15 16:01:23 -03:00
Ivan Socolsky
b23f412bf3
getLatestNotifications + tests
2015-10-15 16:01:23 -03:00
Ivan Socolsky
88240dce1a
Merge pull request #362 from greggzigler/feat/get_version
...
clients want bws version for logging and debugging
2015-09-18 14:33:26 -03:00
Gregg Zigler
19cb11abeb
rename server to service
2015-09-18 10:20:38 -07:00
Ivan Socolsky
e346184339
add dryRun param
2015-09-17 11:39:23 -03:00
Gregg Zigler
bf76023869
use 'bws-' prefix to match style of bwc clientVersion values
2015-09-15 09:57:10 -07:00
Gregg Zigler
9b630002ae
rename to disambiguate from clientVersion
2015-09-15 09:43:24 -07:00
Gregg Zigler
9a8c467a01
clients want bws version for logging and debugging
2015-09-15 09:28:08 -07:00
Matias Alejo Garcia
0a09dac821
Merge pull request #357 from isocolsky/ref/bip44
...
Ref/bip44
2015-09-10 15:46:41 -03:00
Ivan Socolsky
a77c81ee7a
test legacy/new clients interacting
2015-09-10 14:53:33 -03:00
Matias Alejo Garcia
a8607fa11b
better insight error handling
...
add check to getPending
add check to getPending
add tests
rm log
store TXID upon tx completion
monitor accepted txs
change delay
change _checkTxInBlockchain
change _checkTxInBlockchain
rm useless params, refactor txid param
complete tx at fetch
2015-09-09 15:14:11 -03:00
Matias Alejo Garcia
4baaa6dbab
Merge pull request #336 from isocolsky/ref/feelevels
...
Replace feePerKB with feePerKb to match rest of API
2015-09-09 14:46:52 -03:00
Ivan Socolsky
3bf7b4d51f
prioritize error messages
2015-09-07 18:52:07 -03:00
Ivan Socolsky
97e63f9c6f
enable both bip44/45 & p2sh/pkh
2015-09-07 17:18:32 -03:00
Ivan Socolsky
595a54322b
correctly build tx proposal on P2PKH
2015-09-05 18:49:43 -03:00
Ivan Socolsky
45b7b65e99
allow p2pkh addresses in 1-of-1
2015-09-05 01:18:09 -03:00
Ivan Socolsky
765ccf33a0
restrict BIP44 usage to 1-of-1 wallets
2015-09-04 21:05:39 -03:00
Ivan Socolsky
e21d6dabd6
fix scan when blockchain explorer error
2015-09-04 09:38:56 -03:00
Kosta Korenkov
20af02e24f
Allow arbitrary customData for tx proposals
...
This way Copay addons may attach related data to proposals
2015-09-03 12:52:12 +03:00
Ivan Socolsky
db5c452a74
replaced other regex checks for client version
2015-09-01 12:00:06 -03:00
Ivan Socolsky
df5fdb1f75
parse client version
2015-09-01 11:53:07 -03:00
Ivan Socolsky
e11da7cec5
remove AddressManager from copayers on BIP44
2015-08-31 17:38:39 -03:00
Ivan Socolsky
094e19bc31
use constants form BWU
2015-08-31 17:13:46 -03:00
Ivan Socolsky
fe46f95b32
test for legacy clients trying to join BIP44 wallet
2015-08-31 11:59:54 -03:00
Ivan Socolsky
3ac0bc5e27
switch tests to bip44
2015-08-28 14:54:36 -03:00
Ivan Socolsky
004890bd6b
use BIP45 by default
2015-08-27 17:15:25 -03:00
Ivan Socolsky
bafe84a2e0
replace feePerKB with feePerKb to match rest of API
2015-08-26 15:02:11 -03:00
Kosta Korenkov
a5e44070b9
Allow to exclude certain UTXO from coin selection
...
Optional array of lockedUtxos (in ``txid:vout`` form) can be passed with tx proposal options.
When selecting inputs for proposal, these UTXOs will not be used.
2015-08-26 12:47:45 +03:00
Ivan Socolsky
6cba8abc5c
add custom data to copayers
2015-08-25 16:12:47 -03:00
Ivan Socolsky
1007ad1b05
includeExtendedInfo switch
2015-08-25 15:15:41 -03:00
Ivan Socolsky
f8d9ca542d
implement get status & improve tests
2015-08-25 15:15:40 -03:00
Matias Alejo Garcia
aeaa513510
update type
2015-08-20 14:16:43 -03:00
Matias Alejo Garcia
e5860141a3
ref mnemonic
2015-08-20 14:16:05 -03:00
Matias Alejo Garcia
dac564f290
adds addAccess call and tests
2015-08-20 14:15:33 -03:00
Matias Alejo Garcia
edc3bc6713
supports multiple pubkeys per copayer
2015-08-20 14:15:33 -03:00