Cli Module
Table of contents
Interfaces
- DeployArgs
- DeployPollArgs
- DeployedContracts
- GenLocalStateArgs
- GenProofsArgs
- IGenKeypairArgs
- IGetPollArgs
- IGetPollData
- IPublishBatchArgs
- IPublishBatchData
- IPublishMessage
- IRegisteredUserArgs
- ISignupData
- MergeMessagesArgs
- MergeSignupsArgs
- PollContracts
- ProveOnChainArgs
- PublishArgs
- SignupArgs
- TallyData
- VerifyArgs
Functions
- checkVerifyingKeys
- deploy
- deployPoll
- deployVkRegistryContract
- fundWallet
- genKeyPair
- genLocalState
- genMaciPubKey
- genProofs
- getPoll
- isRegisteredUser
- mergeMessages
- mergeSignups
- proveOnChain
- publish
- publishBatch
- setVerifyingKeys
- signup
- timeTravel
- verify
Functions
checkVerifyingKeys
▸ checkVerifyingKeys(CheckVerifyingKeysArgs): Promise<boolean>
Command to confirm that the verifying keys in the contract match the local ones
Parameters
| Name | Type | Description |
|---|---|---|
CheckVerifyingKeysArgs | CheckVerifyingKeysArgs | The arguments for the checkVerifyingKeys command |
Returns
Promise<boolean>
Whether the verifying keys match or not
Note
see different options for zkey files to use specific circuits https://maci.pse.dev/docs/trusted-setup, https://maci.pse.dev/docs/testing/#pre-compiled-artifacts-for-testing
Defined in
commands/checkVerifyingKeys.ts:27
deploy
▸ deploy(DeployArgs): Promise<DeployedContracts>
Deploy MACI and related contracts
Parameters
| Name | Type | Description |
|---|---|---|
DeployArgs | DeployArgs | The arguments for the deploy command |
Returns
Promise<DeployedContracts>
The addresses of the deployed contracts
Defined in
commands/deploy.ts:25
deployPoll
▸ deployPoll(DeployPollArgs): Promise<PollContracts>
Deploy a new Poll for the set of MACI's contracts already deployed
Parameters
| Name | Type | Description |
|---|---|---|
DeployPollArgs | DeployPollArgs | The arguments for the deployPoll command |
Returns
Promise<PollContracts>
The addresses of the deployed contracts
Defined in
commands/deployPoll.ts:21
deployVkRegistryContract
▸ deployVkRegistryContract(quiet): Promise<string>
Deploy the vkRegistry contract
Parameters
| Name | Type | Description |
|---|---|---|
quiet | DeployVkRegistryArgs | whether to print the contract address |
Returns
Promise<string>
Defined in
commands/deployVkRegistry.ts:20
fundWallet
▸ fundWallet(«destructured»): Promise<void>
Fund a new wallet with Ether
Parameters
| Name | Type |
|---|---|
«destructured» | FundWalletArgs |
Returns
Promise<void>
Defined in
commands/fundWallet.ts:9
genKeyPair
▸ genKeyPair(args): Object
Generate a new Maci Key Pair and print it to the screen
Parameters
| Name | Type | Description |
|---|---|---|
args | IGenKeypairArgs | keypair generation params |
Returns
Object
- keypair
| Name | Type |
|---|---|
privateKey | string |
publicKey | string |
Defined in
commands/genKeyPair.ts:15
genLocalState
▸ genLocalState(GenLocalStateArgs): Promise<void>
Generate a local MACI state from the smart contracts events
Parameters
| Name | Type | Description |
|---|---|---|
GenLocalStateArgs | GenLocalStateArgs | The arguments for the genLocalState command |
Returns
Promise<void>
Defined in
commands/genLocalState.ts:29
genMaciPubKey
▸ genMaciPubKey(privkey, quiet?): string
Generate a new Maci Public key from a private key
Parameters
| Name | Type | Default value | Description |
|---|---|---|---|
privkey | string | undefined | - |
quiet | boolean | true | whether to log the output |
Returns
string
the public key serialized
Defined in
commands/genPubKey.ts:13
genProofs
▸ genProofs(GenProofsArgs): Promise<TallyData>
Generate proofs for the message processing and tally calculations
Parameters
| Name | Type | Description |
|---|---|---|
GenProofsArgs | GenProofsArgs | The arguments for the genProofs command |
Returns
Promise<TallyData>
The tally data
Note
see different options for zkey files to use specific circuits https://maci.pse.dev/docs/trusted-setup, https://maci.pse.dev/docs/testing/#pre-compiled-artifacts-for-testing
Defined in
commands/genProofs.ts:40
getPoll
▸ getPoll(args): Promise<IGetPollData>
Get deployed poll from MACI contract
Parameters
| Name | Type | Description |
|---|---|---|
args | IGetPollArgs | The arguments for the get poll command |
Returns
Promise<IGetPollData>
poll data
Defined in
commands/poll.ts:14
isRegisteredUser
▸ isRegisteredUser(IRegisteredArgs): Promise<{ isRegistered: boolean ; stateIndex?: string ; voiceCredits?: string }>
Checks if user is registered with public key
Parameters
| Name | Type | Description |
|---|---|---|
IRegisteredArgs | IRegisteredUserArgs | The arguments for the register check command |
Returns
Promise<{ isRegistered: boolean ; stateIndex?: string ; voiceCredits?: string }>
user registered or not and state index, voice credit balance
Defined in
commands/signup.ts:122
mergeMessages
▸ mergeMessages(MergeMessagesArgs): Promise<void>
Merge the message queue on chain
Parameters
| Name | Type | Description |
|---|---|---|
MergeMessagesArgs | MergeMessagesArgs | The arguments for the mergeMessages command |
Returns
Promise<void>
Defined in
commands/mergeMessages.ts:25
mergeSignups
▸ mergeSignups(MergeSignupsArgs): Promise<void>
Command to merge the signups of a MACI contract
Parameters
| Name | Type | Description |
|---|---|---|
MergeSignupsArgs | MergeSignupsArgs | The arguments for the mergeSignups command |
Returns
Promise<void>
Defined in
commands/mergeSignups.ts:20
proveOnChain
▸ proveOnChain(ProveOnChainArgs): Promise<void>
Command to prove the result of a poll on-chain
Parameters
| Name | Type | Description |
|---|---|---|
ProveOnChainArgs | ProveOnChainArgs | The arguments for the proveOnChain command |
Returns
Promise<void>
Defined in
commands/proveOnChain.ts:41
publish
▸ publish(PublishArgs): Promise<string>
Publish a new message to a MACI Poll contract
Parameters
| Name | Type | Description |
|---|---|---|
PublishArgs | PublishArgs | The arguments for the publish command |
Returns
Promise<string>
The ephemeral private key used to encrypt the message
Defined in
commands/publish.ts:24
publishBatch
▸ publishBatch(args): Promise<IPublishBatchData>
Batch publish new messages to a MACI Poll contract
Parameters
| Name | Type | Description |
|---|---|---|
args | IPublishBatchArgs | The arguments for the publish command |
Returns
Promise<IPublishBatchData>
The ephemeral private key used to encrypt the message, transaction hash
Defined in
commands/publish.ts:145
setVerifyingKeys
▸ setVerifyingKeys(SetVerifyingKeysArgs): Promise<void>
Function that sets the verifying keys in the VkRegistry contract
Parameters
| Name | Type | Description |
|---|---|---|
SetVerifyingKeysArgs | SetVerifyingKeysArgs | The arguments for the setVerifyingKeys command |
Returns
Promise<void>
Note
see different options for zkey files to use specific circuits https://maci.pse.dev/docs/trusted-setup, https://maci.pse.dev/docs/testing/#pre-compiled-artifacts-for-testing
Defined in
commands/setVerifyingKeys.ts:26
signup
▸ signup(args): Promise<ISignupData>
Signup a user to the MACI contract
Parameters
| Name | Type | Description |
|---|---|---|
args | SignupArgs | The arguments for the signup command |
Returns
Promise<ISignupData>
The state index of the user and transaction hash
Defined in
commands/signup.ts:17
timeTravel
▸ timeTravel(«destructured»): Promise<void>
Utility to travel in time when using a local blockchain
Parameters
| Name | Type |
|---|---|
«destructured» | TimeTravelArgs |
Returns
Promise<void>
Defined in
commands/timeTravel.ts:10
verify
▸ verify(VerifyArgs): Promise<void>
Verify the results of a poll on-chain
Parameters
| Name | Type | Description |
|---|---|---|
VerifyArgs | VerifyArgs | The arguments for the verify command |
Returns
Promise<void>
Defined in
commands/verify.ts:19