Сreates a token update datum and places it in the mempool. ## Request Structure `JSON object:` ```JSON { "method": "token_update", "subcommand": ["token_update"], "arguments": { "net": "network_name", "chain": "chain_name", "token": "existing_token_ticker", "type": "CF20 | private", "total_supply_change": "value", "certs": "name_certs", "flag_set": "flag", "flag_unset": "flag", "total_signs_valid": "value", "description": "value", "tx_receiver_allowed": "value", "tx_receiver_blocked": "value", "tx_sender_allowed": "value", "tx_sender_blocked": "value", "add_cert": "name_certs", "remove_certs": "pkeys_hash" }, "id": "1" } ``` `Parameters:` **`net (network_name)`** - name of the Cellframe Network. The list of networks can be found in the `<Config_dir> \ etc \ network` folder or received using - [[Node Command - NET LIST]] **`chain`** - the name of chain (`main` or `zerochain`) `optional` **`token`** - ticker (name) of the token **`type`** - type of the token (CF20 or private, `CF20` by default) **`total_supply_change`** - changes total supply, specify “INF” to set unlimited total supply `optional` **`certs`** - list of certificates which were used to sign token **`lag_set`** - list of flags are being set `optional` **`flag_unset`** - list of flags are being unset `optional` **`total_signs_valid`** - sets the minimum amount of valid signatures `optional` **`description`** - token description written `optional` **`tx_receiver_allowed`** - adds specified wallet address to the list of allowed receivers `optional` **`tx_receiver_blocked`** - adds specified wallet address to the list of blocked receivers `optional` **`tx_sender_allowed`** - adds specified wallet address to the list of allowed senders `optional` **`tx_sender_blocked`** - adds specified wallet address to the list of blocked senders `optional` **`add_cert`** - adds certificates to the certificates list of the token `optional` **`remove_certs`** - removes certificates from the certificates list using theirs public key hash `optional` `Available flags:` ```actionscript ALL_BLOCKED: Blocks all permissions. ALL_ALLOWED: Allows all permissions unless they are blocked. Be careful with this mode. ALL_FROZEN: Temporarily freezes all permissions ALL_UNFROZEN: Unfreezes all frozen permissions STATIC_ALL: Blocks manipulations with a token after declaration. Tokens are declared statically. STATIC_FLAGS: Blocks manipulations with token flags after declaration. STATIC_PERMISSIONS_ALL: Blocks all manipulations with permissions list after declaration. STATIC_PERMISSIONS_DATUM_TYPE: Blocks all manipulations with datum permissions list after declaration. STATIC_PERMISSIONS_TX_SENDER: Blocks all manipulations with transaction senders permissions list after declaration. STATIC_PERMISSIONS_TX_RECEIVER: Blocks all manipulations with transaction receivers permissions list after declaration. ``` ### Curl Example `Request:` ```actionscript curl --unix-socket /opt/cellframe-node/var/run/node_cli -X POST http://localhost/connect -d ' { "method": "token_update", "subcommand": ["token_update"], "arguments": { "net": "riemann", "chain": "zerochain", "token": "CRINGE", "type": "CF20", "total_supply_change": "15000e+18", "certs": "riemann.bridge.pvt.0", "flag_set": "STATIC_FLAGS", "description": "Updated: total supply increased on 5000 and the flags were set as STATIC" }, "id": "1" }' ``` `Response:` ```json { "type": 2, "result": [ { "errors": [ { "code": 0, "message": "Datum 0xF48B60D3C829D1F6280781862B9EB87ED36729E6AD75D35604053A3D0D81A4AB with token update for ticker CRINGE is placed in datum pool" } ] } ], "id": 1 } ```