Commit Graph

730 Commits

Author SHA1 Message Date
Ivan Socolsky fa1c63ac66
decorate tx history with notes 2016-05-23 09:55:24 -03:00
Ivan Socolsky a5c172af15
add tests 2016-05-23 09:55:24 -03:00
Ivan Socolsky 5abe6fac51
edit/retrieve notes + tests 2016-05-23 09:55:24 -03:00
Ivan Socolsky 5ca8663c96
reorganize integration tests 2016-05-23 09:55:24 -03:00
Ivan Socolsky 65bda681d5
allow a specific change address 2016-05-20 12:27:45 -03:00
Ivan Socolsky 036abf001c
return more info on missing parameters 2016-05-20 11:52:31 -03:00
Ivan Socolsky 700c898508
allow 1 <= n <= 15 && 1 <= m <= n 2016-05-09 11:10:56 -03:00
Ivan Socolsky 190ee3ef34
improve log messages 2016-04-28 20:00:02 -03:00
Ivan Socolsky 930e977861
test shuffle/no-shuffle outputs 2016-04-19 10:45:32 -03:00
Gabe Gattis 6649c35678
rename 'models' directory in tests to be 'model', which matches lib 2016-03-30 15:44:49 -04:00
Ivan Socolsky 37ee40f26a add min change threshold 2016-03-23 10:58:01 -03:00
Ivan Socolsky 6d8b4e70b6 add more info to response 2016-03-18 16:32:11 -03:00
Ivan Socolsky 6b8af51993 handle 0 input txs 2016-03-18 15:56:10 -03:00
Matias Alejo Garcia 93a8d65932 Merge pull request #470 from isocolsky/feat/send-max
Feat/send max
2016-03-18 10:47:51 -03:00
Ivan Socolsky 30469f921d shuffle inputs 2016-03-16 16:46:11 -03:00
Ivan Socolsky f418009ebf add express endpoint 2016-03-16 16:42:39 -03:00
Ivan Socolsky ea94ec9963 increase BACKOFF_OFFSET from 3 to 10 + fixed BACKOFF_TIME (1 hour) 2016-03-15 17:21:22 -03:00
Ivan Socolsky bd87a1af74 fix tests 2016-03-11 14:03:40 -03:00
Ivan Socolsky 0766499cb7 createTx dry run 2016-03-11 13:51:15 -03:00
Ivan Socolsky d23788100e allow for external use of getSendMaxInfo + refactor createTx 2016-03-11 13:51:15 -03:00
Ivan Socolsky b2fc191f54 remove generation of change address when sending max 2016-03-11 13:49:33 -03:00
Ivan Socolsky bdff2cbc35 sendMax option on createTx 2016-03-11 13:45:10 -03:00
Ivan Socolsky 755449e32d return utxo list 2016-03-11 13:42:26 -03:00
Ivan Socolsky 0aa0f345a3 add max size check 2016-03-11 13:42:25 -03:00
Ivan Socolsky 42ae722db9 tests 2016-03-11 13:42:25 -03:00
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 8ce304fd4e reduce safety margin to 2% 2016-03-10 18:59:04 -03:00
Ivan Socolsky ee7d3bad7f allow absolute fee when specifying inputs 2016-03-10 11:47:54 -03:00
Ivan Socolsky c3ee9e9b93 shuffle inputs 2016-03-08 15:47:31 -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
Matias Alejo Garcia 69d099020f add tests 2016-03-08 09:28:34 -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 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 328f6250be improve utxo mocking 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 baaa6e62c7 refactor integration test code 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
Ivan Socolsky 900386a78e fix test 2016-03-04 09:59:28 -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
Matias Alejo Garcia 7eea242300 update name to requestList 2016-02-17 00:15:43 -03:00
Matias Alejo Garcia 396bed8873 add multiple insight server support 2016-02-16 17:09:53 -03:00
Ivan Socolsky 3f5f219450 fix returning old rates 2016-02-10 18:21:48 -03:00
Ivan Socolsky 0977c2081b Merge pull request #459 from braydonf/test/node4
Tests: Run tests with Node 4 and 0.12
2016-02-01 14:20:26 -03:00
Braydon Fuller c5274e6507 Tests: Fix tests for Node.js 4 2016-02-01 12:07:43 -05:00
Braydon Fuller 7530ee9d0e Wallet Model: Check that "m" and "n" arguments are numbers 2016-02-01 11:21:49 -05: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 23cddbe47f fix broadcasting new proposals 2016-01-29 10:51:06 -03:00
Ivan Socolsky 8cf56c2a3d remove unused code 2016-01-28 18:40:10 -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 365c638cd0 remove only in test 2016-01-18 09:40:35 -03:00
Gabriel Bazán bd7bcbab45 push notifications unsubscribe method refactor 2016-01-18 09:40:35 -03:00
Gabriel Bazán 88d292aace test fixed 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 8a6c5dfc13 establish a limit on look back time for a valid rate 2016-01-13 16:29:04 -03:00
Ivan Socolsky 57912a3180 define constants in defaults.js 2016-01-13 16:05:08 -03:00
Ivan Socolsky b9b1bddea8 REST endpoint + added to shell command 2016-01-13 16:05:08 -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 8d6d545139 test error handling in fetching process 2016-01-13 16:03:05 -03:00
Ivan Socolsky aa415268fc test fetch 2016-01-13 16:03:05 -03:00
Ivan Socolsky 5d868d57c4 test specific provider 2016-01-13 16:03:05 -03:00
Ivan Socolsky e62e5b032d add fetchedOn to returned rates 2016-01-13 16:03:05 -03:00
Ivan Socolsky 0922a5fa6e integration tests 2016-01-13 16:03:05 -03:00
Ivan Socolsky 450da4ecdc add fiat rate service 2016-01-13 16:03:05 -03:00
Ivan Socolsky 86c36eba84 Merge pull request #429 from gabrielbazan7/feat/pushNotifications
push notifications
2016-01-13 15:44:02 -03:00
Gabriel Bazán 5c1a95d5d2 refactor 2016-01-13 13:14:42 -03:00
Kosta Korenkov 6a9db29192 Return tx customData wth txHistory 2016-01-13 19:11:47 +03:00
Gabriel Bazán ba1c603977 add integrations test - should exclude outgoing notifications 2016-01-12 17:26:44 -03:00
Gabriel Bazán f6aef2de7c add join test 2016-01-12 15:19:29 -03:00
Gabriel Bazán 925e83b74a pushnotificationsservice path fix 2016-01-12 10:09:06 -03:00
Gabriel Bazán 92aac31b4c template path fix 2016-01-12 09:53:44 -03:00
Javier a8f1bdd3c9 WIP integrations test 2016-01-11 17:58:39 -03:00
Ivan Socolsky 08f37a97b6 additional tests 2015-12-22 17:05:54 -03:00
Ivan Socolsky a002ff0cfc return both totalSize & confirmedSize 2015-12-22 16:53:25 -03:00
Ivan Socolsky 3bef4f30b6 initialize amount field on multiple_output tx proposals 2015-12-16 00:21:58 -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 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
Ivan Socolsky 87b96d4a8f keep getStatus() method, add twoStep param 2015-12-11 16:32:38 -03:00
Ivan Socolsky cc94b19e82 rebase 2015-12-10 13:04:31 -03:00
Ivan Socolsky 56d1562e92 express endpoint 2015-12-10 13:03:18 -03:00
Ivan Socolsky 4e7241e86d add v2/balance endpoint 2015-12-10 13:03:18 -03:00
Ivan Socolsky 9dcae6f4bc introduce threshold for nb of addresses 2015-12-10 13:03:18 -03:00
Ivan Socolsky 0ab57133fd fix tests 2015-12-10 13:03:17 -03:00
Ivan Socolsky 2914584d50 test new addresses 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
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 5054c1d9f4 reorganize integration tests 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 6deb9e77f6 txproposalv3 -> txproposal 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 ebce4629ff test getEstimatedSize() 2015-12-08 10:28:21 -03:00
Ivan Socolsky 63eca6b529 txProposal v3 2015-12-08 10:28:21 -03:00
Ivan Socolsky 8630b03c40 skip tests 2015-12-06 01:20:47 -03:00
Ivan Socolsky 98773fe40a handle invalid xpub on wallet join 2015-12-01 11:25:59 -03:00
Ivan Socolsky 80d1d31130 Merge pull request #330 from troggy/txp/manual-outputs
Add EXTERNAL proposal type
2015-11-20 15:10:40 -03:00
Ivan Socolsky 6476de0461 remove unused elements in output order array 2015-11-16 17:59:48 -03:00
Ivan Socolsky fa7e2ef6ce test multiple-output with no change 2015-11-16 17:46:34 -03:00
Ivan Socolsky af70af4de7 test single output tx with no change 2015-11-16 17:34:28 -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
Matias Alejo Garcia a1f58a6c8c Merge pull request #393 from isocolsky/remove-bwu-dep
Remove BWU dependency
2015-11-09 10:48:09 -03:00
Ivan Socolsky 714b95b32c remove derivationStrategy field from txp 2015-11-06 12:02:41 -03:00
Ivan Socolsky 2367365707 fix GET v1/addresses/ endpoint 2015-11-04 12:36:39 -03:00
Ivan Socolsky c629b02419 test address derivation from PKR 2015-11-03 16:57:34 -03:00
Ivan Socolsky f5f530e3b3 add tests to utils.js 2015-11-03 16:15:15 -03:00
Ivan Socolsky c7611231a5 refactor email notification tests into a separate test suite 2015-11-03 15:59:52 -03:00
Ivan Socolsky 7042e240f8 refactor testing setup/teardown in helpers 2015-11-03 15:45:38 -03:00
Ivan Socolsky c1a456d32a extract helpers from integration tests 2015-11-03 13:29:52 -03:00
Ivan Socolsky e55983b151 mv Utils.buildTx -> TxProposal 2015-11-03 13:01:12 -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
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