Documentation
¶
Index ¶
- Constants
- Variables
- type IdemixIssuerPublicKey
- type PublicParams
- func NewPublicParamsFromBytes(raw []byte, driverName driver.TokenDriverName, ...) (*PublicParams, error)
- func NewWith(driverName driver.TokenDriverName, driverVersion driver.TokenDriverVersion, ...) (*PublicParams, error)
- func Setup(bitLength uint64, idemixIssuerPK []byte, idemixCurveID mathlib.CurveID) (*PublicParams, error)
- func (p *PublicParams) AddAuditor(auditor driver.Identity)
- func (p *PublicParams) AddIssuer(id driver.Identity)
- func (p *PublicParams) Auditors() []driver.Identity
- func (p *PublicParams) Bytes() ([]byte, error)
- func (p *PublicParams) CertificationDriver() string
- func (p *PublicParams) ComputeHash() ([]byte, error)
- func (p *PublicParams) ComputeMaxTokenValue() uint64
- func (p *PublicParams) Deserialize(raw []byte) error
- func (p *PublicParams) GeneratePedersenParameters() error
- func (p *PublicParams) GenerateRangeProofParameters(bitLength uint64) error
- func (p *PublicParams) GraphHiding() bool
- func (p *PublicParams) Issuers() []driver.Identity
- func (p *PublicParams) MaxTokenValue() uint64
- func (p *PublicParams) Precision() uint64
- func (p *PublicParams) Serialize() ([]byte, error)
- func (p *PublicParams) SetAuditors(ids []driver.Identity)
- func (p *PublicParams) SetIssuers(ids []driver.Identity)
- func (p *PublicParams) String() string
- func (p *PublicParams) TokenDataHiding() bool
- func (p *PublicParams) TokenDriverName() driver.TokenDriverName
- func (p *PublicParams) TokenDriverVersion() driver.TokenDriverVersion
- func (p *PublicParams) Validate() error
- type RangeProofParams
Constants ¶
View Source
const ( DLogIdentifier = "zkatdlog" ProtocolV1 = 1 )
Variables ¶
View Source
var (
SupportedPrecisions = []uint64{16, 32, 64}
)
Functions ¶
This section is empty.
Types ¶
type IdemixIssuerPublicKey ¶
func (*IdemixIssuerPublicKey) FromProtos ¶
func (i *IdemixIssuerPublicKey) FromProtos(s *pp.IdemixIssuerPublicKey) error
func (*IdemixIssuerPublicKey) ToProtos ¶
func (i *IdemixIssuerPublicKey) ToProtos() (*pp.IdemixIssuerPublicKey, error)
type PublicParams ¶
type PublicParams struct {
// DriverName is the name of token driver this public params refer to.
DriverName driver.TokenDriverName
// DriverVersion is the version of token driver this public params refer to.
DriverVersion driver.TokenDriverVersion
// Curve is the pairing-friendly elliptic curve used for everything but Idemix.
Curve mathlib.CurveID
// PedersenGenerators contains the public parameters for the Pedersen commitment scheme.
PedersenGenerators []*mathlib.G1
// RangeProofParams contains the public parameters for the range proof scheme.
RangeProofParams *RangeProofParams
// IdemixIssuerPublicKeys contains the idemix issuer public keys
// Wallets should prefer the use of keys valid under the public key whose index in the array is the smallest.
IdemixIssuerPublicKeys []*IdemixIssuerPublicKey
// Auditors is a list of the public keys of the auditor(s).
AuditorIDs []driver.Identity
// IssuerIDs is a list of public keys of the entities that can issue tokens.
IssuerIDs []driver.Identity
// MaxToken is the maximum quantity a token can hold
MaxToken uint64
// QuantityPrecision is the precision used to represent quantities
QuantityPrecision uint64
}
func NewPublicParamsFromBytes ¶
func NewPublicParamsFromBytes( raw []byte, driverName driver.TokenDriverName, driverVersion driver.TokenDriverVersion, ) (*PublicParams, error)
func NewWith ¶
func NewWith(driverName driver.TokenDriverName, driverVersion driver.TokenDriverVersion, bitLength uint64, idemixIssuerPK []byte, idemixCurveID mathlib.CurveID) (*PublicParams, error)
func (*PublicParams) AddAuditor ¶
func (p *PublicParams) AddAuditor(auditor driver.Identity)
func (*PublicParams) AddIssuer ¶
func (p *PublicParams) AddIssuer(id driver.Identity)
func (*PublicParams) Auditors ¶
func (p *PublicParams) Auditors() []driver.Identity
func (*PublicParams) Bytes ¶
func (p *PublicParams) Bytes() ([]byte, error)
func (*PublicParams) CertificationDriver ¶
func (p *PublicParams) CertificationDriver() string
func (*PublicParams) ComputeHash ¶
func (p *PublicParams) ComputeHash() ([]byte, error)
func (*PublicParams) ComputeMaxTokenValue ¶
func (p *PublicParams) ComputeMaxTokenValue() uint64
func (*PublicParams) Deserialize ¶
func (p *PublicParams) Deserialize(raw []byte) error
func (*PublicParams) GeneratePedersenParameters ¶
func (p *PublicParams) GeneratePedersenParameters() error
func (*PublicParams) GenerateRangeProofParameters ¶
func (p *PublicParams) GenerateRangeProofParameters(bitLength uint64) error
func (*PublicParams) GraphHiding ¶
func (p *PublicParams) GraphHiding() bool
func (*PublicParams) Issuers ¶
func (p *PublicParams) Issuers() []driver.Identity
Issuers returns the list of authorized issuers
func (*PublicParams) MaxTokenValue ¶
func (p *PublicParams) MaxTokenValue() uint64
func (*PublicParams) Precision ¶
func (p *PublicParams) Precision() uint64
func (*PublicParams) Serialize ¶
func (p *PublicParams) Serialize() ([]byte, error)
func (*PublicParams) SetAuditors ¶
func (p *PublicParams) SetAuditors(ids []driver.Identity)
SetAuditors sets the auditors to the passed identities
func (*PublicParams) SetIssuers ¶
func (p *PublicParams) SetIssuers(ids []driver.Identity)
SetIssuers sets the issuers to the passed identities
func (*PublicParams) String ¶
func (p *PublicParams) String() string
func (*PublicParams) TokenDataHiding ¶
func (p *PublicParams) TokenDataHiding() bool
func (*PublicParams) TokenDriverName ¶
func (p *PublicParams) TokenDriverName() driver.TokenDriverName
func (*PublicParams) TokenDriverVersion ¶
func (p *PublicParams) TokenDriverVersion() driver.TokenDriverVersion
func (*PublicParams) Validate ¶
func (p *PublicParams) Validate() error
type RangeProofParams ¶
type RangeProofParams struct {
LeftGenerators []*mathlib.G1
RightGenerators []*mathlib.G1
P *mathlib.G1
Q *mathlib.G1
BitLength uint64
NumberOfRounds uint64
}
func (*RangeProofParams) FromProto ¶
func (rpp *RangeProofParams) FromProto(params *pp.RangeProofParams) error
func (*RangeProofParams) ToProtos ¶
func (rpp *RangeProofParams) ToProtos() (*pp.RangeProofParams, error)
Click to show internal directories.
Click to hide internal directories.