MINTAT

Mints a new authenticator token. This action does not require a zero knowledge proof. Authenticator tokens do not (directly) represent real assets and thus have no leaves in the merkle tree. Instead, the corresponding of an authenticator token is used as an identifier for third party smart contracts where assets are privately deposited. By proving knowledge of the secret randomness of an authenticator token, the deposited assets asociated with this token can be withdrawn from the third party smart contract at a later point in time.

Privacy Implications

No assets are being moved by this action.

Flow

The following steps specify the flow of MINTAT.

Step 1

Create a new UTXO tuple representing the permission:

  • Diversifier index of the ZEOS wallet address which owns this permission
  • Public key of the ZEOS wallet address which owns this permission
  • EOSIO/Antelope account of the third party smart contract where this permission is valid
  • Choose a random value
  • Choose a random value
  • Choose a random value

Step 2

Generate UTXO ciphertext of for the owner of the permission (see section 4.19.1 of the Zcash Protocol Specification)

Step 3

Execute the MINTAT action of the ZEOS smart contract. This action takes the following arguments:

  • : The UTXO ciphertext which is transmitted to the receiver of

Step 4

The ZEOS smart contract performs the following operations: