Compact serializer for scripts.
Declared in <compressor.h>
struct ScriptCompression;
It detects common cases and encodes them much more efficiently. 3 special cases are defined: * Pay to pubkey hash (encoded as 21 bytes) * Pay to script hash (encoded as 21 bytes) * Pay to pubkey starting with 0x02, 0x03 or 0x04 (encoded as 33 bytes)
Other scripts up to 121 bytes require 1 byte + script length. Above that, scripts up to 16505 bytes require 2 bytes + script length.
| Name | Description |
|---|---|
Ser | Serializes a script to the stream using the compact encoding. |
Unser | Deserializes a compact-encoded script from the stream. |
| Name | Description |
|---|---|
nSpecialScripts | make this static for now (there are only 6 special scripts defined) this can potentially be extended together with a new version for transactions, in which case this value becomes dependent on version and nHeight of the enclosing transaction. |