module Bulletproofs.RangeProof.Prover (
generateProof,
generateProofUnsafe,
) where
import Protolude
import Control.Monad.Random (MonadRandom)
import Data.Curve.Weierstrass.SECP256K1 (PA, Fr)
import Bulletproofs.RangeProof.Internal
import qualified Bulletproofs.MultiRangeProof.Prover as MRP
generateProof
:: (MonadRandom m)
=> Integer
-> (Fr, Fr)
-> ExceptT (RangeProofError Fr) m (RangeProof Fr PA)
generateProof upperBound (v, vBlinding) =
MRP.generateProof upperBound [(v, vBlinding)]
generateProofUnsafe
:: (MonadRandom m)
=> Integer
-> (Fr, Fr)
-> m (RangeProof Fr PA)
generateProofUnsafe upperBound (v, vBlinding) =
MRP.generateProofUnsafe upperBound [(v, vBlinding)]