func addScalars(a []byte, b []byte) []byte {
	aInt := new(big.Int).SetBytes(a)
	bInt := new(big.Int).SetBytes(b)
	sInt := new(big.Int).Add(aInt, bInt)
	x := sInt.Mod(sInt, btcec.S256().N).Bytes()
	x2 := [32]byte{}
	copy(x2[32-len(x):], x)
	return x2[:]
}
func addScalars(a []byte, b []byte) []byte {
	aInt := new(big.Int).SetBytes(a)
	bInt := new(big.Int).SetBytes(b)
	sInt := new(big.Int).Add(aInt, bInt)
	x := sInt.Mod(sInt, btcec.S256().N).Bytes()
	x2 := [32]byte{}
	copy(x2[32-len(x):], x)
	return x2[:]
}
func addScalars ( a [ ] byte , b [ ] byte ) [ ] byte { aInt := new ( big . Int ) . SetBytes ( a ) bInt := new ( big . Int ) . SetBytes ( b ) sInt := new ( big . Int ) . Add ( aInt , bInt ) x := sInt . Mod ( sInt , btcec . S256 ( ) . N ) . Bytes ( ) x2 := [ 32 ] byte { } copy ( x2 [ 32 - len ( x ) : ] , x ) return x2 [ : ] }
// modular big endian addition
modular big endian addition