TomZ
916cb9b5d7
Start sigCheck implementation; actually count them.
...
Update Script::State to add a sigCheckCount counter.
2020-04-12 18:08:51 +02:00
TomZ
e101591f1a
Refactor ScriptEval/ScriptVerify calls
...
Feeling cute, may update this API later.
namespace Script {
struct State {
State() = default;
State(uint32_t flags) : flags(flags) {}
uint32_t flags = SCRIPT_VERIFY_NONE; // validation flags
ScriptError error = SCRIPT_ERR_OK;
const char* errorString() const;
};
bool eval(std::vector<std::vector<unsigned char> > &stack, const CScript
&script, const BaseSignatureChecker checker, Script::State &state);
bool verify(const CScript& scriptSig, const CScript& scriptPubKey, const
BaseSignatureChecker& checker, Script::State &state);
bool checkTransactionSignatureEncoding(const std::vector<unsigned char>
&vchSig, State &state);
}
More of the same.
2020-04-12 18:08:09 +02:00
TomZ
414bee9e9f
Implementation of OP_REVERSEBYTES
...
Previously named OP_REVERSE, then OP_BSWAP, then OP_ENDIAN_REVERSE.
2020-04-10 15:17:18 +02:00
TomZ
dae5ce3a6b
Fixes and comments in the new MultiSig code
2019-10-14 19:24:19 +02:00
TomZ
2e600dfe7f
Import Schnorr multisig code
2019-10-14 19:22:27 +02:00
TomZ
71f0dcf942
Fixlets
...
Add 'override' keyword on various places.
Make test output a more readable should it fail.
2019-10-10 19:20:04 +02:00
TomZ
da199a5cf7
Port https://github.com/bitcoin/bitcoin/pull/12460
...
Assert CPubKey::ValidLength to the pubkey's header-relevant size
Original author: Marco Falke
2019-10-10 15:13:34 +02:00
TomZ
1f33f9c6bc
Remove various warnings
2019-10-08 14:24:22 +02:00
TomZ
80f27ee26d
Make CheckMinimalPush exposed and unit test it.
2019-10-08 14:24:22 +02:00
TomZ
220684c8fc
Support SCHNORR on OP_CDS
...
Schnorr signatures are also allowd on OP_CheckDataSig
2019-08-05 12:50:00 +02:00
TomZ
449f91f46d
Move solver method to utils lib
...
The code that detects standard script-types is now available as a
library function, renamed to live in a namespace;
Script::solver()
2019-06-06 22:21:46 +02:00
TomZ
6a8313252d
Merge branch '2019.04'
2019-05-15 20:45:18 +02:00
TomZ
4addb23158
Fix off-by-one
...
This is rather embarrasing, but I have to ask why fully synching the
testnet created precisely for this fork (to the same height as the
explorers) didn't fail. Did it not have any schnorr signatures? Otherwise
this bug would have shown. What good is a testnet then?
2019-05-15 20:17:55 +02:00
TomZ
8e191f6fd5
Implement some TODOs in blockvalidation
2019-04-28 23:02:58 +02:00
TomZ
b41e2795e7
Add Schnorr support
2019-04-19 17:30:59 +02:00
TomZ
86a59c067d
Add support for the 'segwit recovery'
2019-04-19 17:30:56 +02:00
TomZ
e2c735d6b8
Fix includes
2019-04-01 10:57:04 +02:00
TomZ
43fa503126
[Minor] Fix grammar of comment.
2019-03-13 22:43:25 +01:00
TomZ
557c2000f2
Move CKey to live in utils as well
2019-03-13 22:43:25 +01:00
TomZ
cfe690320d
Move various standalone simple classes into utils
...
The 'server' library has always been a catch-all and
ideally only the hub links it in (far future goal).
In line with this I move a list of files out of server
into the utils lib.
I choose 'utils' because all these are plain old data
objects that many crypto apps will find useful.
now in utils/primitives/
* CScript
* CPubKey
* CTransaction
* CBlock
* FastTransaction
* FastBlock
* CScript
streams.h is now in utils/streaming/
hash.h is now in utils/
2019-03-11 15:40:42 +01:00
TomZ
929491828f
Move code to delay checks not relevant
2019-03-03 20:01:34 +01:00
TomZ
71b45cd38c
Merge branch 'dev/HFNov2018'
2018-11-15 23:40:56 +01:00
TomZ
97c0239f1e
Provide proper documentation to this method
2018-11-13 14:30:12 +01:00
TomZ
2ef243a43a
Add more basic support for the novHF
...
this adds sigop counting for the new opcodes and
flags enabling based on block-height.
2018-11-08 17:37:22 +01:00
TomZ
695044ffc0
Import new OP_CHECKDATASIG/VERIFY
2018-11-08 10:48:53 +01:00
DesWurstes
20ea0c1156
Add tests
...
https://github.com/bitcoin/bitcoin/pull/9480 and https://github.com/bitcoin/bitcoin/pull/10128 but doesn't have the newest tests
2018-08-11 12:57:33 +03:00
DesWurstes
f61e8f698e
Add CuckooCache
...
100% of code from https://github.com/bitcoin/bitcoin/pull/8895/commits/c9e69fb
2018-08-10 11:05:22 +03:00
TomZ
062ef05a77
May Hardfork; import opcodes changes.
2018-04-16 14:42:35 +02:00
TomZ
14bf96aa3c
Start libs/server
2018-02-13 13:27:58 +01:00