Commit graph

66 commits

Author SHA1 Message Date
Daniel Cousens
aeb0312d63 use safe-buffers throughout impl 2017-05-23 18:39:53 +10:00
Daniel Cousens
3635a9f078 s/scriptPubKey/outputScript 2016-12-23 13:55:15 +11:00
Daniel Cousens
d9fa39a2cc scripts: extract all scripts to encode/decode/check style 2016-11-04 07:23:02 +11:00
Daniel Cousens
a1d3e33c84 address/crypto/script/types: adhere to no-use-before-define 2016-09-28 15:23:52 +10:00
Daniel Cousens
67da1b30e3 address: fix compiled assumption for fromOutputScript 2016-01-28 15:35:57 +11:00
Daniel Cousens
d48a7ab682 address: avoid unnecessary unchunking 2015-11-25 19:19:21 +11:00
Daniel Cousens
146bc8e11a address: re-use fromBase58Check internally 2015-09-05 14:27:53 +10:00
Daniel Cousens
8934de591c use baddress/bcrypto/bscript for ambuigities 2015-08-20 13:55:13 +10:00
Daniel Cousens
6ec687deba rename scripts to script 2015-08-20 13:55:13 +10:00
Daniel Cousens
e2abe2b3af merge Script/scripts 2015-08-18 14:44:30 +10:00
Daniel Cousens
812d74aa0a coerce wherever necessary for now 2015-08-18 14:44:29 +10:00
Daniel Cousens
e05f8a542d remove Script object 2015-08-18 14:44:29 +10:00
Daniel Cousens
e743c58ed6 remove usage of instanced Scripts 2015-08-18 14:44:29 +10:00
Daniel Cousens
fd7f0b0ef8 address: use input first errors, easier detection 2015-08-18 09:27:55 +10:00
Daniel Cousens
254b670427 add types 2015-08-14 10:56:30 +10:00
Daniel Cousens
f5d99d8f8a address: remove network detection 2015-08-07 16:36:10 +10:00
Daniel Cousens
1a4000cc98 address: throw Invalid address instead of hash/version for fromBase58Check 2015-07-24 12:18:00 +10:00
Daniel Cousens
13f414c122 remove Address constructor 2015-07-24 12:18:00 +10:00
Daniel Cousens
97c4de9da6 *: throw new Error over assert(false, ... 2015-06-23 16:44:05 +10:00
Daniel Cousens
399803affa use standardjs formatting 2015-02-24 12:45:38 +11:00
Daniel Cousens
c13f1df9bf doc: no section headers 2015-02-05 16:29:37 +11:00
Daniel Cousens
e42c497a3c package: use typeforce 2014-12-23 15:08:20 +11:00
Daniel Cousens
4fe0b34f27 Address: no need to check other script types 2014-11-28 13:54:42 +11:00
Daniel Cousens
35542e115d types: enforce consistent type checking 2014-10-05 15:36:25 +11:00
Daniel Cousens
13c2d377e7 package: use bs58check 2014-07-02 14:37:32 +10:00
Daniel Cousens
92da7975e4 Network: use capitalization 2014-06-17 21:08:28 +10:00
Daniel Cousens
553ade1208 network: always use lowercase 2014-06-14 00:39:25 +10:00
Daniel Cousens
7e5af52cd1 Transaction: mass rename from SPK/SS to Input/Output
I think it is important we maintain some reasoning that an Input script
is actually a script signature, but in the end, these names are more
coherent and understandable when reasoning with our code.  So I think
its OK we break tradition with bitcoind.
2014-06-13 11:36:31 +10:00
Daniel Cousens
41c3b68293 templates: rename to scripts 2014-06-13 10:52:07 +10:00
Daniel Cousens
be29f50457 Address: fix consistent casing 2014-06-13 10:52:07 +10:00
Daniel Cousens
00cec9ce64 Script: move all templates to templates.js 2014-06-13 10:52:07 +10:00
Daniel Cousens
d39662e375 Base58check: no longer encodes version separately 2014-06-04 15:23:37 +10:00
Daniel Cousens
61c57adbf8 Address: Expected T, got PARAM for Buffer assertion 2014-05-31 15:05:33 +10:00
Daniel Cousens
8514bbfabd Address: remove Address.Error
By removing Address.Error, we remove a code smell.
This part of the code base was also not under any form of test.
Test data and tests have therefore been added verifying its behaviour in
both Wallet and Address tests.
2014-05-28 13:17:07 +10:00
Daniel Cousens
342c55c864 Address: remove circular dependency fix
This is no longer a problem.
2014-05-09 12:26:38 +10:00
Daniel Cousens
48e15b587a Address: remove redundant comments 2014-05-09 12:25:24 +10:00
Daniel Cousens
4207a0df99 Address: use Address.Error instead
This change is necessary for instanceof comparison when attempting to
rethrow.  Callbacks may be a better solution to introduce later.
2014-05-08 10:59:58 +10:00
Daniel Cousens
5e0d38ba54 Address: add Address.*ScriptPubKey and tests
The introduction of these two functions allow for the all the network
related code to be eventually removed from Transaction and Script.

Previously the result for non-standard transactions was undefined
behaviour.  This change mandates that an exception is thrown if a
non-standard transaction is input.
2014-05-08 10:59:58 +10:00
Daniel Cousens
74e53b49a5 Script/Transaction: remove untested functions
These functions are not under test, and are unnecessary bloat due to a
confusing API.

Script.from*(asmStr) were two functions that attempted to parse ASM
codes and produce a script from this.
While useful, an parser can be introduced later under a single function
and under test... removed.

Although Script.extractPublicKeys implementation is likely to be correct,
it is not absolute in that what it returns is even strictly a set of
public keys.
It is a useful function, but can be done in a better way later,
probably checking against the Script templates instead.

Transaction.signWithKeys has some inherent undocumented behaviour, and it is not
clear when you would use it over just Transaction.addOutput and
Transaction.sign individually.  Nor does it mimic anything in the
bitcoind API... removed.
2014-05-08 10:59:58 +10:00
Daniel Cousens
1d1306b054 Removes Address.fromPubKey and improves test vectors 2014-04-20 04:38:33 +10:00
Daniel Cousens
eae613d244 Adds error messages and better version checking 2014-04-18 17:12:29 +10:00
Daniel Cousens
682ec133bb Migrates Address to stricter API subset 2014-04-18 17:12:29 +10:00
Daniel Cousens
f047afef2d Updates network.js constant names 2014-04-17 05:50:59 +10:00
Daniel Cousens
a4c2cc6dd4 Removes pointless error utility function 2014-04-08 21:53:47 +10:00
Daniel Cousens
6fa0c07763 Changes existing code to use new base58 API 2014-04-04 05:10:12 +11:00
Wei Lu
93fe1b4c78 cosmetic standardization
[closes #56]
2014-03-31 11:47:47 +08:00
lms
98aeb47c6f cleaned up address.js 2014-03-27 23:11:04 +01:00
Daniel Cousens
b40374e332 Changes to new version-less ECKey API 2014-03-22 19:12:26 +11:00
Wei Lu
3d6b66e811 move convert methods from util to convert 2014-03-11 09:52:48 +08:00
Wei Lu
a281a5ab53 migrate crypto-js to 3.1.2 2014-03-09 09:49:24 +08:00