Commit Graph

772 Commits

Author SHA1 Message Date
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 30e3e72263 add log message 2015-12-14 17:33:04 -03:00
Ivan Socolsky 124742a792 update active addresses from bc monitor 2015-12-14 17:30:28 -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 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 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
Ivan Socolsky 784a5ad1dc enforce max gap limit on v3 2015-12-09 11:02:50 -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
Matias Alejo Garcia b475dae5d8 Merge pull request #415 from isocolsky/ref/wallet-lock
Reduce wallet lock times
2015-12-08 17:26:18 -03:00
Ivan Socolsky 6f280d07da Revert "Temporarily disable max address gap limit" 2015-12-08 17:10:18 -03:00
Ivan Socolsky b15c0c3ce8 reduce wait time to 5 sec, max execution time to 5 min 2015-12-08 12:26:32 -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 0a5e144f93 add express endpoint for sending tx 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 5755b965e8 use TxProposal#fromObj as a factory for proposals 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 63eca6b529 txProposal v3 2015-12-08 10:28:21 -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
Ivan Socolsky 1b6980fd1e call toObject before storing models 2015-11-23 17:28:02 -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 524ed773e2 add WALLET_LOCKED error on lock timeout 2015-11-20 11:08:01 -03:00
Matias Alejo Garcia f8248a0eba Merge pull request #403 from isocolsky/fix/multi-output-no-change
Fix/multi output no change
2015-11-18 16:03:51 -03:00
Ivan Socolsky 5794883eb0 allow either script or toAddress 2015-11-16 18:39:51 -03:00
Ivan Socolsky 6476de0461 remove unused elements in output order array 2015-11-16 17:59:48 -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 446d7ff2e5 tx.derivationStragegy = wallet.derivationSTrategy 2015-11-11 12:14:07 -03:00