Christopher Jeffrey
3ea8aec007
hsk: use blake2 for addr hashes.
2018-03-11 18:16:46 -07:00
Christopher Jeffrey
16247a8451
covenants: include old revocation system.
2018-03-11 17:46:38 -07:00
Christopher Jeffrey
d1a6e7a666
script: switch back to bitcoin opcodes for better cross-chain.
2018-03-02 20:14:43 -08:00
Christopher Jeffrey
e8c2337fbe
hsk: update copyright.
2018-02-01 13:40:45 -08:00
Christopher Jeffrey
c090793e79
hsk: rename to hsk.
2018-02-01 13:28:31 -08:00
Christopher Jeffrey
0c32c6cb32
primitives: add covenants.
2018-01-05 01:22:32 -08:00
Christopher Jeffrey
ba144845ca
pkg: update bcrypto.
2018-01-04 14:33:39 -08:00
Christopher Jeffrey
63551fa858
hsk: switch to hash256 for p2sh.
2018-01-03 19:23:04 -08:00
Christopher Jeffrey
09e56d6144
hsk: use 64 byte signatures everywhere.
2018-01-03 18:58:48 -08:00
Christopher Jeffrey
6e0d489aec
handshake: finish cleaning up bitcoin.
2018-01-02 20:24:56 -08:00
Christopher Jeffrey
c9c7baaff0
handshake: initial work.
2017-12-31 16:46:13 -08:00
Christopher Jeffrey
01abb3d667
types: cleanup types.
2017-12-30 03:49:28 -08:00
Christopher Jeffrey
385840554c
script: remove useless vars.
2017-12-29 15:51:29 -08:00
Christopher Jeffrey
d042462870
script/address: fix addr checking for nested p2sh inputs.
2017-12-20 09:52:57 -08:00
Christopher Jeffrey
0e4d32f41b
bcoin: use util.revHex again.
2017-11-17 00:00:36 -08:00
Christopher Jeffrey
0ea7043045
script: remove mast.
2017-11-16 20:51:10 -08:00
Christopher Jeffrey
126e5fe416
bcoin: lint.
2017-11-16 20:44:04 -08:00
Christopher Jeffrey
064bafd5c4
script: classify.
2017-11-16 18:44:38 -08:00
Christopher Jeffrey
c60b8ea125
refactor: switch to bio module.
2017-11-16 11:43:24 -08:00
Christopher Jeffrey
1b39abe157
bcoin: rename bufio and bstring.
2017-11-15 09:02:44 -08:00
Christopher Jeffrey
9a19cdb24d
crypto: start using hash.digest().
2017-11-01 15:41:32 -07:00
Christopher Jeffrey
3ecc9829e3
utils: start using bbuf.
2017-10-30 21:29:49 -07:00
Christopher Jeffrey
7f170f377a
utils: start using bfilter.
2017-10-30 21:22:31 -07:00
Christopher Jeffrey
d6fb654dad
bcoin: remove dependence on util.js.
2017-10-26 04:07:48 -07:00
Christopher Jeffrey
5ca5cd5a96
script: do not use util.reverse.
2017-10-25 23:55:38 -07:00
Christopher Jeffrey
71182864e7
bcoin: use bcrypto. remove crypto module.
2017-10-25 21:21:39 -07:00
Christopher Jeffrey
55f594d616
stack: remove useless checks.
2017-09-01 18:05:26 -07:00
Christopher Jeffrey
b87f557823
tx/script/chain: refactor locktime handling.
2017-08-27 19:07:57 -07:00
Christopher Jeffrey
140eece7dd
script: improve perf of getScripthash.
2017-08-25 20:54:56 -07:00
Christopher Jeffrey
49154be76d
script: refactor opcode and optimize.
2017-08-25 18:54:51 -07:00
Christopher Jeffrey
5fae0c50a1
script: enforce stack size on unexecuted branches.
...
This primarily only affects zero-length scripts. An input script which pushed
this many items onto the stack without failing _is not possible_, but with
segwit, it is possible. However, a witness program would fail due to cleanstack
before there would be any kind of consensus fault. In other words, without this
fix, we still remain in consensus with bitcoin core, but ideally we should want
to fail for the same reason.
2017-08-25 08:08:47 -07:00
Christopher Jeffrey
7145d21c9c
script: improve isCode.
2017-08-24 23:47:22 -07:00
Christopher Jeffrey
47eb484657
script: include opcode and instruction pointer in stack size errors.
2017-08-24 23:13:31 -07:00
Christopher Jeffrey
13892b3b38
encoding: rename written to offset.
2017-08-24 22:36:59 -07:00
Christopher Jeffrey
22a879f154
opcode: fix uncatchable error on .equals().
2017-08-24 22:24:39 -07:00
Christopher Jeffrey
af132c8818
opcode: handle OP_1NEGATE in opcode.toNum.
2017-08-24 18:22:45 -07:00
Christopher Jeffrey
d6ce66bce9
script: refactor script and stack mutation.
...
This allows more reasonable signing behavior and eliminates all polymorphism.
2017-08-24 17:34:20 -07:00
Christopher Jeffrey
a6b2c23a41
script: start using scriptnum implementation.
2017-08-20 15:13:17 -07:00
Christopher Jeffrey
1b0ae3ca79
refactor: use defineProperty instead of __define[GS]etter__.
2017-08-20 15:10:58 -07:00
Christopher Jeffrey
6c8c18f2a0
opcode: improve perf of opcode.from methods.
2017-08-20 12:52:35 -07:00
Christopher Jeffrey
2647d011dc
opcode: experiment with using cached opcodes.
2017-08-19 23:14:30 -07:00
Christopher Jeffrey
5047028511
script: stop using new Opcode.
2017-08-19 23:14:18 -07:00
Christopher Jeffrey
a47d68024a
scriptnum: improve encoding.
2017-08-17 09:59:17 -07:00
Christopher Jeffrey
a91bd5c958
script: improve new scriptnum.
2017-08-16 20:36:09 -07:00
Christopher Jeffrey
772025a4a1
script: a better scriptnum implementation.
2017-08-16 15:33:44 -07:00
Christopher Jeffrey
e7bc53c995
test: refactor script and tx test parsing.
2017-08-11 00:07:48 -07:00
Christopher Jeffrey
6c96a8e6ba
script: lint.
2017-08-10 23:37:42 -07:00
Christopher Jeffrey
87e3ee1971
script: do not use return values for script.execute and Script.verify.
2017-08-10 09:41:01 -07:00
Christopher Jeffrey
edebc51d18
primitives: use equals instead of equal for consistency.
2017-08-09 15:25:01 -07:00
Christopher Jeffrey
62152a1005
util: remove util.inherits. inline inheritance.
2017-08-06 19:45:10 -07:00