Commit Graph

473 Commits

Author SHA1 Message Date
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
Matias Alejo Garcia 3122e9ba7c test passing, rebased 2015-08-20 14:15:33 -03:00
Matias Alejo Garcia cfbf184502 removes isTemporaryRequestKey and replaceTemporaryRequestKey feature. No longer supports joining legacy (<0.9) copayers 2015-08-20 14:15:33 -03:00
Matias Alejo Garcia 3bcabaf9e4 Merge pull request #326 from isocolsky/fee_level_def
Redefine fee levels
2015-08-14 10:29:32 -03:00
Ivan Socolsky 3bd341c65f fee levels set to 1, 2, 6 2015-08-13 17:27:06 -03:00
Ivan Socolsky a8eedc8c01 rename internal constants 2015-08-13 17:24:49 -03:00
Ivan Socolsky a1835c76a2 broadcast raw tx 2015-08-13 16:06:22 -03:00
Ivan Socolsky 3f0cfbc7c1 listen to address param 2015-08-13 14:23:06 -03:00
Ivan Socolsky fca67fba8a implement utxos for external addresses 2015-08-13 12:01:22 -03:00
Ivan Socolsky 4dbcb639fe add opts param to getUtxos 2015-08-13 11:00:27 -03:00
Ivan Socolsky bb0e8d7093 change fee sampling 2015-08-12 18:39:19 -03:00
Ivan Socolsky 256fb0095b improve error message 2015-08-11 16:26:16 -03:00
Ivan Socolsky af9dd5b3fe disallow signing newer txs from legacy clients 2015-08-11 14:16:58 -03:00
Ivan Socolsky c0779776c0 check for bw*- as client id 2015-08-10 22:25:13 -03:00
Ivan Socolsky e4e138e139 add TX_NOT_FOUND 2015-08-05 10:48:36 -03:00
Ivan Socolsky 76c545b110 add WALLET_NOT_COMPLETE 2015-08-05 10:44:09 -03:00
Ivan Socolsky 03fe48209e add WALLET_NOT_FOUND 2015-08-05 10:41:03 -03:00
Ivan Socolsky 90dfc17ab5 new error for address network mismatch 2015-08-04 12:07:25 -03:00
Ivan Socolsky e1fac88a8e improve error codes 2015-08-03 16:11:09 -03:00
Ivan Socolsky 602bc9a9a3 rm BLOCKCHAINERROR error code 2015-08-02 19:48:18 -03:00