Skip to main content

Permissions

o1js / Modules / Permissions

Interface: Permissions

Permissions specify how specific aspects of the zkapp account are allowed to be modified. All fields are denominated by a Permission.

Hierarchy

  • Permissions_

    Permissions

Table of contents

Properties

Properties

access

access: AuthRequired

Permission to control the ability to include any account update for this account in a transaction. Note that this is more restrictive than all other permissions combined. For normal accounts it can safely be set to none, but for token contracts this has to be more restrictive, to prevent unauthorized token interactions -- for example, it could be proofOrSignature.

Overrides

Permissions_.access

Defined in

lib/account_update.ts:236


editActionState

editActionState: AuthRequired

The Permission corresponding to the ability to emit actions to the account.

Overrides

Permissions_.editActionState

Defined in

lib/account_update.ts:215


editState

editState: AuthRequired

The Permission corresponding to the 8 state fields associated with an account.

Overrides

Permissions_.editState

Defined in

lib/account_update.ts:171


incrementNonce

incrementNonce: AuthRequired

Overrides

Permissions_.incrementNonce

Defined in

lib/account_update.ts:224


receive

receive: AuthRequired

The Permission corresponding to the ability to receive transactions to this account.

Overrides

Permissions_.receive

Defined in

lib/account_update.ts:183


send

send: AuthRequired

The Permission corresponding to the ability to send transactions from this account.

Overrides

Permissions_.send

Defined in

lib/account_update.ts:177


setDelegate

setDelegate: AuthRequired

The Permission corresponding to the ability to set the delegate field of the account.

Overrides

Permissions_.setDelegate

Defined in

lib/account_update.ts:189


setPermissions

setPermissions: AuthRequired

The Permission corresponding to the ability to set the permissions field of the account.

Overrides

Permissions_.setPermissions

Defined in

lib/account_update.ts:195


setTiming

setTiming: AuthRequired

Overrides

Permissions_.setTiming

Defined in

lib/account_update.ts:226


setTokenSymbol

setTokenSymbol: AuthRequired

The Permission corresponding to the ability to set the token symbol for this account.

Overrides

Permissions_.setTokenSymbol

Defined in

lib/account_update.ts:221


setVerificationKey

setVerificationKey: AuthRequired

The Permission corresponding to the ability to set the verification key associated with the circuit tied to this account. Effectively "upgradeability" of the smart contract.

Overrides

Permissions_.setVerificationKey

Defined in

lib/account_update.ts:202


setVotingFor

setVotingFor: AuthRequired

Overrides

Permissions_.setVotingFor

Defined in

lib/account_update.ts:225


setZkappUri

setZkappUri: AuthRequired

The Permission corresponding to the ability to set the zkapp uri typically pointing to the source code of the smart contract. Usually this should be changed whenever the setVerificationKey is changed. Effectively "upgradeability" of the smart contract.

Overrides

Permissions_.setZkappUri

Defined in

lib/account_update.ts:210