Migrate types/asset.go from fmt.Errorf to coreerr.E() for consistency with the rest of the types package. Add usage-example comments (AX-2) to all key exported functions in consensus/, chain/, and types/ so agents can see concrete calling patterns without reading implementation details. Co-Authored-By: Virgil <virgil@lethean.io>
20 lines
777 B
Go
20 lines
777 B
Go
// Copyright (c) 2017-2026 Lethean (https://lt.hn)
|
|
//
|
|
// Licensed under the European Union Public Licence (EUPL) version 1.2.
|
|
// SPDX-License-Identifier: EUPL-1.2
|
|
|
|
package consensus
|
|
|
|
import "dappco.re/go/core/blockchain/crypto"
|
|
|
|
// VerifyBalanceProof verifies a generic double-Schnorr proof against the
|
|
// provided public points.
|
|
//
|
|
// The caller is responsible for constructing the balance context point(s)
|
|
// from transaction inputs, outputs, fees, and any asset-operation terms.
|
|
// This helper only performs the cryptographic check.
|
|
//
|
|
// ok := consensus.VerifyBalanceProof(txHash, false, pointA, pointB, proofBytes)
|
|
func VerifyBalanceProof(hash [32]byte, aIsX bool, a [32]byte, b [32]byte, proof []byte) bool {
|
|
return crypto.VerifyDoubleSchnorr(hash, aIsX, a, b, proof)
|
|
}
|