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:271


editActionState

editActionState: AuthRequired

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

Overrides

Permissions_.editActionState

Defined in

lib/account-update.ts:250


editState

editState: AuthRequired

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

Overrides

Permissions_.editState

Defined in

lib/account-update.ts:203


incrementNonce

incrementNonce: AuthRequired

Overrides

Permissions_.incrementNonce

Defined in

lib/account-update.ts:259


receive

receive: AuthRequired

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

Overrides

Permissions_.receive

Defined in

lib/account-update.ts:215


send

send: AuthRequired

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

Overrides

Permissions_.send

Defined in

lib/account-update.ts:209


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:221


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:227


setTiming

setTiming: AuthRequired

Overrides

Permissions_.setTiming

Defined in

lib/account-update.ts:261


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:256


setVerificationKey

setVerificationKey: Object

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.

Type declaration

NameType
authAuthRequired
txnVersionUInt32

Overrides

Permissions_.setVerificationKey

Defined in

lib/account-update.ts:234


setVotingFor

setVotingFor: AuthRequired

Overrides

Permissions_.setVotingFor

Defined in

lib/account-update.ts:260


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:245