Skip to main content

Permissions

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

Extends​

  • Permissions_

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

Source​

lib/mina/account-update.ts:397


editActionState​

editActionState: AuthRequired;

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

Overrides​

Permissions_.editActionState

Source​

lib/mina/account-update.ts:376


editState​

editState: AuthRequired;

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

Overrides​

Permissions_.editState

Source​

lib/mina/account-update.ts:332


incrementNonce​

incrementNonce: AuthRequired;

Overrides​

Permissions_.incrementNonce

Source​

lib/mina/account-update.ts:385


receive​

receive: AuthRequired;

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

Overrides​

Permissions_.receive

Source​

lib/mina/account-update.ts:344


send​

send: AuthRequired;

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

Overrides​

Permissions_.send

Source​

lib/mina/account-update.ts:338


setDelegate​

setDelegate: AuthRequired;

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

Overrides​

Permissions_.setDelegate

Source​

lib/mina/account-update.ts:350


setPermissions​

setPermissions: AuthRequired;

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

Overrides​

Permissions_.setPermissions

Source​

lib/mina/account-update.ts:356


setTiming​

setTiming: AuthRequired;

Overrides​

Permissions_.setTiming

Source​

lib/mina/account-update.ts:387


setTokenSymbol​

setTokenSymbol: AuthRequired;

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

Overrides​

Permissions_.setTokenSymbol

Source​

lib/mina/account-update.ts:382


setVerificationKey​

setVerificationKey: VerificationKeyPermission;

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

Source​

lib/mina/account-update.ts:363


setVotingFor​

setVotingFor: AuthRequired;

Overrides​

Permissions_.setVotingFor

Source​

lib/mina/account-update.ts:386


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 Permissions.setVerificationKey is changed. Effectively "upgradeability" of the smart contract.

Overrides​

Permissions_.setZkappUri

Source​

lib/mina/account-update.ts:371