Yemel Jardi
d369154162
Script: remember network when creating from address or pubkey
10 years ago
Yemel Jardi
9deec5e1c2
Use defaultNetwork in Script.toAddress
10 years ago
Esteban Ordano
ffca4cfb6f
Fixes Script test case for coverage and style
10 years ago
Esteban Ordano
d688222769
Add toAddress(network) functionality to scripts
10 years ago
Esteban Ordano
dc92bdd474
Add getData functionality to script
10 years ago
Manuel Araoz
3dd86446e0
add Interpreter docs and refactor a bit
10 years ago
Manuel Araoz
3eba0bc546
address review comments
10 years ago
Manuel Araoz
7f0a2dc050
add Script#checkMinimalPush tests
10 years ago
Manuel Araoz
c888c3baa7
adding some signature methods for script interpreting
10 years ago
Manuel Araoz
3de71f8558
refactors and fixes for script interpreter
10 years ago
Manuel Araoz
f5b7f73d09
fixing tests for new script internals 2
10 years ago
Manuel Araoz
016bc6e3ed
fixing tests for new script internals
10 years ago
Manuel Araoz
c085f166b4
add sorting to Script#buildMutlisigOut()
10 years ago
Manuel Araoz
ec464681fe
add sorting to Script#buildMutlisigOut()
10 years ago
Manuel Araoz
63bc625c33
add Script#removeCodeSeparators tests
10 years ago
Manuel Araoz
b61bd6f76a
add Script#isPushOnly()
10 years ago
Manuel Araoz
ec00ccba4c
add script public key hash in tests
10 years ago
Manuel Araoz
f231f8a054
fix a browser test 2
10 years ago
Manuel Araoz
6c5198b743
fix a browser test
10 years ago
Manuel Araoz
eaaab5c7d0
implement Script.buildScriptHashOut()
10 years ago
Manuel Araoz
4bca5316ea
implement Script.buildDDataOut()
10 years ago
Manuel Araoz
b87e687fd9
implement Script.buildPublicKeyHashOut()
10 years ago
Manuel Araoz
4fae69807d
change isOpReturn to isDataOut
10 years ago
Manuel Araoz
d05aa27bed
finish all tests
10 years ago
Manuel Araoz
ef8f1eabd2
add script.isStandard()
10 years ago
Manuel Araoz
883a7cae54
add unkown script test
10 years ago
Manuel Araoz
c4cc6ba56d
fix tests with new script api
10 years ago
Manuel Araoz
87c40193b9
add pubkey in pubkey out script types
10 years ago
Manuel Araoz
901d55d129
fix classify tests
10 years ago
Manuel Araoz
7d9151abc6
fix classify tests
10 years ago
Manuel Araoz
9d6ff4dc44
add classify tests
10 years ago
Manuel Araoz
293a3299d4
add classify tests
10 years ago
Manuel Araoz
72b5dcc6af
add Script.isMultisigIn
10 years ago
Manuel Araoz
96e1451d28
add script.isMultisigOut
10 years ago
Manuel Araoz
4a6755d0d1
add Script#prepend()
10 years ago
Manuel Araoz
66e96e5fa4
make tests pass with Script refactor
10 years ago
Esteban Ordano
4b201a8db1
Replace grunt with gulp
10 years ago
Braydon Fuller
85ce140aeb
Keys: Renamed Privkey to PrivateKey and Pubkey to PublicKey
10 years ago
Manuel Araoz
778977449a
fix tests for script
10 years ago
Ryan X. Charles
b37e39abca
Script().writeXX convenience methods
Script().writeOp('OP_CHECKMULTISIG'), or...
Script().writeOp(174), or...
Script().writeBuffer([push data buffer]), or...
Script().write([op string, number, or push data buffer])
These convenience methods let you easily write a script.
10 years ago
Ryan X. Charles
792e8080c8
classify pubkeyhash and scripthash scripts
...both the "in" (ScriptSig) and "out" (ScriptPubkey)
10 years ago
Ryan X. Charles
27fbdb42ad
isOpReturn
standard OP_RETURN scripts contain either just an OP_RETURN or an OP_RETURN
followed by a single pushdata OP with not more than 40 bytes.
10 years ago
Ryan X. Charles
e11019a083
toJSON, fromJSON
Every object should have toJSON and fromJSON methods so you can have a reliable
way to store and retrieve objects.
10 years ago
Ryan X. Charles
3b2b725070
Script().fromString(str)
...the format of fromString and toString are deliberately not compatible with
bitcoind. The format here is supposed to be both human-readable, and
byte-for-byte isomorphic to the binary representation. In the future we will
need to add support for bitcoind-like strings, both for the test data (e.g.,
script_invalid.json) or for the bitcoind console style.
11 years ago
Ryan X. Charles
6375941ef8
script.toString()
11 years ago
Ryan X. Charles
e6af57f4fa
script.toBuffer();
11 years ago
Ryan X. Charles
378dc923ef
preserve claimed length and op code
When parsing OP_PUSHDATAX commands, the the length of data might not require
the size integer of OP_PUSHDATAX. For instance, you might write 1 byte, and yet
use OP_PUSHDATA4. We need to record which OP_PUSHDATAX was used so that when we
write the buffer back out, we can write the same one. Also, the claimed length
may be different. For instance, we may OP_PUSHDATA of length 100 to the stack,
but there may only be 50 bytes left in the script. In that case, buf.length and
chunk.len will be different. I'm not sure if that would be considered a valid
script, but in any case, for script analysis, we need both values.
11 years ago
Ryan X. Charles
e3aa93614e
one more test to make sure things are working
11 years ago
Ryan X. Charles
697b3e5009
Script().fromBuffer(buf)
...code heavily inspired/copied from bitcore
11 years ago
Ryan X. Charles
8b3ad7ac85
read a buffer, like slicing while iterating pos
11 years ago