PubKey
Notice
A class representing a public key This is a MACI public key, which is not to be confused with an Ethereum public key. A serialized MACI public key is prefixed by 'macipk.' A raw MACI public key can be thought as a pair of BigIntegers (x, y) representing a point on the baby jubjub curve
Table of contents
Constructors
Properties
Methods
- asArray
- asCircuitInputs
- asContractParam
- copy
- equals
- hash
- serialize
- toJSON
- deserialize
- fromJSON
- isValidSerializedPubKey
Constructors
constructor
• new PubKey(rawPubKey
, allowInvalid?
): PubKey
Create a new instance of a public key
Parameters
Name | Type | Default value | Description |
---|---|---|---|
rawPubKey | PubKey | undefined | the raw public key |
allowInvalid | boolean | false | whether to allow invalid public keys |
Returns
Dev
You might want to allow an invalid raw key, as when decrypting invalid messages, the public key data will be random, and likely not be a point on the curve. However we need to match keys to the circuit which does not perform such checks
Defined in
publicKey.ts:30
Properties
rawPubKey
• rawPubKey: PubKey
Defined in
publicKey.ts:18
Methods
asArray
▸ asArray(): bigint
[]
Return this public key as an array of bigints
Returns
bigint
[]
the public key as an array of bigints
Defined in
publicKey.ts:66
asCircuitInputs
▸ asCircuitInputs(): string
[]
Return this public key as circuit inputs
Returns
string
[]
an array of strings
Defined in
publicKey.ts:60
asContractParam
▸ asContractParam(): IG1ContractParams
Return this public key as smart contract parameters
Returns
the public key as smart contract parameters
Defined in
publicKey.ts:47
copy
▸ copy(): PubKey
Create a copy of the public key
Returns
a copy of the public key
Defined in
publicKey.ts:41
equals
▸ equals(p
): boolean
Check whether this public key equals to another public key
Parameters
Name | Type | Description |
---|---|---|
p | PubKey | the public key to compare with |
Returns
boolean
whether they match
Defined in
publicKey.ts:93
hash
▸ hash(): bigint
Hash the two baby jubjub coordinates
Returns
bigint
the hash of this public key
Defined in
publicKey.ts:86
serialize
▸ serialize(): string
Generate a serialized public key from this public key object
Returns
string
the string representation of a serialized public key
Defined in
publicKey.ts:72
toJSON
▸ toJSON(): IJsonPublicKey
Serialize this object
Returns
Defined in
publicKey.ts:124
deserialize
▸ deserialize(s
): PubKey
Deserialize a serialized public key
Parameters
Name | Type | Description |
---|---|---|
s | string | the serialized public key |
Returns
the deserialized public key
Defined in
publicKey.ts:100
fromJSON
▸ fromJSON(json
): PubKey
Deserialize a JSON object into a PubKey instance
Parameters
Name | Type | Description |
---|---|---|
json | IJsonPublicKey | the json object |
Returns
PubKey
Defined in
publicKey.ts:135
isValidSerializedPubKey
▸ isValidSerializedPubKey(s
): boolean
Check whether a serialized public key is serialized correctly
Parameters
Name | Type | Description |
---|---|---|
s | string | the serialized public key |
Returns
boolean
whether the serialized public key is valid
Defined in
publicKey.ts:110