Merge pull request #642 from dark64/develop
Add metadata to zokrates.js
This commit is contained in:
commit
61948e66d4
7 changed files with 36 additions and 8 deletions
3
zokrates_js/.gitignore
vendored
3
zokrates_js/.gitignore
vendored
|
@ -4,4 +4,5 @@ target
|
|||
pkg
|
||||
wasm-pack.log
|
||||
stdlib
|
||||
stdlib.json
|
||||
stdlib.json
|
||||
metadata.json
|
|
@ -3,10 +3,11 @@ const gulp = require('gulp');
|
|||
const dree = require('dree');
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
const toml = require('toml');
|
||||
|
||||
/** stdlib constants */
|
||||
const stdlibRoot = '../zokrates_stdlib/stdlib';
|
||||
const output = 'stdlib.json';
|
||||
const stdlibOutput = 'stdlib.json';
|
||||
|
||||
const options = {
|
||||
extensions: ['zok']
|
||||
|
@ -22,6 +23,17 @@ gulp.task('stdlib', (done) => {
|
|||
stdlib[file.relativePath] = content;
|
||||
});
|
||||
|
||||
fs.writeFileSync(path.resolve(__dirname, output), JSON.stringify(stdlib));
|
||||
fs.writeFileSync(path.resolve(__dirname, stdlibOutput), JSON.stringify(stdlib));
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
gulp.task('metadata', (done) => {
|
||||
const config = toml.parse(fs.readFileSync('../zokrates_cli/Cargo.toml').toString());
|
||||
const metadata = JSON.stringify({
|
||||
version: config.package.version
|
||||
});
|
||||
fs.writeFileSync(path.resolve(__dirname, 'metadata.json'), metadata);
|
||||
done();
|
||||
});
|
||||
|
||||
gulp.task('setup', gulp.series('stdlib', 'metadata'));
|
5
zokrates_js/index.d.ts
vendored
5
zokrates_js/index.d.ts
vendored
|
@ -60,5 +60,10 @@ declare module 'zokrates-js' {
|
|||
generateProof(program: Uint8Array, witness: string, provingKey: Uint8Array): Proof;
|
||||
}
|
||||
|
||||
export interface Metadata {
|
||||
version: string
|
||||
}
|
||||
|
||||
export function initialize(): Promise<ZoKratesProvider>;
|
||||
export var metadata: Metadata;
|
||||
}
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
import wrapper from './wrapper';
|
||||
import stdlib from './stdlib.json';
|
||||
import metadata from './metadata.json';
|
||||
|
||||
const initialize = async () => {
|
||||
const zokrates = await import('./pkg/index.js');
|
||||
return wrapper({ zokrates, stdlib });
|
||||
}
|
||||
|
||||
export { initialize };
|
||||
export { initialize, metadata };
|
|
@ -1,5 +1,6 @@
|
|||
const wrapper = require('../wrapper.js');
|
||||
const stdlib = require('../stdlib.json');
|
||||
const metadata = require('../metadata.json');
|
||||
|
||||
const initialize = async () => {
|
||||
return wrapper({
|
||||
|
@ -8,4 +9,4 @@ const initialize = async () => {
|
|||
});
|
||||
}
|
||||
|
||||
module.exports = { initialize };
|
||||
module.exports = { initialize, metadata };
|
6
zokrates_js/package-lock.json
generated
6
zokrates_js/package-lock.json
generated
|
@ -4572,6 +4572,12 @@
|
|||
"through2": "^2.0.3"
|
||||
}
|
||||
},
|
||||
"toml": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/toml/-/toml-3.0.0.tgz",
|
||||
"integrity": "sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==",
|
||||
"dev": true
|
||||
},
|
||||
"type": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz",
|
||||
|
|
|
@ -16,12 +16,13 @@
|
|||
"index.d.ts",
|
||||
"wrapper.js",
|
||||
"stdlib.json",
|
||||
"metadata.json",
|
||||
"README.md"
|
||||
],
|
||||
"types": "index.d.ts",
|
||||
"scripts": {
|
||||
"wasm-pack": "wasm-pack build --out-name index --release",
|
||||
"setup": "npm install && gulp stdlib",
|
||||
"setup": "npm install && gulp setup",
|
||||
"prebuild": "npm run setup",
|
||||
"build": "npm run build:bundler && npm run build:node",
|
||||
"build:bundler": "rimraf pkg && npm run wasm-pack -- --target bundler && npm run clean-pkg",
|
||||
|
@ -39,7 +40,8 @@
|
|||
"mocha": "^7.1.1",
|
||||
"rimraf": "^3.0.2",
|
||||
"serve": "^11.3.2",
|
||||
"text-encoding": "^0.7.0"
|
||||
"text-encoding": "^0.7.0",
|
||||
"toml": "^3.0.0"
|
||||
},
|
||||
"dependencies": {}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue