27 lines
518 B
JavaScript
27 lines
518 B
JavaScript
|
import { buildPedersenHash } from 'circomlibjs'
|
||
|
|
||
|
class Pedersen {
|
||
|
constructor() {
|
||
|
this.pedersenHash = null
|
||
|
this.babyJub = null
|
||
|
this.initPedersen()
|
||
|
}
|
||
|
|
||
|
async initPedersen() {
|
||
|
this.pedersenHash = await buildPedersenHash()
|
||
|
this.babyJub = this.pedersenHash.babyJub
|
||
|
}
|
||
|
|
||
|
unpackPoint(buffer) {
|
||
|
return this.babyJub.unpackPoint(this.pedersenHash.hash(buffer))
|
||
|
}
|
||
|
|
||
|
toStringBuffer(buffer) {
|
||
|
return this.babyJub.F.toString(buffer)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
const pedersen = new Pedersen()
|
||
|
|
||
|
export { pedersen }
|