Skip to content

Commit 438446d

Browse files
committed
small fixes
1 parent c24437c commit 438446d

File tree

3 files changed

+57
-7
lines changed

3 files changed

+57
-7
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@auxo-dev/auxo-libs",
3-
"version": "0.2.5",
3+
"version": "0.2.7",
44
"description": "",
55
"author": "",
66
"license": "Apache-2.0",

src/CustomScalar.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,10 @@ export class CustomScalar extends Struct({
4444
return this.head.equals(s.head).and(this.tail.equals(s.tail));
4545
}
4646

47+
assertEquals(s: CustomScalar): void {
48+
this.equals(s).assertTrue();
49+
}
50+
4751
toScalar(): Scalar {
4852
return CustomScalar.toScalar(this);
4953
}

src/DynamicArray.test.ts

Lines changed: 52 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ describe('DynamicArray', () => {
2020
DynamicFieldArray,
2121
() => new DynamicFieldArray(fieldValues)
2222
);
23-
Provable.log(fieldArray);
23+
// Provable.log(fieldArray);
2424

2525
// Group
2626
let groupValues = Provable.Array(Group, 1).fromFields(
@@ -30,19 +30,65 @@ describe('DynamicArray', () => {
3030
DynamicGroupArray,
3131
() => new DynamicGroupArray(groupValues)
3232
);
33-
Provable.log(groupArray);
33+
// Provable.log(groupArray);
3434

35-
// Scalar - Not working because Scalar takes up 255 Fields => Stack overflow
35+
// Scalar
3636
let scalarValues = Provable.Array(CustomScalar, 1).fromFields(
3737
CustomScalar.fromScalar(Scalar.random()).toFields()
3838
);
39-
Provable.log(scalarValues);
39+
// Provable.log(scalarValues);
4040
let scalarArray = Provable.witness(
4141
DynamicScalarArray,
4242
() => new DynamicScalarArray(scalarValues)
4343
);
44-
// Provable.log(Scalar.sizeInFields());
45-
Provable.log(scalarArray);
44+
// Provable.log(scalarArray);
4645
});
4746
});
47+
48+
it('Should serialize correctly', async () => {
49+
// Field
50+
let fieldValues = [Field(0), Field(1), Field(2), Field(1)];
51+
let fieldArray = new DynamicFieldArray(fieldValues);
52+
let fieldSerialized = fieldArray.toFields();
53+
let fieldDeserialized = DynamicFieldArray.fromFields(
54+
[fieldArray.length, fieldSerialized].flat()
55+
);
56+
fieldDeserialized.length.assertEquals(fieldArray.length);
57+
for (let i = 0; i < fieldArray.values.length; i++) {
58+
(fieldDeserialized as DynamicFieldArray)
59+
.get(Field(i))
60+
.assertEquals(fieldArray.get(Field(i)));
61+
}
62+
63+
// Group
64+
let groupValues = [Group.generator, Group.zero, Group.generator];
65+
let groupArray = new DynamicGroupArray(groupValues);
66+
let groupSerialized = groupArray.toFields();
67+
let groupDeserialized = DynamicGroupArray.fromFields(
68+
[groupArray.length, groupSerialized].flat()
69+
);
70+
groupDeserialized.length.assertEquals(groupArray.length);
71+
for (let i = 0; i < groupArray.values.length; i++) {
72+
(groupDeserialized as DynamicGroupArray)
73+
.get(Field(i))
74+
.assertEquals(groupArray.get(Field(i)));
75+
}
76+
77+
// Scalar
78+
let scalarValues = [
79+
CustomScalar.fromScalar(Scalar.random()),
80+
CustomScalar.fromScalar(Scalar.random()),
81+
];
82+
let scalarArray = new DynamicScalarArray(scalarValues);
83+
let scalarSerialized = scalarArray.toFields();
84+
let scalarDeserialized = DynamicScalarArray.fromFields(
85+
[scalarArray.length, scalarSerialized].flat()
86+
);
87+
scalarDeserialized.length.assertEquals(scalarArray.length);
88+
for (let i = 0; i < scalarArray.values.length; i++) {
89+
(scalarDeserialized as DynamicScalarArray)
90+
.get(Field(i))
91+
.assertEquals(scalarArray.get(Field(i)));
92+
}
93+
});
4894
});

0 commit comments

Comments
 (0)