0.0.36 • Published 2 years ago

@big-whale-labs/seal-hub-kit v0.0.36

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

SealHub Kit

Set of functions useful when working with the commitments generated by SealHub

Available functions

createMessage(address: string) => string

Create a message to sign

Parameters

  • address: string — wallet owner address

generateInputs(signature: string, message: string, provider: Provider)

Generates an input to create a zk proof

Parameters

  • message: string — a message created using the createMessage(wallet.address) function
  • signature: string — signature made by wallet.signMessage(message)
  • provider: Provider — abstract Ethereum provider

Returns

{
  commitmentMerkleRootIndex: number
  pathIndices: number[]
  siblings: string[]
  TPreComputes: string[][][][]
  U: string[][]
  s: string[][]
  r: string[][]
}

Example

import { Wallet, providers } from 'ethers'
import { createMessage, generateCommitment } from '@big-whale-labs/seal-hub-kit'

const provider = new providers.InfuraProvider('goerli')
const wallet = new Wallet()
const message = createMessage(wallet.address)
const signature = wallet.signMessage(message)

const zkInput = generateInputs(signature, message, provider)

generateSignatureInputs(signature: string, message: string)

Generates an input to create a commitment's zk proof

Parameters

  • message: string — a message created using the createMessage(wallet.address) function
  • signature: string — signature made by wallet.signMessage(message)

Returns

{
  TPreComputes: string[][][][]
  U: string[][]
  s: string[][]
  r: string[][]
}

generateCommitment(signature: string, message: string) => string

Create a commitment based on the message and signature

Parameters

  • message: string — a message created using the createMessage(wallet.address) function
  • signature: string — signature made by wallet.signMessage(message)

Example

import { Wallet } from 'ethers'
import { createMessage, generateCommitment } from '@big-whale-labs/seal-hub-kit'

const wallet = new Wallet()
const message = createMessage(wallet.address)
const signature = wallet.signMessage(message)

const commitment = generateCommitment(signature, message)

hasCommitment(commitment: string | bigint, provider: Provider) => boolean

Checks for a commitment in the SealHub contract

Parameters

  • commitment: string | bigint — hash generated by generateCommitment
  • provider: Provider — abstract Ethereum provider

Available Scripts

  • yarn start — development mode, rebuilds on changes
  • yarn build — builds utils
  • yarn release — create a release and publish the package
0.0.30

2 years ago

0.0.31

2 years ago

0.0.32

2 years ago

0.0.33

2 years ago

0.0.34

2 years ago

0.0.35

2 years ago

0.0.36

2 years ago

0.0.26

2 years ago

0.0.27

2 years ago

0.0.28

2 years ago

0.0.29

2 years ago

0.0.20

2 years ago

0.0.21

2 years ago

0.0.22

2 years ago

0.0.23

2 years ago

0.0.24

2 years ago

0.0.25

2 years ago

0.0.15

2 years ago

0.0.16

2 years ago

0.0.17

2 years ago

0.0.18

2 years ago

0.0.19

2 years ago

0.0.14

3 years ago

0.0.13

3 years ago

0.0.12

3 years ago

0.0.11

3 years ago

0.0.10

3 years ago

0.0.9

3 years ago

0.0.8

3 years ago

0.0.7

3 years ago

0.0.6

3 years ago

0.0.5

3 years ago

0.0.4

3 years ago

0.0.3

3 years ago

0.0.2-1

3 years ago

0.0.2-0

3 years ago

0.0.2

3 years ago

0.0.1

3 years ago