Behaviour for transaction signing templates.
Summary
Callbacks
@callback estimate_length( template :: any(), tx :: BSV.Transaction.t(), input_index :: non_neg_integer() ) :: non_neg_integer()
@callback sign( template :: any(), tx :: BSV.Transaction.t(), input_index :: non_neg_integer() ) :: {:ok, BSV.Script.t()} | {:error, term()}