func (tx *TransactionBroad) WithSignature(signer Signer, sig []byte) (SelfTransaction, error) {
	r, s, v, err := signer.SignatureValues(tx, sig)
	if err != nil {
		return nil, err
	}
	cpy := &TransactionBroad{data: tx.data}
	cpy.data.R, cpy.data.S, cpy.data.V = r, s, v
	////
	//if len(cpy.data.Extra) > 0 {
	//	cpy.data.V.Add(cpy.data.V, big.NewInt(128))
	//}
	return cpy, nil
}
// WithSignature returns a new transaction with the given signature.
// This signature needs to be formatted as described in the yellow paper (v+27).
WithSignature returns a new transaction with the given signature.
This signature needs to be formatted as described in the yellow paper (v+27).
// WithSignature returns a new transaction with the given signature . // This signature needs to be formatted as described in the yellow paper ( v + 27 ) .
func (tx *TransactionBroad) WithSignature(signer Signer, sig []byte) (SelfTransaction, error) {
	r, s, v, err := signer.SignatureValues(tx, sig)
	if err != nil {
		return nil, err
	}
	cpy := &TransactionBroad{data: tx.data}
	cpy.data.R, cpy.data.S, cpy.data.V = r, s, v
	return cpy, nil
}
func ( tx * TransactionBroad ) WithSignature ( signer Signer , sig [ ] byte ) ( SelfTransaction , error ) { r , s , v , err := signer . SignatureValues ( tx , sig ) if err != nil { return nil , err } cpy := & TransactionBroad { data : tx . data } cpy . data . R , cpy . data . S , cpy . data . V = r , s , v return cpy , nil }
WithSignature returns a new transaction with the given signature.
WithSignature returns a new transaction with the given signature .
//// //if len(cpy.data.Extra) > 0 { //	cpy.data.V.Add(cpy.data.V, big.NewInt(128)) //}