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


editActionState

editActionState: AuthRequired;

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

Overrides

Permissions_.editActionState

Source

lib/mina/account-update.ts:261


editState

editState: AuthRequired;

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

Overrides

Permissions_.editState

Source

lib/mina/account-update.ts:214


incrementNonce

incrementNonce: AuthRequired;

Overrides

Permissions_.incrementNonce

Source

lib/mina/account-update.ts:270


receive

receive: AuthRequired;

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

Overrides

Permissions_.receive

Source

lib/mina/account-update.ts:226


send

send: AuthRequired;

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

Overrides

Permissions_.send

Source

lib/mina/account-update.ts:220


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


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


setTiming

setTiming: AuthRequired;

Overrides

Permissions_.setTiming

Source

lib/mina/account-update.ts:272


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


setVerificationKey

setVerificationKey: {
auth: AuthRequired;
txnVersion: UInt32;
};

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.

auth

auth: AuthRequired;

txnVersion

txnVersion: UInt32;

Overrides

Permissions_.setVerificationKey

Source

lib/mina/account-update.ts:245


setVotingFor

setVotingFor: AuthRequired;

Overrides

Permissions_.setVotingFor

Source

lib/mina/account-update.ts:271


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