@aztec/bb.js 0.0.1-commit.6d63667d → 0.0.1-commit.86469d5
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/build/amd64-linux/bb +0 -0
- package/build/amd64-linux/nodejs_module.node +0 -0
- package/build/amd64-macos/bb +0 -0
- package/build/amd64-macos/nodejs_module.node +0 -0
- package/build/arm64-linux/bb +0 -0
- package/build/arm64-linux/nodejs_module.node +0 -0
- package/build/arm64-macos/bb +0 -0
- package/build/arm64-macos/nodejs_module.node +0 -0
- package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg-threads.js +1 -1
- package/dest/browser/barretenberg_wasm/fetch_code/browser/barretenberg.js +1 -1
- package/dest/browser/crs/net_crs.d.ts +1 -6
- package/dest/browser/crs/net_crs.d.ts.map +1 -1
- package/dest/browser/crs/net_crs.js +7 -30
- package/dest/node/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
- package/dest/node/crs/net_crs.d.ts +1 -6
- package/dest/node/crs/net_crs.d.ts.map +1 -1
- package/dest/node/crs/net_crs.js +7 -30
- package/dest/node-cjs/barretenberg_wasm/barretenberg-threads.wasm.gz +0 -0
- package/dest/node-cjs/crs/net_crs.d.ts +1 -6
- package/dest/node-cjs/crs/net_crs.d.ts.map +1 -1
- package/dest/node-cjs/crs/net_crs.js +7 -31
- package/package.json +1 -1
- package/src/crs/net_crs.ts +14 -45
- package/dest/node/crs/net_crs.test.d.ts +0 -2
- package/dest/node/crs/net_crs.test.d.ts.map +0 -1
- package/dest/node/crs/net_crs.test.js +0 -39
- package/dest/node-cjs/crs/net_crs.test.d.ts +0 -2
- package/dest/node-cjs/crs/net_crs.test.d.ts.map +0 -1
- package/dest/node-cjs/crs/net_crs.test.js +0 -41
- package/src/crs/net_crs.test.ts +0 -47
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Fetches data from primary URL, falling back to secondary on failure
|
|
3
|
-
* @internal Exported for testing
|
|
4
|
-
*/
|
|
5
|
-
export declare function fetchWithFallback(primaryUrl: string, fallbackUrl: string, options: RequestInit): Promise<Response>;
|
|
6
1
|
/**
|
|
7
2
|
* Downloader for CRS from the web or local.
|
|
8
3
|
*/
|
|
@@ -72,4 +67,4 @@ export declare class NetGrumpkinCrs {
|
|
|
72
67
|
getG1Data(): Uint8Array;
|
|
73
68
|
private fetchG1Data;
|
|
74
69
|
}
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0X2Nycy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Nycy9uZXRfY3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBOztHQUVHO0FBQ0gscUJBQWEsTUFBTTthQVFDLFNBQVMsRUFBRSxNQUFNO0lBUG5DLE9BQU8sQ0FBQyxJQUFJLENBQWM7SUFDMUIsT0FBTyxDQUFDLE1BQU0sQ0FBYztJQUU1QjtJQUNFOztPQUVHO0lBQ2EsU0FBUyxFQUFFLE1BQU0sRUFDL0I7SUFFSjs7T0FFRztJQUNHLElBQUksa0JBR1Q7SUFFRDs7T0FFRztJQUNHLFlBQVksSUFBSSxPQUFPLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBR3hEO0lBRUQ7O09BRUc7SUFDRyxZQUFZLElBQUksT0FBTyxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUd4RDtJQUVLLGNBQWMscUNBR25CO0lBRUQ7O09BRUc7SUFDRyxjQUFjLHFDQUduQjtJQUVEOzs7T0FHRztJQUNILFNBQVMsSUFBSSxVQUFVLENBRXRCO0lBRUQ7OztPQUdHO0lBQ0gsU0FBUyxJQUFJLFVBQVUsQ0FFdEI7WUFLYSxXQUFXO1lBc0JYLFdBQVc7Q0FTMUI7QUFFRDs7R0FFRztBQUNILHFCQUFhLGNBQWM7YUFPUCxTQUFTLEVBQUUsTUFBTTtJQU5uQyxPQUFPLENBQUMsSUFBSSxDQUFjO0lBRTFCO0lBQ0U7O09BRUc7SUFDYSxTQUFTLEVBQUUsTUFBTSxFQUMvQjtJQUVKOztPQUVHO0lBQ0csSUFBSSxrQkFFVDtJQUVLLGNBQWMscUNBR25CO0lBRUQ7O09BRUc7SUFDRyxZQUFZLElBQUksT0FBTyxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUd4RDtJQUVEOzs7T0FHRztJQUNILFNBQVMsSUFBSSxVQUFVLENBRXRCO1lBS2EsV0FBVztDQWUxQiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"net_crs.d.ts","sourceRoot":"","sources":["../../../src/crs/net_crs.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"net_crs.d.ts","sourceRoot":"","sources":["../../../src/crs/net_crs.ts"],"names":[],"mappings":"AACA;;GAEG;AACH,qBAAa,MAAM;aAQC,SAAS,EAAE,MAAM;IAPnC,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,MAAM,CAAc;IAE5B;IACE;;OAEG;IACa,SAAS,EAAE,MAAM,EAC/B;IAEJ;;OAEG;IACG,IAAI,kBAGT;IAED;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAGxD;IAED;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAGxD;IAEK,cAAc,qCAGnB;IAED;;OAEG;IACG,cAAc,qCAGnB;IAED;;;OAGG;IACH,SAAS,IAAI,UAAU,CAEtB;IAED;;;OAGG;IACH,SAAS,IAAI,UAAU,CAEtB;YAKa,WAAW;YAsBX,WAAW;CAS1B;AAED;;GAEG;AACH,qBAAa,cAAc;aAOP,SAAS,EAAE,MAAM;IANnC,OAAO,CAAC,IAAI,CAAc;IAE1B;IACE;;OAEG;IACa,SAAS,EAAE,MAAM,EAC/B;IAEJ;;OAEG;IACG,IAAI,kBAET;IAEK,cAAc,qCAGnB;IAED;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAGxD;IAED;;;OAGG;IACH,SAAS,IAAI,UAAU,CAEtB;YAKa,WAAW;CAe1B"}
|
|
@@ -1,24 +1,4 @@
|
|
|
1
1
|
import { retry, makeBackoff } from '../retry/index.js';
|
|
2
|
-
// Primary CRS host (Cloudflare R2)
|
|
3
|
-
const CRS_PRIMARY_HOST = 'https://crs.aztec-cdn.foundation';
|
|
4
|
-
// Fallback CRS host (AWS S3)
|
|
5
|
-
const CRS_FALLBACK_HOST = 'https://crs.aztec-labs.com';
|
|
6
|
-
/**
|
|
7
|
-
* Fetches data from primary URL, falling back to secondary on failure
|
|
8
|
-
* @internal Exported for testing
|
|
9
|
-
*/
|
|
10
|
-
export async function fetchWithFallback(primaryUrl, fallbackUrl, options) {
|
|
11
|
-
try {
|
|
12
|
-
const response = await fetch(primaryUrl, options);
|
|
13
|
-
if (response.ok || response.status === 206) {
|
|
14
|
-
return response;
|
|
15
|
-
}
|
|
16
|
-
throw new Error(`HTTP ${response.status}`);
|
|
17
|
-
}
|
|
18
|
-
catch {
|
|
19
|
-
return await fetch(fallbackUrl, options);
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
2
|
/**
|
|
23
3
|
* Downloader for CRS from the web or local.
|
|
24
4
|
*/
|
|
@@ -88,22 +68,20 @@ export class NetCrs {
|
|
|
88
68
|
return new Response(new Uint8Array([]));
|
|
89
69
|
}
|
|
90
70
|
const g1End = this.numPoints * 64 - 1;
|
|
91
|
-
|
|
71
|
+
return await retry(() => fetch('https://crs.aztec.network/g1.dat', {
|
|
92
72
|
headers: {
|
|
93
73
|
Range: `bytes=0-${g1End}`,
|
|
94
74
|
},
|
|
95
75
|
cache: 'force-cache',
|
|
96
|
-
};
|
|
97
|
-
return await retry(() => fetchWithFallback(`${CRS_PRIMARY_HOST}/g1.dat`, `${CRS_FALLBACK_HOST}/g1.dat`, options), makeBackoff([5, 5, 5]));
|
|
76
|
+
}), makeBackoff([5, 5, 5]));
|
|
98
77
|
}
|
|
99
78
|
/**
|
|
100
79
|
* Fetches the appropriate range of points from a remote source
|
|
101
80
|
*/
|
|
102
81
|
async fetchG2Data() {
|
|
103
|
-
|
|
82
|
+
return await retry(() => fetch('https://crs.aztec.network/g2.dat', {
|
|
104
83
|
cache: 'force-cache',
|
|
105
|
-
};
|
|
106
|
-
return await retry(() => fetchWithFallback(`${CRS_PRIMARY_HOST}/g2.dat`, `${CRS_FALLBACK_HOST}/g2.dat`, options), makeBackoff([5, 5, 5]));
|
|
84
|
+
}), makeBackoff([5, 5, 5]));
|
|
107
85
|
}
|
|
108
86
|
}
|
|
109
87
|
/**
|
|
@@ -152,13 +130,12 @@ export class NetGrumpkinCrs {
|
|
|
152
130
|
return new Response(new Uint8Array([]));
|
|
153
131
|
}
|
|
154
132
|
const g1End = this.numPoints * 64 - 1;
|
|
155
|
-
|
|
133
|
+
return await fetch('https://crs.aztec.network/grumpkin_g1.dat', {
|
|
156
134
|
headers: {
|
|
157
135
|
Range: `bytes=0-${g1End}`,
|
|
158
136
|
},
|
|
159
137
|
cache: 'force-cache',
|
|
160
|
-
};
|
|
161
|
-
return await fetchWithFallback(`${CRS_PRIMARY_HOST}/grumpkin_g1.dat`, `${CRS_FALLBACK_HOST}/grumpkin_g1.dat`, options);
|
|
138
|
+
});
|
|
162
139
|
}
|
|
163
140
|
}
|
|
164
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
141
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0X2Nycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnMvbmV0X2Nycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3ZEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLE1BQU07SUFRQyxTQUFTO0lBUG5CLElBQUksQ0FBYztJQUNsQixNQUFNLENBQWM7SUFFNUI7SUFDRTs7T0FFRztJQUNhLFNBQWlCLEVBQ2pDO3lCQURnQixTQUFTO0lBQ3hCLENBQUM7SUFFSjs7T0FFRztJQUNILEtBQUssQ0FBQyxJQUFJLEdBQUc7UUFDWCxNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUM1QixNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUFBLENBQzdCO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsWUFBWSxHQUF3QztRQUN4RCxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMxQyxPQUFPLFFBQVEsQ0FBQyxJQUFLLENBQUM7SUFBQSxDQUN2QjtJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLFlBQVksR0FBd0M7UUFDeEQsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDMUMsT0FBTyxRQUFRLENBQUMsSUFBSyxDQUFDO0lBQUEsQ0FDdkI7SUFFRCxLQUFLLENBQUMsY0FBYyxHQUFHO1FBQ3JCLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksVUFBVSxDQUFDLE1BQU0sUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUFBLENBQ25FO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsY0FBYyxHQUFHO1FBQ3JCLE1BQU0s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
|
|
Binary file
|
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Fetches data from primary URL, falling back to secondary on failure
|
|
3
|
-
* @internal Exported for testing
|
|
4
|
-
*/
|
|
5
|
-
export declare function fetchWithFallback(primaryUrl: string, fallbackUrl: string, options: RequestInit): Promise<Response>;
|
|
6
1
|
/**
|
|
7
2
|
* Downloader for CRS from the web or local.
|
|
8
3
|
*/
|
|
@@ -72,4 +67,4 @@ export declare class NetGrumpkinCrs {
|
|
|
72
67
|
getG1Data(): Uint8Array;
|
|
73
68
|
private fetchG1Data;
|
|
74
69
|
}
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0X2Nycy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Nycy9uZXRfY3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBOztHQUVHO0FBQ0gscUJBQWEsTUFBTTthQVFDLFNBQVMsRUFBRSxNQUFNO0lBUG5DLE9BQU8sQ0FBQyxJQUFJLENBQWM7SUFDMUIsT0FBTyxDQUFDLE1BQU0sQ0FBYztJQUU1QjtJQUNFOztPQUVHO0lBQ2EsU0FBUyxFQUFFLE1BQU0sRUFDL0I7SUFFSjs7T0FFRztJQUNHLElBQUksa0JBR1Q7SUFFRDs7T0FFRztJQUNHLFlBQVksSUFBSSxPQUFPLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBR3hEO0lBRUQ7O09BRUc7SUFDRyxZQUFZLElBQUksT0FBTyxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUd4RDtJQUVLLGNBQWMscUNBR25CO0lBRUQ7O09BRUc7SUFDRyxjQUFjLHFDQUduQjtJQUVEOzs7T0FHRztJQUNILFNBQVMsSUFBSSxVQUFVLENBRXRCO0lBRUQ7OztPQUdHO0lBQ0gsU0FBUyxJQUFJLFVBQVUsQ0FFdEI7WUFLYSxXQUFXO1lBc0JYLFdBQVc7Q0FTMUI7QUFFRDs7R0FFRztBQUNILHFCQUFhLGNBQWM7YUFPUCxTQUFTLEVBQUUsTUFBTTtJQU5uQyxPQUFPLENBQUMsSUFBSSxDQUFjO0lBRTFCO0lBQ0U7O09BRUc7SUFDYSxTQUFTLEVBQUUsTUFBTSxFQUMvQjtJQUVKOztPQUVHO0lBQ0csSUFBSSxrQkFFVDtJQUVLLGNBQWMscUNBR25CO0lBRUQ7O09BRUc7SUFDRyxZQUFZLElBQUksT0FBTyxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUd4RDtJQUVEOzs7T0FHRztJQUNILFNBQVMsSUFBSSxVQUFVLENBRXRCO1lBS2EsV0FBVztDQWUxQiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"net_crs.d.ts","sourceRoot":"","sources":["../../../src/crs/net_crs.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"net_crs.d.ts","sourceRoot":"","sources":["../../../src/crs/net_crs.ts"],"names":[],"mappings":"AACA;;GAEG;AACH,qBAAa,MAAM;aAQC,SAAS,EAAE,MAAM;IAPnC,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,MAAM,CAAc;IAE5B;IACE;;OAEG;IACa,SAAS,EAAE,MAAM,EAC/B;IAEJ;;OAEG;IACG,IAAI,kBAGT;IAED;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAGxD;IAED;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAGxD;IAEK,cAAc,qCAGnB;IAED;;OAEG;IACG,cAAc,qCAGnB;IAED;;;OAGG;IACH,SAAS,IAAI,UAAU,CAEtB;IAED;;;OAGG;IACH,SAAS,IAAI,UAAU,CAEtB;YAKa,WAAW;YAsBX,WAAW;CAS1B;AAED;;GAEG;AACH,qBAAa,cAAc;aAOP,SAAS,EAAE,MAAM;IANnC,OAAO,CAAC,IAAI,CAAc;IAE1B;IACE;;OAEG;IACa,SAAS,EAAE,MAAM,EAC/B;IAEJ;;OAEG;IACG,IAAI,kBAET;IAEK,cAAc,qCAGnB;IAED;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAGxD;IAED;;;OAGG;IACH,SAAS,IAAI,UAAU,CAEtB;YAKa,WAAW;CAe1B"}
|
package/dest/node/crs/net_crs.js
CHANGED
|
@@ -1,24 +1,4 @@
|
|
|
1
1
|
import { retry, makeBackoff } from '../retry/index.js';
|
|
2
|
-
// Primary CRS host (Cloudflare R2)
|
|
3
|
-
const CRS_PRIMARY_HOST = 'https://crs.aztec-cdn.foundation';
|
|
4
|
-
// Fallback CRS host (AWS S3)
|
|
5
|
-
const CRS_FALLBACK_HOST = 'https://crs.aztec-labs.com';
|
|
6
|
-
/**
|
|
7
|
-
* Fetches data from primary URL, falling back to secondary on failure
|
|
8
|
-
* @internal Exported for testing
|
|
9
|
-
*/
|
|
10
|
-
export async function fetchWithFallback(primaryUrl, fallbackUrl, options) {
|
|
11
|
-
try {
|
|
12
|
-
const response = await fetch(primaryUrl, options);
|
|
13
|
-
if (response.ok || response.status === 206) {
|
|
14
|
-
return response;
|
|
15
|
-
}
|
|
16
|
-
throw new Error(`HTTP ${response.status}`);
|
|
17
|
-
}
|
|
18
|
-
catch {
|
|
19
|
-
return await fetch(fallbackUrl, options);
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
2
|
/**
|
|
23
3
|
* Downloader for CRS from the web or local.
|
|
24
4
|
*/
|
|
@@ -88,22 +68,20 @@ export class NetCrs {
|
|
|
88
68
|
return new Response(new Uint8Array([]));
|
|
89
69
|
}
|
|
90
70
|
const g1End = this.numPoints * 64 - 1;
|
|
91
|
-
|
|
71
|
+
return await retry(() => fetch('https://crs.aztec.network/g1.dat', {
|
|
92
72
|
headers: {
|
|
93
73
|
Range: `bytes=0-${g1End}`,
|
|
94
74
|
},
|
|
95
75
|
cache: 'force-cache',
|
|
96
|
-
};
|
|
97
|
-
return await retry(() => fetchWithFallback(`${CRS_PRIMARY_HOST}/g1.dat`, `${CRS_FALLBACK_HOST}/g1.dat`, options), makeBackoff([5, 5, 5]));
|
|
76
|
+
}), makeBackoff([5, 5, 5]));
|
|
98
77
|
}
|
|
99
78
|
/**
|
|
100
79
|
* Fetches the appropriate range of points from a remote source
|
|
101
80
|
*/
|
|
102
81
|
async fetchG2Data() {
|
|
103
|
-
|
|
82
|
+
return await retry(() => fetch('https://crs.aztec.network/g2.dat', {
|
|
104
83
|
cache: 'force-cache',
|
|
105
|
-
};
|
|
106
|
-
return await retry(() => fetchWithFallback(`${CRS_PRIMARY_HOST}/g2.dat`, `${CRS_FALLBACK_HOST}/g2.dat`, options), makeBackoff([5, 5, 5]));
|
|
84
|
+
}), makeBackoff([5, 5, 5]));
|
|
107
85
|
}
|
|
108
86
|
}
|
|
109
87
|
/**
|
|
@@ -152,13 +130,12 @@ export class NetGrumpkinCrs {
|
|
|
152
130
|
return new Response(new Uint8Array([]));
|
|
153
131
|
}
|
|
154
132
|
const g1End = this.numPoints * 64 - 1;
|
|
155
|
-
|
|
133
|
+
return await fetch('https://crs.aztec.network/grumpkin_g1.dat', {
|
|
156
134
|
headers: {
|
|
157
135
|
Range: `bytes=0-${g1End}`,
|
|
158
136
|
},
|
|
159
137
|
cache: 'force-cache',
|
|
160
|
-
};
|
|
161
|
-
return await fetchWithFallback(`${CRS_PRIMARY_HOST}/grumpkin_g1.dat`, `${CRS_FALLBACK_HOST}/grumpkin_g1.dat`, options);
|
|
138
|
+
});
|
|
162
139
|
}
|
|
163
140
|
}
|
|
164
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
141
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0X2Nycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnMvbmV0X2Nycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3ZEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLE1BQU07SUFRQyxTQUFTO0lBUG5CLElBQUksQ0FBYztJQUNsQixNQUFNLENBQWM7SUFFNUI7SUFDRTs7T0FFRztJQUNhLFNBQWlCLEVBQ2pDO3lCQURnQixTQUFTO0lBQ3hCLENBQUM7SUFFSjs7T0FFRztJQUNILEtBQUssQ0FBQyxJQUFJLEdBQUc7UUFDWCxNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUM1QixNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUFBLENBQzdCO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsWUFBWSxHQUF3QztRQUN4RCxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMxQyxPQUFPLFFBQVEsQ0FBQyxJQUFLLENBQUM7SUFBQSxDQUN2QjtJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLFlBQVksR0FBd0M7UUFDeEQsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDMUMsT0FBTyxRQUFRLENBQUMsSUFBSyxDQUFDO0lBQUEsQ0FDdkI7SUFFRCxLQUFLLENBQUMsY0FBYyxHQUFHO1FBQ3JCLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksVUFBVSxDQUFDLE1BQU0sUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUFBLENBQ25FO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsY0FBYyxHQUFHO1FBQ3JCLE1BQU0s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
|
|
Binary file
|
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Fetches data from primary URL, falling back to secondary on failure
|
|
3
|
-
* @internal Exported for testing
|
|
4
|
-
*/
|
|
5
|
-
export declare function fetchWithFallback(primaryUrl: string, fallbackUrl: string, options: RequestInit): Promise<Response>;
|
|
6
1
|
/**
|
|
7
2
|
* Downloader for CRS from the web or local.
|
|
8
3
|
*/
|
|
@@ -72,4 +67,4 @@ export declare class NetGrumpkinCrs {
|
|
|
72
67
|
getG1Data(): Uint8Array;
|
|
73
68
|
private fetchG1Data;
|
|
74
69
|
}
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0X2Nycy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Nycy9uZXRfY3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBOztHQUVHO0FBQ0gscUJBQWEsTUFBTTthQVFDLFNBQVMsRUFBRSxNQUFNO0lBUG5DLE9BQU8sQ0FBQyxJQUFJLENBQWM7SUFDMUIsT0FBTyxDQUFDLE1BQU0sQ0FBYztJQUU1QjtJQUNFOztPQUVHO0lBQ2EsU0FBUyxFQUFFLE1BQU0sRUFDL0I7SUFFSjs7T0FFRztJQUNHLElBQUksa0JBR1Q7SUFFRDs7T0FFRztJQUNHLFlBQVksSUFBSSxPQUFPLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBR3hEO0lBRUQ7O09BRUc7SUFDRyxZQUFZLElBQUksT0FBTyxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUd4RDtJQUVLLGNBQWMscUNBR25CO0lBRUQ7O09BRUc7SUFDRyxjQUFjLHFDQUduQjtJQUVEOzs7T0FHRztJQUNILFNBQVMsSUFBSSxVQUFVLENBRXRCO0lBRUQ7OztPQUdHO0lBQ0gsU0FBUyxJQUFJLFVBQVUsQ0FFdEI7WUFLYSxXQUFXO1lBc0JYLFdBQVc7Q0FTMUI7QUFFRDs7R0FFRztBQUNILHFCQUFhLGNBQWM7YUFPUCxTQUFTLEVBQUUsTUFBTTtJQU5uQyxPQUFPLENBQUMsSUFBSSxDQUFjO0lBRTFCO0lBQ0U7O09BRUc7SUFDYSxTQUFTLEVBQUUsTUFBTSxFQUMvQjtJQUVKOztPQUVHO0lBQ0csSUFBSSxrQkFFVDtJQUVLLGNBQWMscUNBR25CO0lBRUQ7O09BRUc7SUFDRyxZQUFZLElBQUksT0FBTyxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUd4RDtJQUVEOzs7T0FHRztJQUNILFNBQVMsSUFBSSxVQUFVLENBRXRCO1lBS2EsV0FBVztDQWUxQiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"net_crs.d.ts","sourceRoot":"","sources":["../../../src/crs/net_crs.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"net_crs.d.ts","sourceRoot":"","sources":["../../../src/crs/net_crs.ts"],"names":[],"mappings":"AACA;;GAEG;AACH,qBAAa,MAAM;aAQC,SAAS,EAAE,MAAM;IAPnC,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,MAAM,CAAc;IAE5B;IACE;;OAEG;IACa,SAAS,EAAE,MAAM,EAC/B;IAEJ;;OAEG;IACG,IAAI,kBAGT;IAED;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAGxD;IAED;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAGxD;IAEK,cAAc,qCAGnB;IAED;;OAEG;IACG,cAAc,qCAGnB;IAED;;;OAGG;IACH,SAAS,IAAI,UAAU,CAEtB;IAED;;;OAGG;IACH,SAAS,IAAI,UAAU,CAEtB;YAKa,WAAW;YAsBX,WAAW;CAS1B;AAED;;GAEG;AACH,qBAAa,cAAc;aAOP,SAAS,EAAE,MAAM;IANnC,OAAO,CAAC,IAAI,CAAc;IAE1B;IACE;;OAEG;IACa,SAAS,EAAE,MAAM,EAC/B;IAEJ;;OAEG;IACG,IAAI,kBAET;IAEK,cAAc,qCAGnB;IAED;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAGxD;IAED;;;OAGG;IACH,SAAS,IAAI,UAAU,CAEtB;YAKa,WAAW;CAe1B"}
|
|
@@ -1,28 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.NetGrumpkinCrs = exports.NetCrs = void 0;
|
|
4
|
-
exports.fetchWithFallback = fetchWithFallback;
|
|
5
4
|
const index_js_1 = require("../retry/index.js");
|
|
6
|
-
// Primary CRS host (Cloudflare R2)
|
|
7
|
-
const CRS_PRIMARY_HOST = 'https://crs.aztec-cdn.foundation';
|
|
8
|
-
// Fallback CRS host (AWS S3)
|
|
9
|
-
const CRS_FALLBACK_HOST = 'https://crs.aztec-labs.com';
|
|
10
|
-
/**
|
|
11
|
-
* Fetches data from primary URL, falling back to secondary on failure
|
|
12
|
-
* @internal Exported for testing
|
|
13
|
-
*/
|
|
14
|
-
async function fetchWithFallback(primaryUrl, fallbackUrl, options) {
|
|
15
|
-
try {
|
|
16
|
-
const response = await fetch(primaryUrl, options);
|
|
17
|
-
if (response.ok || response.status === 206) {
|
|
18
|
-
return response;
|
|
19
|
-
}
|
|
20
|
-
throw new Error(`HTTP ${response.status}`);
|
|
21
|
-
}
|
|
22
|
-
catch {
|
|
23
|
-
return await fetch(fallbackUrl, options);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
5
|
/**
|
|
27
6
|
* Downloader for CRS from the web or local.
|
|
28
7
|
*/
|
|
@@ -92,22 +71,20 @@ class NetCrs {
|
|
|
92
71
|
return new Response(new Uint8Array([]));
|
|
93
72
|
}
|
|
94
73
|
const g1End = this.numPoints * 64 - 1;
|
|
95
|
-
|
|
74
|
+
return await (0, index_js_1.retry)(() => fetch('https://crs.aztec.network/g1.dat', {
|
|
96
75
|
headers: {
|
|
97
76
|
Range: `bytes=0-${g1End}`,
|
|
98
77
|
},
|
|
99
78
|
cache: 'force-cache',
|
|
100
|
-
};
|
|
101
|
-
return await (0, index_js_1.retry)(() => fetchWithFallback(`${CRS_PRIMARY_HOST}/g1.dat`, `${CRS_FALLBACK_HOST}/g1.dat`, options), (0, index_js_1.makeBackoff)([5, 5, 5]));
|
|
79
|
+
}), (0, index_js_1.makeBackoff)([5, 5, 5]));
|
|
102
80
|
}
|
|
103
81
|
/**
|
|
104
82
|
* Fetches the appropriate range of points from a remote source
|
|
105
83
|
*/
|
|
106
84
|
async fetchG2Data() {
|
|
107
|
-
|
|
85
|
+
return await (0, index_js_1.retry)(() => fetch('https://crs.aztec.network/g2.dat', {
|
|
108
86
|
cache: 'force-cache',
|
|
109
|
-
};
|
|
110
|
-
return await (0, index_js_1.retry)(() => fetchWithFallback(`${CRS_PRIMARY_HOST}/g2.dat`, `${CRS_FALLBACK_HOST}/g2.dat`, options), (0, index_js_1.makeBackoff)([5, 5, 5]));
|
|
87
|
+
}), (0, index_js_1.makeBackoff)([5, 5, 5]));
|
|
111
88
|
}
|
|
112
89
|
}
|
|
113
90
|
exports.NetCrs = NetCrs;
|
|
@@ -157,14 +134,13 @@ class NetGrumpkinCrs {
|
|
|
157
134
|
return new Response(new Uint8Array([]));
|
|
158
135
|
}
|
|
159
136
|
const g1End = this.numPoints * 64 - 1;
|
|
160
|
-
|
|
137
|
+
return await fetch('https://crs.aztec.network/grumpkin_g1.dat', {
|
|
161
138
|
headers: {
|
|
162
139
|
Range: `bytes=0-${g1End}`,
|
|
163
140
|
},
|
|
164
141
|
cache: 'force-cache',
|
|
165
|
-
};
|
|
166
|
-
return await fetchWithFallback(`${CRS_PRIMARY_HOST}/grumpkin_g1.dat`, `${CRS_FALLBACK_HOST}/grumpkin_g1.dat`, options);
|
|
142
|
+
});
|
|
167
143
|
}
|
|
168
144
|
}
|
|
169
145
|
exports.NetGrumpkinCrs = NetGrumpkinCrs;
|
|
170
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
146
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0X2Nycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jcnMvbmV0X2Nycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxnREFBdUQ7QUFDdkQ7O0dBRUc7QUFDSDtJQVFvQixTQUFTO0lBUG5CLElBQUksQ0FBYztJQUNsQixNQUFNLENBQWM7SUFFNUI7SUFDRTs7T0FFRztJQUNhLFNBQWlCLEVBQ2pDO3lCQURnQixTQUFTO0lBQ3hCLENBQUM7SUFFSjs7T0FFRztJQUNILEtBQUssQ0FBQyxJQUFJLEdBQUc7UUFDWCxNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUM1QixNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUFBLENBQzdCO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsWUFBWSxHQUF3QztRQUN4RCxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUMxQyxPQUFPLFFBQVEsQ0FBQyxJQUFLLENBQUM7SUFBQSxDQUN2QjtJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLFlBQVksR0FBd0M7UUFDeEQsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDMUMsT0FBTyxRQUFRLENBQUMsSUFBSyxDQUFDO0lBQUEsQ0FDdkI7SUFFRCxLQUFLLENBQUMsY0FBYyxHQUFHO1FBQ3JCLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksVUFBVSxDQUFDLE1BQU0sUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUFBLENBQ25FO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsY0FBYyxHQUFHO1FBQ3JCLE1BQU0sU0FBUyxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzNDLE9BQU8s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
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/bb.js",
|
|
3
3
|
"packageManager": "yarn@4.5.2",
|
|
4
|
-
"version": "0.0.1-commit.
|
|
4
|
+
"version": "0.0.1-commit.86469d5",
|
|
5
5
|
"homepage": "https://github.com/AztecProtocol/aztec-packages/tree/master/barretenberg/ts",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"type": "module",
|
package/src/crs/net_crs.ts
CHANGED
|
@@ -1,30 +1,4 @@
|
|
|
1
1
|
import { retry, makeBackoff } from '../retry/index.js';
|
|
2
|
-
|
|
3
|
-
// Primary CRS host (Cloudflare R2)
|
|
4
|
-
const CRS_PRIMARY_HOST = 'https://crs.aztec-cdn.foundation';
|
|
5
|
-
// Fallback CRS host (AWS S3)
|
|
6
|
-
const CRS_FALLBACK_HOST = 'https://crs.aztec-labs.com';
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Fetches data from primary URL, falling back to secondary on failure
|
|
10
|
-
* @internal Exported for testing
|
|
11
|
-
*/
|
|
12
|
-
export async function fetchWithFallback(
|
|
13
|
-
primaryUrl: string,
|
|
14
|
-
fallbackUrl: string,
|
|
15
|
-
options: RequestInit,
|
|
16
|
-
): Promise<Response> {
|
|
17
|
-
try {
|
|
18
|
-
const response = await fetch(primaryUrl, options);
|
|
19
|
-
if (response.ok || response.status === 206) {
|
|
20
|
-
return response;
|
|
21
|
-
}
|
|
22
|
-
throw new Error(`HTTP ${response.status}`);
|
|
23
|
-
} catch {
|
|
24
|
-
return await fetch(fallbackUrl, options);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
|
|
28
2
|
/**
|
|
29
3
|
* Downloader for CRS from the web or local.
|
|
30
4
|
*/
|
|
@@ -102,14 +76,14 @@ export class NetCrs {
|
|
|
102
76
|
}
|
|
103
77
|
|
|
104
78
|
const g1End = this.numPoints * 64 - 1;
|
|
105
|
-
const options: RequestInit = {
|
|
106
|
-
headers: {
|
|
107
|
-
Range: `bytes=0-${g1End}`,
|
|
108
|
-
},
|
|
109
|
-
cache: 'force-cache',
|
|
110
|
-
};
|
|
111
79
|
return await retry(
|
|
112
|
-
() =>
|
|
80
|
+
() =>
|
|
81
|
+
fetch('https://crs.aztec.network/g1.dat', {
|
|
82
|
+
headers: {
|
|
83
|
+
Range: `bytes=0-${g1End}`,
|
|
84
|
+
},
|
|
85
|
+
cache: 'force-cache',
|
|
86
|
+
}),
|
|
113
87
|
makeBackoff([5, 5, 5]),
|
|
114
88
|
);
|
|
115
89
|
}
|
|
@@ -118,11 +92,11 @@ export class NetCrs {
|
|
|
118
92
|
* Fetches the appropriate range of points from a remote source
|
|
119
93
|
*/
|
|
120
94
|
private async fetchG2Data(): Promise<Response> {
|
|
121
|
-
const options: RequestInit = {
|
|
122
|
-
cache: 'force-cache',
|
|
123
|
-
};
|
|
124
95
|
return await retry(
|
|
125
|
-
() =>
|
|
96
|
+
() =>
|
|
97
|
+
fetch('https://crs.aztec.network/g2.dat', {
|
|
98
|
+
cache: 'force-cache',
|
|
99
|
+
}),
|
|
126
100
|
makeBackoff([5, 5, 5]),
|
|
127
101
|
);
|
|
128
102
|
}
|
|
@@ -179,17 +153,12 @@ export class NetGrumpkinCrs {
|
|
|
179
153
|
}
|
|
180
154
|
|
|
181
155
|
const g1End = this.numPoints * 64 - 1;
|
|
182
|
-
|
|
156
|
+
|
|
157
|
+
return await fetch('https://crs.aztec.network/grumpkin_g1.dat', {
|
|
183
158
|
headers: {
|
|
184
159
|
Range: `bytes=0-${g1End}`,
|
|
185
160
|
},
|
|
186
161
|
cache: 'force-cache',
|
|
187
|
-
};
|
|
188
|
-
|
|
189
|
-
return await fetchWithFallback(
|
|
190
|
-
`${CRS_PRIMARY_HOST}/grumpkin_g1.dat`,
|
|
191
|
-
`${CRS_FALLBACK_HOST}/grumpkin_g1.dat`,
|
|
192
|
-
options,
|
|
193
|
-
);
|
|
162
|
+
});
|
|
194
163
|
}
|
|
195
164
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"net_crs.test.d.ts","sourceRoot":"","sources":["../../../src/crs/net_crs.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { NetCrs, fetchWithFallback } from './net_crs.js';
|
|
2
|
-
// Expected first G1 point from BN254 CRS (generator point with x=1, y=2 in big-endian)
|
|
3
|
-
const BN254_G1_FIRST_ELEMENT = new Uint8Array([
|
|
4
|
-
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
5
|
-
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,
|
|
6
|
-
]);
|
|
7
|
-
describe('NetCrs', () => {
|
|
8
|
-
it('should download CRS data from primary host', async () => {
|
|
9
|
-
const crs = new NetCrs(1);
|
|
10
|
-
await crs.init();
|
|
11
|
-
const g1Data = crs.getG1Data();
|
|
12
|
-
expect(g1Data.length).toBe(64); // 1 point * 64 bytes
|
|
13
|
-
// Verify first point matches expected generator
|
|
14
|
-
expect(g1Data).toEqual(BN254_G1_FIRST_ELEMENT);
|
|
15
|
-
}, 30000);
|
|
16
|
-
it('should download G2 data', async () => {
|
|
17
|
-
const crs = new NetCrs(1);
|
|
18
|
-
await crs.init();
|
|
19
|
-
const g2Data = crs.getG2Data();
|
|
20
|
-
expect(g2Data.length).toBe(128); // G2 point is 128 bytes
|
|
21
|
-
}, 30000);
|
|
22
|
-
});
|
|
23
|
-
describe('fetchWithFallback', () => {
|
|
24
|
-
it('should fallback to secondary URL when primary fails', async () => {
|
|
25
|
-
const badPrimaryUrl = 'https://nonexistent.invalid/g1.dat';
|
|
26
|
-
const goodFallbackUrl = 'https://crs.aztec-labs.com/g1.dat';
|
|
27
|
-
const options = {
|
|
28
|
-
headers: {
|
|
29
|
-
Range: 'bytes=0-63',
|
|
30
|
-
},
|
|
31
|
-
};
|
|
32
|
-
const response = await fetchWithFallback(badPrimaryUrl, goodFallbackUrl, options);
|
|
33
|
-
expect(response.ok || response.status === 206).toBe(true);
|
|
34
|
-
const data = new Uint8Array(await response.arrayBuffer());
|
|
35
|
-
expect(data.length).toBe(64);
|
|
36
|
-
expect(data).toEqual(BN254_G1_FIRST_ELEMENT);
|
|
37
|
-
}, 30000);
|
|
38
|
-
});
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0X2Nycy50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Nycy9uZXRfY3JzLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUV6RCx1RkFBdUY7QUFDdkYsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLFVBQVUsQ0FBQztJQUM1QyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO0lBQ3RILENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztDQUN2RSxDQUFDLENBQUM7QUFFSCxRQUFRLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLEVBQUUsQ0FBQyw0Q0FBNEMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDO1FBQzNELE1BQU0sR0FBRyxHQUFHLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFCLE1BQU0sR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO1FBRWpCLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUMvQixNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLHFCQUFxQjtRQUVyRCxnREFBZ0Q7UUFDaEQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQUEsQ0FDaEQsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUVWLEVBQUUsQ0FBQyx5QkFBeUIsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ3hDLE1BQU0sR0FBRyxHQUFHLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFCLE1BQU0sR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO1FBRWpCLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUMvQixNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLHdCQUF3QjtJQUF6QixDQUNqQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQUEsQ0FDWCxDQUFDLENBQUM7QUFFSCxRQUFRLENBQUMsbUJBQW1CLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDbEMsRUFBRSxDQUFDLHFEQUFxRCxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDcEUsTUFBTSxhQUFhLEdBQUcsb0NBQW9DLENBQUM7UUFDM0QsTUFBTSxlQUFlLEdBQUcsbUNBQW1DLENBQUM7UUFDNUQsTUFBTSxPQUFPLEdBQWdCO1lBQzNCLE9BQU8sRUFBRTtnQkFDUCxLQUFLLEVBQUUsWUFBWTthQUNwQjtTQUNGLENBQUM7UUFFRixNQUFNLFFBQVEsR0FBRyxNQUFNLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxlQUFlLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDbEYsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLElBQUksUUFBUSxDQUFDLE1BQU0sS0FBSyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFMUQsTUFBTSxJQUFJLEdBQUcsSUFBSSxVQUFVLENBQUMsTUFBTSxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUMxRCxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM3QixNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFBQSxDQUM5QyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQUEsQ0FDWCxDQUFDLENBQUMifQ==
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"net_crs.test.d.ts","sourceRoot":"","sources":["../../../src/crs/net_crs.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const net_crs_js_1 = require("./net_crs.js");
|
|
4
|
-
// Expected first G1 point from BN254 CRS (generator point with x=1, y=2 in big-endian)
|
|
5
|
-
const BN254_G1_FIRST_ELEMENT = new Uint8Array([
|
|
6
|
-
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
7
|
-
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,
|
|
8
|
-
]);
|
|
9
|
-
describe('NetCrs', () => {
|
|
10
|
-
it('should download CRS data from primary host', async () => {
|
|
11
|
-
const crs = new net_crs_js_1.NetCrs(1);
|
|
12
|
-
await crs.init();
|
|
13
|
-
const g1Data = crs.getG1Data();
|
|
14
|
-
expect(g1Data.length).toBe(64); // 1 point * 64 bytes
|
|
15
|
-
// Verify first point matches expected generator
|
|
16
|
-
expect(g1Data).toEqual(BN254_G1_FIRST_ELEMENT);
|
|
17
|
-
}, 30000);
|
|
18
|
-
it('should download G2 data', async () => {
|
|
19
|
-
const crs = new net_crs_js_1.NetCrs(1);
|
|
20
|
-
await crs.init();
|
|
21
|
-
const g2Data = crs.getG2Data();
|
|
22
|
-
expect(g2Data.length).toBe(128); // G2 point is 128 bytes
|
|
23
|
-
}, 30000);
|
|
24
|
-
});
|
|
25
|
-
describe('fetchWithFallback', () => {
|
|
26
|
-
it('should fallback to secondary URL when primary fails', async () => {
|
|
27
|
-
const badPrimaryUrl = 'https://nonexistent.invalid/g1.dat';
|
|
28
|
-
const goodFallbackUrl = 'https://crs.aztec-labs.com/g1.dat';
|
|
29
|
-
const options = {
|
|
30
|
-
headers: {
|
|
31
|
-
Range: 'bytes=0-63',
|
|
32
|
-
},
|
|
33
|
-
};
|
|
34
|
-
const response = await (0, net_crs_js_1.fetchWithFallback)(badPrimaryUrl, goodFallbackUrl, options);
|
|
35
|
-
expect(response.ok || response.status === 206).toBe(true);
|
|
36
|
-
const data = new Uint8Array(await response.arrayBuffer());
|
|
37
|
-
expect(data.length).toBe(64);
|
|
38
|
-
expect(data).toEqual(BN254_G1_FIRST_ELEMENT);
|
|
39
|
-
}, 30000);
|
|
40
|
-
});
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0X2Nycy50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Nycy9uZXRfY3JzLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSw2Q0FBeUQ7QUFFekQsdUZBQXVGO0FBQ3ZGLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxVQUFVLENBQUM7SUFDNUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUN0SCxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7Q0FDdkUsQ0FBQyxDQUFDO0FBRUgsUUFBUSxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUN2QixFQUFFLENBQUMsNENBQTRDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUMzRCxNQUFNLEdBQUcsR0FBRyxJQUFJLG1CQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUIsTUFBTSxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFakIsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQy9CLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMscUJBQXFCO1FBRXJELGdEQUFnRDtRQUNoRCxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFBQSxDQUNoRCxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBRVYsRUFBRSxDQUFDLHlCQUF5QixFQUFFLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDeEMsTUFBTSxHQUFHLEdBQUcsSUFBSSxtQkFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFCLE1BQU0sR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO1FBRWpCLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUMvQixNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLHdCQUF3QjtJQUF6QixDQUNqQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQUEsQ0FDWCxDQUFDLENBQUM7QUFFSCxRQUFRLENBQUMsbUJBQW1CLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDbEMsRUFBRSxDQUFDLHFEQUFxRCxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDcEUsTUFBTSxhQUFhLEdBQUcsb0NBQW9DLENBQUM7UUFDM0QsTUFBTSxlQUFlLEdBQUcsbUNBQW1DLENBQUM7UUFDNUQsTUFBTSxPQUFPLEdBQWdCO1lBQzNCLE9BQU8sRUFBRTtnQkFDUCxLQUFLLEVBQUUsWUFBWTthQUNwQjtTQUNGLENBQUM7UUFFRixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUEsOEJBQWlCLEVBQUMsYUFBYSxFQUFFLGVBQWUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNsRixNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsSUFBSSxRQUFRLENBQUMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUUxRCxNQUFNLElBQUksR0FBRyxJQUFJLFVBQVUsQ0FBQyxNQUFNLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQzFELE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzdCLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUFBLENBQzlDLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFBQSxDQUNYLENBQUMsQ0FBQyJ9
|
package/src/crs/net_crs.test.ts
DELETED
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { NetCrs, fetchWithFallback } from './net_crs.js';
|
|
2
|
-
|
|
3
|
-
// Expected first G1 point from BN254 CRS (generator point with x=1, y=2 in big-endian)
|
|
4
|
-
const BN254_G1_FIRST_ELEMENT = new Uint8Array([
|
|
5
|
-
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
6
|
-
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,
|
|
7
|
-
]);
|
|
8
|
-
|
|
9
|
-
describe('NetCrs', () => {
|
|
10
|
-
it('should download CRS data from primary host', async () => {
|
|
11
|
-
const crs = new NetCrs(1);
|
|
12
|
-
await crs.init();
|
|
13
|
-
|
|
14
|
-
const g1Data = crs.getG1Data();
|
|
15
|
-
expect(g1Data.length).toBe(64); // 1 point * 64 bytes
|
|
16
|
-
|
|
17
|
-
// Verify first point matches expected generator
|
|
18
|
-
expect(g1Data).toEqual(BN254_G1_FIRST_ELEMENT);
|
|
19
|
-
}, 30000);
|
|
20
|
-
|
|
21
|
-
it('should download G2 data', async () => {
|
|
22
|
-
const crs = new NetCrs(1);
|
|
23
|
-
await crs.init();
|
|
24
|
-
|
|
25
|
-
const g2Data = crs.getG2Data();
|
|
26
|
-
expect(g2Data.length).toBe(128); // G2 point is 128 bytes
|
|
27
|
-
}, 30000);
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
describe('fetchWithFallback', () => {
|
|
31
|
-
it('should fallback to secondary URL when primary fails', async () => {
|
|
32
|
-
const badPrimaryUrl = 'https://nonexistent.invalid/g1.dat';
|
|
33
|
-
const goodFallbackUrl = 'https://crs.aztec-labs.com/g1.dat';
|
|
34
|
-
const options: RequestInit = {
|
|
35
|
-
headers: {
|
|
36
|
-
Range: 'bytes=0-63',
|
|
37
|
-
},
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
const response = await fetchWithFallback(badPrimaryUrl, goodFallbackUrl, options);
|
|
41
|
-
expect(response.ok || response.status === 206).toBe(true);
|
|
42
|
-
|
|
43
|
-
const data = new Uint8Array(await response.arrayBuffer());
|
|
44
|
-
expect(data.length).toBe(64);
|
|
45
|
-
expect(data).toEqual(BN254_G1_FIRST_ELEMENT);
|
|
46
|
-
}, 30000);
|
|
47
|
-
});
|