@aztec/stdlib 3.0.0-nightly.20251008 → 3.0.0-nightly.20251010
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/kernel/nullifier.d.ts +2 -2
- package/dest/kernel/nullifier.d.ts.map +1 -1
- package/dest/kernel/nullifier.js +11 -11
- package/dest/tests/factories.js +1 -1
- package/dest/tests/mocks.js +2 -2
- package/package.json +8 -8
- package/src/kernel/nullifier.ts +8 -8
- package/src/tests/factories.ts +1 -1
- package/src/tests/mocks.ts +2 -2
|
@@ -4,9 +4,9 @@ import { AztecAddress } from '../aztec-address/index.js';
|
|
|
4
4
|
import type { Ordered } from './utils/interfaces.js';
|
|
5
5
|
export declare class Nullifier implements Ordered {
|
|
6
6
|
value: Fr;
|
|
7
|
-
counter: number;
|
|
8
7
|
noteHash: Fr;
|
|
9
|
-
|
|
8
|
+
counter: number;
|
|
9
|
+
constructor(value: Fr, noteHash: Fr, counter: number);
|
|
10
10
|
toFields(): Fr[];
|
|
11
11
|
static fromFields(fields: Fr[] | FieldReader): Nullifier;
|
|
12
12
|
isEmpty(): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nullifier.d.ts","sourceRoot":"","sources":["../../src/kernel/nullifier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,WAAW,EAAqB,MAAM,6BAA6B,CAAC;AAE3F,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAErD,qBAAa,SAAU,YAAW,OAAO;IAE9B,KAAK,EAAE,EAAE;IACT,
|
|
1
|
+
{"version":3,"file":"nullifier.d.ts","sourceRoot":"","sources":["../../src/kernel/nullifier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,WAAW,EAAqB,MAAM,6BAA6B,CAAC;AAE3F,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAErD,qBAAa,SAAU,YAAW,OAAO;IAE9B,KAAK,EAAE,EAAE;IACT,QAAQ,EAAE,EAAE;IACZ,OAAO,EAAE,MAAM;gBAFf,KAAK,EAAE,EAAE,EACT,QAAQ,EAAE,EAAE,EACZ,OAAO,EAAE,MAAM;IAGxB,QAAQ,IAAI,EAAE,EAAE;IAIhB,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW;IAK5C,OAAO;IAIP,MAAM,CAAC,KAAK;IAIZ,QAAQ,IAAI,MAAM;IAIlB,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAK/C,QAAQ,IAAI,MAAM;IAIlB,KAAK,CAAC,eAAe,EAAE,YAAY;CAGpC;AAED,qBAAa,eAAgB,YAAW,OAAO;IAEpC,SAAS,EAAE,SAAS;IACpB,eAAe,EAAE,YAAY;gBAD7B,SAAS,EAAE,SAAS,EACpB,eAAe,EAAE,YAAY;IAGtC,IAAI,OAAO,WAEV;IAED,IAAI,KAAK,OAER;IAED,IAAI,iBAAiB,OAEpB;IAED,QAAQ,IAAI,EAAE,EAAE;IAIhB,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW;IAK5C,OAAO;IAIP,MAAM,CAAC,KAAK;IAIZ,QAAQ,IAAI,MAAM;IAIlB,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAK/C,QAAQ,IAAI,MAAM;CAGnB"}
|
package/dest/kernel/nullifier.js
CHANGED
|
@@ -3,39 +3,39 @@ import { BufferReader, FieldReader, serializeToBuffer } from '@aztec/foundation/
|
|
|
3
3
|
import { AztecAddress } from '../aztec-address/index.js';
|
|
4
4
|
export class Nullifier {
|
|
5
5
|
value;
|
|
6
|
-
counter;
|
|
7
6
|
noteHash;
|
|
8
|
-
|
|
7
|
+
counter;
|
|
8
|
+
constructor(value, noteHash, counter){
|
|
9
9
|
this.value = value;
|
|
10
|
-
this.counter = counter;
|
|
11
10
|
this.noteHash = noteHash;
|
|
11
|
+
this.counter = counter;
|
|
12
12
|
}
|
|
13
13
|
toFields() {
|
|
14
14
|
return [
|
|
15
15
|
this.value,
|
|
16
|
-
|
|
17
|
-
this.
|
|
16
|
+
this.noteHash,
|
|
17
|
+
new Fr(this.counter)
|
|
18
18
|
];
|
|
19
19
|
}
|
|
20
20
|
static fromFields(fields) {
|
|
21
21
|
const reader = FieldReader.asReader(fields);
|
|
22
|
-
return new Nullifier(reader.readField(), reader.
|
|
22
|
+
return new Nullifier(reader.readField(), reader.readField(), reader.readU32());
|
|
23
23
|
}
|
|
24
24
|
isEmpty() {
|
|
25
|
-
return this.value.isZero() &&
|
|
25
|
+
return this.value.isZero() && this.noteHash.isZero() && !this.counter;
|
|
26
26
|
}
|
|
27
27
|
static empty() {
|
|
28
|
-
return new Nullifier(Fr.zero(),
|
|
28
|
+
return new Nullifier(Fr.zero(), Fr.zero(), 0);
|
|
29
29
|
}
|
|
30
30
|
toBuffer() {
|
|
31
|
-
return serializeToBuffer(this.value, this.
|
|
31
|
+
return serializeToBuffer(this.value, this.noteHash, this.counter);
|
|
32
32
|
}
|
|
33
33
|
static fromBuffer(buffer) {
|
|
34
34
|
const reader = BufferReader.asReader(buffer);
|
|
35
|
-
return new Nullifier(Fr.fromBuffer(reader),
|
|
35
|
+
return new Nullifier(Fr.fromBuffer(reader), Fr.fromBuffer(reader), reader.readNumber());
|
|
36
36
|
}
|
|
37
37
|
toString() {
|
|
38
|
-
return `value=${this.value}
|
|
38
|
+
return `value=${this.value} noteHash=${this.noteHash} counter=${this.counter}`;
|
|
39
39
|
}
|
|
40
40
|
scope(contractAddress) {
|
|
41
41
|
return new ScopedNullifier(this, contractAddress);
|
package/dest/tests/factories.js
CHANGED
|
@@ -97,7 +97,7 @@ function makeNoteHash(seed) {
|
|
|
97
97
|
return new NoteHash(fr(seed), seed + 1);
|
|
98
98
|
}
|
|
99
99
|
function makeNullifier(seed) {
|
|
100
|
-
return new Nullifier(fr(seed), seed + 1,
|
|
100
|
+
return new Nullifier(fr(seed), fr(seed + 1), seed + 2);
|
|
101
101
|
}
|
|
102
102
|
function makePrivateLog(seed) {
|
|
103
103
|
return new PrivateLog(makeTuple(PRIVATE_LOG_SIZE_IN_FIELDS, fr, seed), PRIVATE_LOG_SIZE_IN_FIELDS);
|
package/dest/tests/mocks.js
CHANGED
|
@@ -40,7 +40,7 @@ export const mockTx = async (seed = 1, { numberOfNonRevertiblePublicCallRequests
|
|
|
40
40
|
const totalPublicCallRequests = numberOfNonRevertiblePublicCallRequests + numberOfRevertiblePublicCallRequests + (hasPublicTeardownCallRequest ? 1 : 0);
|
|
41
41
|
const isForPublic = totalPublicCallRequests > 0;
|
|
42
42
|
const data = PrivateKernelTailCircuitPublicInputs.empty();
|
|
43
|
-
const firstNullifier = new Nullifier(new Fr(seed + 1),
|
|
43
|
+
const firstNullifier = new Nullifier(new Fr(seed + 1), Fr.ZERO, 0);
|
|
44
44
|
data.constants.txContext.gasSettings = GasSettings.default({
|
|
45
45
|
maxFeesPerGas: new GasFees(10, 10),
|
|
46
46
|
maxPriorityFeesPerGas
|
|
@@ -72,7 +72,7 @@ export const mockTx = async (seed = 1, { numberOfNonRevertiblePublicCallRequests
|
|
|
72
72
|
}
|
|
73
73
|
data.forPublic.nonRevertibleAccumulatedData = nonRevertibleBuilder.pushNullifier(firstNullifier.value).withPublicCallRequests(publicCallRequests.slice(numberOfRevertiblePublicCallRequests)).build();
|
|
74
74
|
for(let i = 0; i < numberOfRevertibleNullifiers; i++){
|
|
75
|
-
const revertibleNullifier = new Nullifier(new Fr(seed + 2 + i),
|
|
75
|
+
const revertibleNullifier = new Nullifier(new Fr(seed + 2 + i), Fr.ZERO, 0);
|
|
76
76
|
revertibleBuilder.pushNullifier(revertibleNullifier.value);
|
|
77
77
|
}
|
|
78
78
|
data.forPublic.revertibleAccumulatedData = revertibleBuilder.withPublicCallRequests(publicCallRequests.slice(0, numberOfRevertiblePublicCallRequests)).build();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/stdlib",
|
|
3
|
-
"version": "3.0.0-nightly.
|
|
3
|
+
"version": "3.0.0-nightly.20251010",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"inherits": [
|
|
6
6
|
"../package.common.json",
|
|
@@ -70,13 +70,13 @@
|
|
|
70
70
|
},
|
|
71
71
|
"dependencies": {
|
|
72
72
|
"@aws-sdk/client-s3": "^3.892.0",
|
|
73
|
-
"@aztec/bb.js": "3.0.0-nightly.
|
|
74
|
-
"@aztec/blob-lib": "3.0.0-nightly.
|
|
75
|
-
"@aztec/constants": "3.0.0-nightly.
|
|
76
|
-
"@aztec/ethereum": "3.0.0-nightly.
|
|
77
|
-
"@aztec/foundation": "3.0.0-nightly.
|
|
78
|
-
"@aztec/l1-artifacts": "3.0.0-nightly.
|
|
79
|
-
"@aztec/noir-noirc_abi": "3.0.0-nightly.
|
|
73
|
+
"@aztec/bb.js": "3.0.0-nightly.20251010",
|
|
74
|
+
"@aztec/blob-lib": "3.0.0-nightly.20251010",
|
|
75
|
+
"@aztec/constants": "3.0.0-nightly.20251010",
|
|
76
|
+
"@aztec/ethereum": "3.0.0-nightly.20251010",
|
|
77
|
+
"@aztec/foundation": "3.0.0-nightly.20251010",
|
|
78
|
+
"@aztec/l1-artifacts": "3.0.0-nightly.20251010",
|
|
79
|
+
"@aztec/noir-noirc_abi": "3.0.0-nightly.20251010",
|
|
80
80
|
"@google-cloud/storage": "^7.15.0",
|
|
81
81
|
"axios": "^1.12.0",
|
|
82
82
|
"json-stringify-deterministic": "1.0.12",
|
package/src/kernel/nullifier.ts
CHANGED
|
@@ -7,38 +7,38 @@ import type { Ordered } from './utils/interfaces.js';
|
|
|
7
7
|
export class Nullifier implements Ordered {
|
|
8
8
|
constructor(
|
|
9
9
|
public value: Fr,
|
|
10
|
-
public counter: number,
|
|
11
10
|
public noteHash: Fr,
|
|
11
|
+
public counter: number,
|
|
12
12
|
) {}
|
|
13
13
|
|
|
14
14
|
toFields(): Fr[] {
|
|
15
|
-
return [this.value, new Fr(this.counter)
|
|
15
|
+
return [this.value, this.noteHash, new Fr(this.counter)];
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
static fromFields(fields: Fr[] | FieldReader) {
|
|
19
19
|
const reader = FieldReader.asReader(fields);
|
|
20
|
-
return new Nullifier(reader.readField(), reader.
|
|
20
|
+
return new Nullifier(reader.readField(), reader.readField(), reader.readU32());
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
isEmpty() {
|
|
24
|
-
return this.value.isZero() &&
|
|
24
|
+
return this.value.isZero() && this.noteHash.isZero() && !this.counter;
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
static empty() {
|
|
28
|
-
return new Nullifier(Fr.zero(),
|
|
28
|
+
return new Nullifier(Fr.zero(), Fr.zero(), 0);
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
toBuffer(): Buffer {
|
|
32
|
-
return serializeToBuffer(this.value, this.
|
|
32
|
+
return serializeToBuffer(this.value, this.noteHash, this.counter);
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
static fromBuffer(buffer: Buffer | BufferReader) {
|
|
36
36
|
const reader = BufferReader.asReader(buffer);
|
|
37
|
-
return new Nullifier(Fr.fromBuffer(reader),
|
|
37
|
+
return new Nullifier(Fr.fromBuffer(reader), Fr.fromBuffer(reader), reader.readNumber());
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
toString(): string {
|
|
41
|
-
return `value=${this.value}
|
|
41
|
+
return `value=${this.value} noteHash=${this.noteHash} counter=${this.counter}`;
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
scope(contractAddress: AztecAddress) {
|
package/src/tests/factories.ts
CHANGED
|
@@ -193,7 +193,7 @@ function makeNoteHash(seed: number) {
|
|
|
193
193
|
}
|
|
194
194
|
|
|
195
195
|
function makeNullifier(seed: number) {
|
|
196
|
-
return new Nullifier(fr(seed), seed + 1,
|
|
196
|
+
return new Nullifier(fr(seed), fr(seed + 1), seed + 2);
|
|
197
197
|
}
|
|
198
198
|
|
|
199
199
|
function makePrivateLog(seed: number) {
|
package/src/tests/mocks.ts
CHANGED
|
@@ -109,7 +109,7 @@ export const mockTx = async (
|
|
|
109
109
|
(hasPublicTeardownCallRequest ? 1 : 0);
|
|
110
110
|
const isForPublic = totalPublicCallRequests > 0;
|
|
111
111
|
const data = PrivateKernelTailCircuitPublicInputs.empty();
|
|
112
|
-
const firstNullifier = new Nullifier(new Fr(seed + 1),
|
|
112
|
+
const firstNullifier = new Nullifier(new Fr(seed + 1), Fr.ZERO, 0);
|
|
113
113
|
data.constants.txContext.gasSettings = GasSettings.default({
|
|
114
114
|
maxFeesPerGas: new GasFees(10, 10),
|
|
115
115
|
maxPriorityFeesPerGas,
|
|
@@ -151,7 +151,7 @@ export const mockTx = async (
|
|
|
151
151
|
.build();
|
|
152
152
|
|
|
153
153
|
for (let i = 0; i < numberOfRevertibleNullifiers; i++) {
|
|
154
|
-
const revertibleNullifier = new Nullifier(new Fr(seed + 2 + i),
|
|
154
|
+
const revertibleNullifier = new Nullifier(new Fr(seed + 2 + i), Fr.ZERO, 0);
|
|
155
155
|
revertibleBuilder.pushNullifier(revertibleNullifier.value);
|
|
156
156
|
}
|
|
157
157
|
|