Versions in this module Expand all Collapse all v0 v0.0.2 Mar 10, 2025 Changes in this version + type HashHelper struct + func NewHashHelper() *HashHelper + func (c *HashHelper) Add(v ...byter) + func (c *HashHelper) AddBytes(b []byte) + func (c *HashHelper) AddBytesModL(b []byte) + func (c *HashHelper) CalcHash() *edwards25519.Scalar + func (c *HashHelper) CalcHashKeep() *edwards25519.Scalar + func (c *HashHelper) CalcRawHash() []byte v0.0.1 Mar 9, 2025 Changes in this version + var CRYPTO_HDS_CLSAG_GGX_CHALLENGE = []byte("ZANO_HDS_CLSAG_GGX_CHALLENGE___\x00") + var CRYPTO_HDS_CLSAG_GGX_LAYER_0 = []byte("ZANO_HDS_CLSAG_GGX_LAYER_ZERO__\x00") + var CRYPTO_HDS_CLSAG_GGX_LAYER_1 = []byte("ZANO_HDS_CLSAG_GGX_LAYER_ONE___\x00") + var CRYPTO_HDS_CLSAG_GGX_LAYER_2 = []byte("ZANO_HDS_CLSAG_GGX_LAYER_TWO___\x00") + var C_point_0 = precompHelper([10]int64{ ... }, [10]int64{ ... }, [10]int64{ ... }, [10]int64{ ... }) + var C_point_G = precompHelper([10]int64{ ... }, [10]int64{ ... }, [10]int64{ ... }, [10]int64{ ... }) + var C_point_H = precompHelper([10]int64{ ... }, [10]int64{ ... }, [10]int64{ ... }, [10]int64{ ... }) + var C_point_H2 = precompHelper([10]int64{ ... }, [10]int64{ ... }, [10]int64{ ... }, [10]int64{ ... }) + var C_point_H_minus_G = precompHelper([10]int64{ ... }, [10]int64{ ... }, [10]int64{ ... }, [10]int64{ ... }) + var C_point_H_plus_G = precompHelper([10]int64{ ... }, [10]int64{ ... }, [10]int64{ ... }, [10]int64{ ... }) + var C_point_U = precompHelper([10]int64{ ... }, [10]int64{ ... }, [10]int64{ ... }, [10]int64{ ... }) + var C_point_X = precompHelper([10]int64{ ... }, [10]int64{ ... }, [10]int64{ ... }, [10]int64{ ... }) + var FeD = must(FieldFromInt10([10]int64{ ... })) + var FeD2 = must(FieldFromInt10([10]int64{ ... })) + var FeFffb1 = must(FieldFromInt10([10]int64{ ... })) + var FeFffb2 = must(FieldFromInt10([10]int64{ ... })) + var FeFffb3 = must(FieldFromInt10([10]int64{ ... })) + var FeFffb4 = must(FieldFromInt10([10]int64{ ... })) + var FeMa = must(FieldFromInt10([10]int64{ ... })) + var FeMa2 = must(FieldFromInt10([10]int64{ ... })) + var FeSqrtM1 = must(FieldFromInt10([10]int64{ ... })) + var NativeCoinAssetIdPt = C_point_H + var Sc1div8 = initSc([32]byte{ ... }) + var Sc2p64 = initSc([32]byte{ ... }) + var ScLm1 = initSc([32]byte{ ... }) + var ScM1 = new(edwards25519.Scalar).Negate(ScOne) + var ScOne = initSc([32]byte{ ... }) + var ScZero = initSc([32]byte{}) + var SqrtM1 = must(FieldFromInt10([10]int64{ ... })) + var TraitZCout = makeTrait("UGX", 64, 32) + var TraitZarcanum = makeTrait("HGX", 128, 16) + func ChaCha8(key, nonce, in []byte) ([]byte, error) + func ChaCha8GenerateKey(seed []byte) ([]byte, error) + func ComputeKeyImage(spendPriv *edwards25519.Scalar, spendPub *edwards25519.Point) (*edwards25519.Point, error) + func DerivationHint(derivation *edwards25519.Point) uint16 + func DerivePublicKey(derivation []byte, outputIndex uint64, basePublic *edwards25519.Point) (*edwards25519.Point, error) + func DeriveSecretKey(derivation []byte, outputIndex uint64, baseSecret *edwards25519.Scalar) (*edwards25519.Scalar, error) + func FeDivPowM1(u, z, y *field.Element) *field.Element + func FeToBytes[T ~int32 | ~int64](s *[32]byte, h *[10]T) + func FieldFromInt10[T ~int32 | ~int64](f [10]T) (*field.Element, error) + func GenerateCLSAG_GGX(rnd io.Reader, m []byte, ring []CLSAG_GGXInputRef, ki *edwards25519.Point, ...) (*zanobase.CLSAG_Sig, error) + func GenerateDoubleSchnorrSig(rnd io.Reader, gen0, gen1 *edwards25519.Point, m []byte, A *edwards25519.Point, ...) (*zanobase.GenericDoubleSchnorrSig, error) + func GenerateKeyDerivation(pubKey *edwards25519.Point, secKey *edwards25519.Scalar) (*edwards25519.Point, error) + func GenerateKeyScalar() *edwards25519.Scalar + func GenerateVectorUgAggregationProof(rnd io.Reader, contextHash []byte, ...) (*zanobase.UGAggProof, error) + func Generate_BGE_Proof(rnd io.Reader, contextHash []byte, ring []*edwards25519.Point, ...) (*zanobase.BGEProof, error) + func HashToEC(pubBytes []byte) (*edwards25519.Point, error) + func HashToPoint(h []byte) *edwards25519.Point + func HashToScalar(data []byte) *edwards25519.Scalar + func Hp(in []byte) *edwards25519.Point + func HsB(vals ...byter) *edwards25519.Scalar + func PreparePrefixHashForSign(tx *zanobase.Transaction, inIndex int, txId []byte) ([]byte, error) + func PubFromPriv(priv *edwards25519.Scalar) *edwards25519.Point + func RandomScalar(rand io.Reader) *edwards25519.Scalar + func ScalarInt(v uint64) *edwards25519.Scalar + func TraitGetGenerator(select_H bool, index int) *edwards25519.Point + func TraitInitialTranscript() *edwards25519.Scalar + func TraitUpdateTranscript(hsc *clsagHash, e *edwards25519.Scalar, pubKeys []*edwards25519.Point) *edwards25519.Scalar + type CLSAG_GGXInputRef struct + AmountCommitment *edwards25519.Point + BlindedAssetID *edwards25519.Point + StealthAddress *edwards25519.Point + type Trait struct + G *edwards25519.Point + H *edwards25519.Point + H2 *edwards25519.Point + Log2N int + MNMax int + N int + Type string + ValuesMax int + func (t *Trait) CalcPedersenCommitment(value, mask *edwards25519.Scalar) *edwards25519.Point + func (trait *Trait) BPPGen(rnd io.Reader, values, masks []*edwards25519.Scalar, ...) (*zanobase.BPPSignature, error)