| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Bulletproofs.MultiRangeProof
Synopsis
- data RangeProof f = RangeProof {}
- data RangeProofError f
- generateProof :: (KnownNat p, MonadRandom m) => Integer -> [(PrimeField p, PrimeField p)] -> ExceptT (RangeProofError (PrimeField p)) m (RangeProof (PrimeField p))
- generateProofUnsafe :: forall p m. (KnownNat p, MonadRandom m) => Integer -> [(PrimeField p, PrimeField p)] -> m (RangeProof (PrimeField p))
- verifyProof :: KnownNat p => Integer -> [Point] -> RangeProof (PrimeField p) -> Bool
Documentation
data RangeProof f Source #
Constructors
| RangeProof | |
Fields
| |
Instances
data RangeProofError f Source #
Constructors
| UpperBoundTooLarge Integer | The upper bound of the range is too large |
| ValueNotInRange f | Value is not within the range required |
| ValuesNotInRange [f] | Values are not within the range required |
| NNotPowerOf2 Integer | Dimension n is required to be a power of 2 |
Instances
Arguments
| :: (KnownNat p, MonadRandom m) | |
| => Integer | Upper bound of the range we want to prove |
| -> [(PrimeField p, PrimeField p)] | Values we want to prove in range and their blinding factors |
| -> ExceptT (RangeProofError (PrimeField p)) m (RangeProof (PrimeField p)) |
Prove that a list of values lies in a specific range
Arguments
| :: (KnownNat p, MonadRandom m) | |
| => Integer | Upper bound of the range we want to prove |
| -> [(PrimeField p, PrimeField p)] | Values we want to prove in range and their blinding factors |
| -> m (RangeProof (PrimeField p)) |
Generate range proof from valid inputs
Arguments
| :: KnownNat p | |
| => Integer | Range upper bound |
| -> [Point] | Commitments of in-range values |
| -> RangeProof (PrimeField p) | Proof that a secret committed value lies in a certain interval |
| -> Bool |
Verify that a commitment was computed from a value in a given range