mirror of
https://github.com/ProvableHQ/leo.git
synced 2024-12-26 03:33:44 +03:00
all tests pass
This commit is contained in:
parent
e7091b18ed
commit
8cf5eb8790
@ -1,11 +1,11 @@
|
|||||||
circuit PedersenHash {
|
circuit PedersenHash {
|
||||||
parameters: u32[512]
|
parameters: [u32; 512]
|
||||||
|
|
||||||
static function new(parameters: u32[512]) -> Self {
|
static function new(parameters: [u32; 512]) -> Self {
|
||||||
return Self { parameters: parameters }
|
return Self { parameters: parameters }
|
||||||
}
|
}
|
||||||
|
|
||||||
function hash(bits: bool[512]) -> u32 {
|
function hash(bits: [bool; 512]) -> u32 {
|
||||||
let mut digest: u32 = 0;
|
let mut digest: u32 = 0;
|
||||||
for i in 0..512 {
|
for i in 0..512 {
|
||||||
let base = if bits[i] ? self.parameters[i] : 0u32;
|
let base = if bits[i] ? self.parameters[i] : 0u32;
|
||||||
@ -19,7 +19,7 @@ circuit PedersenHash {
|
|||||||
function main() {
|
function main() {
|
||||||
let parameters = [0u32; 512];
|
let parameters = [0u32; 512];
|
||||||
let pedersen = PedersenHash::new(parameters);
|
let pedersen = PedersenHash::new(parameters);
|
||||||
let input: bool[512] = [true; 512];
|
let input: [bool; 512] = [true; 512];
|
||||||
|
|
||||||
let res = pedersen.hash(input);
|
let res = pedersen.hash(input);
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
function main(input, data: u8[32]) {
|
function main(input, data: [u8; 32]) {
|
||||||
console.assert(input.registers.value_balance == 0u64);
|
console.assert(input.registers.value_balance == 0u64);
|
||||||
|
|
||||||
console.assert(input.state.leaf_index == 0u32);
|
console.assert(input.state.leaf_index == 0u32);
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
[main]
|
[main]
|
||||||
data: u8[32] = [0u8; 32];
|
data: [u8; 32] = [0u8; 32];
|
||||||
|
|
||||||
[registers]
|
[registers]
|
||||||
token_id: u8[32] = [0u8; 32];
|
token_id: [u8; 32] = [0u8; 32];
|
||||||
value_balance: u64 = 0;
|
value_balance: u64 = 0;
|
@ -2,23 +2,23 @@
|
|||||||
|
|
||||||
[state]
|
[state]
|
||||||
leaf_index: u32 = 0;
|
leaf_index: u32 = 0;
|
||||||
root: u8[32] = [0u8; 32];
|
root: [u8; 32] = [0u8; 32];
|
||||||
|
|
||||||
[[private]]
|
[[private]]
|
||||||
|
|
||||||
[record]
|
[record]
|
||||||
serial_number: u8[32] = [0u8; 32];
|
serial_number: [u8; 32] = [0u8; 32];
|
||||||
commitment: u8[32] = [0u8; 32];
|
commitment: [u8; 32] = [0u8; 32];
|
||||||
owner: address = aleo1qnr4dkkvkgfqph0vzc3y6z2eu975wnpz2925ntjccd5cfqxtyu8sta57j8;
|
owner: address = aleo1qnr4dkkvkgfqph0vzc3y6z2eu975wnpz2925ntjccd5cfqxtyu8sta57j8;
|
||||||
value: u64 = 5;
|
value: u64 = 5;
|
||||||
payload: u8[32] = [0u8; 32];
|
payload: [u8; 32] = [0u8; 32];
|
||||||
birth_program_id: u8[32] = [0u8; 32];
|
birth_program_id: [u8; 32] = [0u8; 32];
|
||||||
death_program_id: u8[32] = [0u8; 32];
|
death_program_id: [u8; 32] = [0u8; 32];
|
||||||
serial_number_nonce: u8[32] = [0u8; 32];
|
serial_number_nonce: [u8; 32] = [0u8; 32];
|
||||||
commitment_randomness: u8[32] = [0u8; 32];
|
commitment_randomness: [u8; 32] = [0u8; 32];
|
||||||
|
|
||||||
[state_leaf]
|
[state_leaf]
|
||||||
path: u8[32][2] = [ [0u8; 32], [0u8; 32] ];
|
path: [u8; (32, 2)] = [ [0u8; 32], [0u8; 32] ];
|
||||||
memo: u8[32] = [0u8; 32];
|
memo: [u8; 32] = [0u8; 32];
|
||||||
network_id: u8 = 0;
|
network_id: u8 = 0;
|
||||||
leaf_randomness: u8[32] = [0u8; 32];
|
leaf_randomness: [u8; 32] = [0u8; 32];
|
@ -2,23 +2,23 @@
|
|||||||
|
|
||||||
[state]
|
[state]
|
||||||
leaf_index: u32 = 0;
|
leaf_index: u32 = 0;
|
||||||
root: u8[32] = [0u8; 32];
|
root: [u8; 32] = [0u8; 32];
|
||||||
|
|
||||||
[[private]]
|
[[private]]
|
||||||
|
|
||||||
[record]
|
[record]
|
||||||
serial_number: u8[32] = [0u8; 32];
|
serial_number: [u8; 32] = [0u8; 32];
|
||||||
commitment: u8[32] = [0u8; 32];
|
commitment: [u8; 32] = [0u8; 32];
|
||||||
owner: address = aleo1qnr4dkkvkgfqph0vzc3y6z2eu975wnpz2925ntjccd5cfqxtyu8sta57j8;
|
owner: address = aleo1qnr4dkkvkgfqph0vzc3y6z2eu975wnpz2925ntjccd5cfqxtyu8sta57j8;
|
||||||
value: u64 = 5;
|
value: u64 = 5;
|
||||||
payload: u8[32] = [0u8; 32];
|
payload: [u8; 32] = [0u8; 32];
|
||||||
birth_program_id: u8[32] = [0u8; 32];
|
birth_program_id: [u8; 32] = [0u8; 32];
|
||||||
death_program_id: u8[32] = [0u8; 32];
|
death_program_id: [u8; 32] = [0u8; 32];
|
||||||
serial_number_nonce: u8[32] = [0u8; 32];
|
serial_number_nonce: [u8; 32] = [0u8; 32];
|
||||||
commitment_randomness: u8[32] = [0u8; 32];
|
commitment_randomness: [u8; 32] = [0u8; 32];
|
||||||
|
|
||||||
[state_leaf]
|
[state_leaf]
|
||||||
path: u8[32][2] = [ [0u8; 32], [0u8; 32] ];
|
path: [u8; (32, 2)] = [ [0u8; 32], [0u8; 32] ];
|
||||||
memo: u8[32] = [0u8; 32];
|
memo: [u8; 32] = [0u8; 32];
|
||||||
network_id: u8 = 0;
|
network_id: u8 = 0;
|
||||||
leaf_randomness: u8[32] = [0u8; 32];
|
leaf_randomness: [u8; 32] = [0u8; 32];
|
Loading…
Reference in New Issue
Block a user