# Module BSV::Transaction::Sighash <a id="module-BSV-Transaction-Sighash"></a>

Sighash type constants for BIP-143 transaction signing.

BSV requires the `FORK_ID` flag (0x40) on all sighash types. The pre-combined
constants (e.g. `ALL_FORK_ID`) are the most common values used when signing
transactions.

## Constants
### `ALL` <a id="constant-ALL"></a> <a id="ALL-constant"></a>
Sign all inputs and all outputs.

### `ALL_FORK_ID` <a id="constant-ALL_FORK_ID"></a> <a id="ALL_FORK_ID-constant"></a>
SIGHASH_ALL with FORKID — the default sighash type.

### `ALL_FORK_ID_ANYONE_CAN_PAY` <a id="constant-ALL_FORK_ID_ANYONE_CAN_PAY"></a> <a id="ALL_FORK_ID_ANYONE_CAN_PAY-constant"></a>
SIGHASH_ALL | ANYONE_CAN_PAY with FORKID.

### `ANYONE_CAN_PAY` <a id="constant-ANYONE_CAN_PAY"></a> <a id="ANYONE_CAN_PAY-constant"></a>
Sign only this input (others can be added/removed).

### `FORK_ID` <a id="constant-FORK_ID"></a> <a id="FORK_ID-constant"></a>
BSV fork ID flag (required on all BSV signatures).

### `MASK` <a id="constant-MASK"></a> <a id="MASK-constant"></a>
Mask for extracting the base sighash type (ALL/NONE/SINGLE).

### `NONE` <a id="constant-NONE"></a> <a id="NONE-constant"></a>
Sign all inputs, no outputs (outputs can be modified).

### `NONE_FORK_ID` <a id="constant-NONE_FORK_ID"></a> <a id="NONE_FORK_ID-constant"></a>
SIGHASH_NONE with FORKID.

### `NONE_FORK_ID_ANYONE_CAN_PAY` <a id="constant-NONE_FORK_ID_ANYONE_CAN_PAY"></a> <a id="NONE_FORK_ID_ANYONE_CAN_PAY-constant"></a>
SIGHASH_NONE | ANYONE_CAN_PAY with FORKID.

### `SINGLE` <a id="constant-SINGLE"></a> <a id="SINGLE-constant"></a>
Sign all inputs and only the output at the same index.

### `SINGLE_FORK_ID` <a id="constant-SINGLE_FORK_ID"></a> <a id="SINGLE_FORK_ID-constant"></a>
SIGHASH_SINGLE with FORKID.

### `SINGLE_FORK_ID_ANYONE_CAN_PAY` <a id="constant-SINGLE_FORK_ID_ANYONE_CAN_PAY"></a> <a id="SINGLE_FORK_ID_ANYONE_CAN_PAY-constant"></a>
SIGHASH_SINGLE | ANYONE_CAN_PAY with FORKID.
