0.0.36 • Published 1 year ago

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

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year 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

1 year ago

0.0.31

1 year ago

0.0.32

1 year ago

0.0.33

1 year ago

0.0.34

1 year ago

0.0.35

1 year ago

0.0.36

1 year ago

0.0.26

1 year ago

0.0.27

1 year ago

0.0.28

1 year ago

0.0.29

1 year ago

0.0.20

1 year ago

0.0.21

1 year ago

0.0.22

1 year ago

0.0.23

1 year ago

0.0.24

1 year ago

0.0.25

1 year ago

0.0.15

1 year ago

0.0.16

1 year ago

0.0.17

1 year ago

0.0.18

1 year ago

0.0.19

1 year ago

0.0.14

1 year ago

0.0.13

1 year ago

0.0.12

1 year ago

0.0.11

1 year ago

0.0.10

1 year ago

0.0.9

1 year ago

0.0.8

1 year ago

0.0.7

1 year ago

0.0.6

1 year ago

0.0.5

1 year ago

0.0.4

1 year ago

0.0.3

1 year ago

0.0.2-1

1 year ago

0.0.2-0

1 year ago

0.0.2

1 year ago

0.0.1

1 year ago