Module 0x2::group_ops
Generic Move and native functions for group operations.
- Struct
Element - Constants
- Function
bytes - Function
equal - Function
from_bytes - Function
add - Function
sub - Function
mul - Function
div - Function
hash_to - Function
multi_scalar_multiplication - Function
pairing - Function
convert - Function
sum - Function
internal_validate - Function
internal_add - Function
internal_sub - Function
internal_mul - Function
internal_div - Function
internal_hash_to - Function
internal_multi_scalar_mul - Function
internal_pairing - Function
internal_convert - Function
internal_sum - Function
set_as_prefix
use 0x1::vector;
use 0x2::bcs;
Struct Element
struct Element<T> has copy, drop, store
Fields
bytes: vector<u8>
Constants
const EInvalidInput: u64 = 1;
const EInputTooLong: u64 = 2;
const EInvalidBufferLength: u64 = 3;
const ENotSupported: u64 = 0;
Function bytes
public fun bytes<G>(e: &group_ops::Element<G>): &vector<u8>
Function equal
public fun equal<G>(e1: &group_ops::Element<G>, e2: &group_ops::Element<G>): bool
Implementation
Function from_bytes
public(friend) fun from_bytes<G>(type_: u8, bytes: &vector<u8>, is_trusted: bool): group_ops::Element<G>
Implementation
public(package) fun from_bytes<G>(type_: u8, bytes: &vector<u8>, is_trusted: bool): Element<G> {
assert!(is_trusted || internal_validate(type_, bytes), EInvalidInput);
Element<G> { bytes: *bytes }
}
Function add
public(friend) fun add<G>(type_: u8, e1: &group_ops::Element<G>, e2: &group_ops::Element<G>): group_ops::Element<G>