MINT - Extended Minting Transaction

MINT - Extended Minting Transaction

Subsequent minting transactions of additional_token_quantity can be performed by spending the “minting baton” UTXO in a special MINT transaction, described here.
Note that this could be done by someone other than the GENESIS issuer, if the baton minting authority had been passed to another address.

As with GENESIS, the MINT allows to end the baton, or further pass on the baton to future mint operations: if mint_baton_vout is empty or refers to a nonexistent vout, the transaction is valid but the baton is lost.
This makes it possible to prove end-of-minting capabilities for a token even after several minting events (it is impossible to duplicate this baton as that would require double-spending the transaction output associated with the baton).

Transaction inputs: Any number of inputs or content of inputs, in any order, but with required presence of a ‘baton’ input (see Consensus Rules).

Transaction outputs:

vout ScriptPubKey (“Address”) BCH amount Implied token amount (base units)
< lokad_id: ‘SLP\x00’> (4 bytes, ascii)
< token_type: 1> (1 to 2 byte integer)
< transaction_type: ‘MINT’> (4 bytes, ascii)
< token_id> (32 bytes)
< mint_baton_vout> (0 bytes or 1 byte between 0x02-0xff)
< additional_token_quantity> (8 byte integer)
any 0
1 Token mint receiver any additional_token_quantity
Any any 0
M Mint baton receiver (M=mint_baton_vout) any 0 + ‘baton’
Any any 0