跳转到内容

sigma_protocol_utils - [devnet]

此内容尚不支持你的语言。

use 0x1::option;
use 0x1::ristretto255;
use 0x1::vector;

Functions

e_wrong_num_points

public(friend) fun e_wrong_num_points(): u64
Implementation
public(friend) fun e_wrong_num_points(): u64 { error::invalid_argument(1) }

e_wrong_num_scalars

public(friend) fun e_wrong_num_scalars(): u64
Implementation
public(friend) fun e_wrong_num_scalars(): u64 { error::invalid_argument(2) }

e_wrong_witness_len

public(friend) fun e_wrong_witness_len(): u64
Implementation
public(friend) fun e_wrong_witness_len(): u64 { error::invalid_argument(3) }

e_wrong_output_len

public(friend) fun e_wrong_output_len(): u64
Implementation
public(friend) fun e_wrong_output_len(): u64 { error::invalid_argument(4) }

points_clone

Clones a vector of Ristretto255 points

public(friend) fun points_clone(a: &vector<ristretto255::RistrettoPoint>): vector<ristretto255::RistrettoPoint>
Implementation
public(friend) fun points_clone(a: &vector<RistrettoPoint>): vector<RistrettoPoint> {
a.map_ref(|p| p.point_clone())
}

deserialize_points

Deserializes a vector of point bytes to a vector of RistrettoPoints and a vector of their compressed counterparts.

public(friend) fun deserialize_points(points_bytes: vector<vector<u8>>): (vector<ristretto255::RistrettoPoint>, vector<ristretto255::CompressedRistretto>)
Implementation
public(friend) fun deserialize_points(points_bytes: vector<vector<u8>>): (vector<RistrettoPoint>, vector<CompressedRistretto>) {
let points = vector[];
let compressed_points = vector[];
points_bytes.for_each(|point_bytes| {
let (point, compressed_point) = new_point_and_compressed_from_bytes(point_bytes);
points.push_back(point);
compressed_points.push_back(compressed_point);
});
(points, compressed_points)
}

deserialize_compressed_points

Deserializes a vector of point bytes to a vector of CompressedRistretto’s (without decompressing to RistrettoPoint).

public(friend) fun deserialize_compressed_points(points_bytes: vector<vector<u8>>): vector<ristretto255::CompressedRistretto>
Implementation
public(friend) fun deserialize_compressed_points(points_bytes: vector<vector<u8>>): vector<CompressedRistretto> {
points_bytes.map(|bytes| new_compressed_point_from_bytes(bytes).extract())
}

deserialize_scalars

public(friend) fun deserialize_scalars(scalars_bytes: vector<vector<u8>>): vector<ristretto255::Scalar>
Implementation
public(friend) fun deserialize_scalars(scalars_bytes: vector<vector<u8>>): vector<Scalar> {
scalars_bytes.map(|scalar_bytes| new_scalar_from_bytes(scalar_bytes).extract())
}

neg_scalars

Negates a vector of scalars a, returns a new vector c where c[i] = -a[i].

public(friend) fun neg_scalars(a: &vector<ristretto255::Scalar>): vector<ristretto255::Scalar>
Implementation
public(friend) fun neg_scalars(a: &vector<Scalar>): vector<Scalar> {
a.map_ref(|s| s.scalar_neg())
}