Skip to content
This repository was archived by the owner on Mar 11, 2025. It is now read-only.

Commit 9f050c7

Browse files
joncinque2501babe
andauthored
docs: Add token-2022 extension usage examples in CLI (#3919)
* docs: Add extension usage in CLI * Update docs/src/token-2022/extensions.mdx Co-authored-by: hana <[email protected]> Co-authored-by: hana <[email protected]>
1 parent c51ccf0 commit 9f050c7

File tree

1 file changed

+181
-17
lines changed

1 file changed

+181
-17
lines changed

docs/src/token-2022/extensions.mdx

Lines changed: 181 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,10 @@ the `MintCloseAuthority` extension before initializing the mint.
3737
<Tabs className="unique-tabs" groupId="language-selection">
3838
<TabItem value="cli" label="CLI" default>
3939

40-
CLI support coming soon!
40+
```console
41+
$ spl-token --program-id TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb create-token --enable-close
42+
Creating token C47NXhUTVEisCfX7s16KrxYyimnui7HpUXZecE2TmLdB under program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb
43+
```
4144

4245
</TabItem>
4346
<TabItem value="jsx" label="JS">
@@ -112,7 +115,10 @@ possible to close the mint account and reclaim the lamports on the mint account.
112115
<Tabs className="unique-tabs" groupId="language-selection">
113116
<TabItem value="cli" label="CLI" default>
114117

115-
CLI support coming soon!
118+
```console
119+
$ spl-token close-mint C47NXhUTVEisCfX7s16KrxYyimnui7HpUXZecE2TmLdB
120+
Signature: 5nidwS9fJGJGdmaQjcwvNGVtk2ba5Zyu9ZLubjUKSsaAyzLUYvB6LK5RfUA767veBr45x7R1WW9N7WkYZ3Rqsb5B
121+
```
116122

117123
</TabItem>
118124
<TabItem value="jsx" label="JS">
@@ -158,7 +164,15 @@ tokens.
158164
<Tabs className="unique-tabs" groupId="language-selection">
159165
<TabItem value="cli" label="CLI" default>
160166

161-
CLI support coming soon!
167+
```console
168+
$ spl-token --program-id TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb create-token --transfer-fee 50 5000
169+
Creating token Dg3i18BN7vzsbAZDnDv3H8nQQjSaPUTqhwX41J7NZb5H under program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb
170+
171+
Address: Dg3i18BN7vzsbAZDnDv3H8nQQjSaPUTqhwX41J7NZb5H
172+
Decimals: 9
173+
174+
Signature: 39okFGqW23wQZ1HqH2tdJvtFP5aYgpfbmNktCZpV5XKTpKuA9xJmvBmrBwcLdfAT632VEC4y4dJJfDoeAvMWRPYP
175+
```
162176

163177
</TabItem>
164178
<TabItem value="jsx" label="JS">
@@ -247,7 +261,29 @@ calculated, in order to avoid any surprises during the transfer.
247261
<Tabs className="unique-tabs" groupId="language-selection">
248262
<TabItem value="cli" label="CLI" default>
249263

250-
CLI support coming soon!
264+
```console
265+
$ spl-token create-account Dg3i18BN7vzsbAZDnDv3H8nQQjSaPUTqhwX41J7NZb5H
266+
Creating account 7UKuG4W68hW9eGrDms6BenRf8DCEHKGN49xewtWyB5cx
267+
268+
Signature: 6h591BMuguh9TtSdQPRPcPy97mLqJiybeaxGVZzD8mvPEsYypjZ2jjKgHzji5FGh8CJE3NAzqrqGxfyMdnbWrs7
269+
$ solana-keygen new -o destination.json
270+
$ spl-token create-account Dg3i18BN7vzsbAZDnDv3H8nQQjSaPUTqhwX41J7NZb5H destination.json
271+
Creating account 5wY8fiMZG5wGbQmtzKgqqEEp4vsCMJZ53RXEagUUWhEr
272+
273+
Signature: 2SyA17AJRWLH2j7svgxgW7nouUGioeWoRDWjz2Wq8j1eisThezSvqgN4NbHfj9uWmDh2XRp56ttZtHV1SxaUC7ys
274+
$ spl-token mint Dg3i18BN7vzsbAZDnDv3H8nQQjSaPUTqhwX41J7NZb5H 1000000000
275+
Minting 1000000000 tokens
276+
Token: Dg3i18BN7vzsbAZDnDv3H8nQQjSaPUTqhwX41J7NZb5H
277+
Recipient: 7UKuG4W68hW9eGrDms6BenRf8DCEHKGN49xewtWyB5cx
278+
279+
Signature: 5MFJGpLaWe3yLLU8X4ax3KofeqPVzdxJsa3ScjChJJHJawKsRx4og9eaFkWn3CPF7JXaxdj5v4LdAW56LiNTuP6s
280+
$ spl-token transfer --expected-fee 0.000005 Dg3i18BN7vzsbAZDnDv3H8nQQjSaPUTqhwX41J7NZb5H 1000000 destination.json
281+
Transfer 1000000 tokens
282+
Sender: 7UKuG4W68hW9eGrDms6BenRf8DCEHKGN49xewtWyB5cx
283+
Recipient: 5wY8fiMZG5wGbQmtzKgqqEEp4vsCMJZ53RXEagUUWhEr
284+
285+
Signature: 3hc3CCiETiuCArJ6yZ76ScyfMeK1rw8CTfZ3aDGnYoEMeoqXfSNAtnM3ATFjm7UihthzEkEWzeUfWL4qqqB4ofgv
286+
```
251287

252288
</TabItem>
253289
<TabItem value="jsx" label="JS">
@@ -359,7 +395,10 @@ tokens.
359395
<Tabs className="unique-tabs" groupId="language-selection">
360396
<TabItem value="cli" label="CLI" default>
361397

362-
CLI support coming soon!
398+
```console
399+
$ spl-token withdraw-withheld-tokens 7UKuG4W68hW9eGrDms6BenRf8DCEHKGN49xewtWyB5cx 5wY8fiMZG5wGbQmtzKgqqEEp4vsCMJZ53RXEagUUWhEr
400+
Signature: 2NfjbEnRQC7kXkf86stb6u7eUtaQTGDebo8ktCdz4gP4wCD93xtx75rSJxJDQVePNAa8NqtVLjUm19ZBDRVaYurt
401+
```
363402

364403
</TabItem>
365404
<TabItem value="jsx" label="JS">
@@ -397,7 +436,16 @@ To clear out their account of withheld tokens, they can use the permissionless
397436
<Tabs className="unique-tabs" groupId="language-selection">
398437
<TabItem value="cli" label="CLI" default>
399438

400-
CLI support coming soon!
439+
The harvest instruction isn't explicitly exposed since it typically isn't needed.
440+
It is required before closing an account, however, so we can show the harvest
441+
behavior by closing the account:
442+
443+
```console
444+
$ spl-token close --address 5wY8fiMZG5wGbQmtzKgqqEEp4vsCMJZ53RXEagUUWhEr
445+
Signature: KAKXryAdGSVFqpQhrwrvP6NCAQwLQp2Sj1WiAqCHxxwJsvRLKx4JzWgN9zYUaJNmfrZnQQw9yYoDw5Xx1YrwY6i
446+
447+
Signature: 2i5KGekFFtwzkX2W71cxPvQsGEH21qmZ3ieNQz7Mz2qGqp2pyzMNZhSVRfxJxQuAxnKQoZKjAb62FBx2gxaq25Le
448+
```
401449

402450
</TabItem>
403451
<TabItem value="jsx" label="JS">
@@ -417,7 +465,11 @@ may choose to move those tokens from the mint to any other account.
417465
<Tabs className="unique-tabs" groupId="language-selection">
418466
<TabItem value="cli" label="CLI" default>
419467

420-
CLI support coming soon!
468+
```console
469+
$ spl-token withdraw-withheld-tokens --include-mint 7UKuG4W68hW9eGrDms6BenRf8DCEHKGN49xewtWyB5cx
470+
471+
Signature: 5KzdgcKgi3rLaBRfDbG5pxZwyKppyVjAA8TUCjTMfb1vMYv7CLQWaxgFz81jz4reUaF7oP67Gdqoc91Ted6qr1Hb
472+
```
421473

422474
</TabItem>
423475
<TabItem value="jsx" label="JS">
@@ -456,7 +508,34 @@ tokens.
456508
<Tabs className="unique-tabs" groupId="language-selection">
457509
<TabItem value="cli" label="CLI" default>
458510

459-
CLI support coming soon!
511+
```console
512+
$ spl-token --program-id TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb create-token --enable-freeze --default-account-state frozen
513+
Creating token 8Sqz2zV8TFTnkLtnCdqRkjJsre3GKRwHcZd3juE5jJHf under program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb
514+
515+
Address: 8Sqz2zV8TFTnkLtnCdqRkjJsre3GKRwHcZd3juE5jJHf
516+
Decimals: 9
517+
518+
Signature: 5wfYvovguPEbyv2uSWxGt9JcpTWgyuP4hY3wutjS32Ahnoni4qd7gf6sLre855WvT6xLHwrvV7J8bVmXymNU2qUz
519+
520+
$ spl-token create-account 8Sqz2zV8TFTnkLtnCdqRkjJsre3GKRwHcZd3juE5jJHf
521+
Creating account 6XpKagP1N3K1XnzStufpV5YZ6DksEkQWgLNG9kPpLyvv
522+
523+
Signature: 2awxWdQMgv89ew34sEyG361vshB2wPXHHfva5iJ43dWr18f2Pr6awoXfsqYPpyS2eSbH6jhfVY9EUck8iJ4wCSN6
524+
525+
$ spl-token display 6XpKagP1N3K1XnzStufpV5YZ6DksEkQWgLNG9kPpLyvv
526+
SPL Token Account
527+
Address: 6XpKagP1N3K1XnzStufpV5YZ6DksEkQWgLNG9kPpLyvv
528+
Program: TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb
529+
Balance: 0
530+
Decimals: 9
531+
Mint: 8Sqz2zV8TFTnkLtnCdqRkjJsre3GKRwHcZd3juE5jJHf
532+
Owner: 4SnSuUtJGKvk2GYpBwmEsWG53zTurVM8yXGsoiZQyMJn
533+
State: Frozen
534+
Delegation: (not set)
535+
Close authority: (not set)
536+
Extensions:
537+
Immutable owner
538+
```
460539

461540
</TabItem>
462541
<TabItem value="jsx" label="JS">
@@ -534,7 +613,11 @@ accounts unfrozen by default.
534613
<Tabs className="unique-tabs" groupId="language-selection">
535614
<TabItem value="cli" label="CLI" default>
536615

537-
CLI support coming soon!
616+
```console
617+
$ spl-token update-default-account-state 8Sqz2zV8TFTnkLtnCdqRkjJsre3GKRwHcZd3juE5jJHf initialized
618+
619+
Signature: 3Mm2JCPrf6SrAe9awV3QzYvHiYmatiGWTmrQ7YnmzJSqyNCf75rLNMyH7jU26uZwX7q3MmBEBj1A36o5sGk9Vakb
620+
```
538621

539622
</TabItem>
540623
<TabItem value="jsx" label="JS">
@@ -575,7 +658,20 @@ Account program always uses this extension when creating accounts.
575658
<Tabs className="unique-tabs" groupId="language-selection">
576659
<TabItem value="cli" label="CLI" default>
577660

578-
CLI support coming soon!
661+
```console
662+
$ spl-token --program-id TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb create-token
663+
Creating token CZxztd7SEZWxg6B9PH5xa7QwKpMCpWBJiTLftw1o3qyV under program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb
664+
665+
Address: CZxztd7SEZWxg6B9PH5xa7QwKpMCpWBJiTLftw1o3qyV
666+
Decimals: 9
667+
668+
Signature: 4fT19YaE3zAscj71n213K22M3wDSXgwSn39RBCVtiCTxMX7pZhAoHywP2QMKqWpZMB5vT7diQ8QaFp3abHztpyPC
669+
$ solana-keygen new -o account.json
670+
$ spl-token create-account CZxztd7SEZWxg6B9PH5xa7QwKpMCpWBJiTLftw1o3qyV account.json --immutable
671+
Creating account EV2xsZto1TRqehewwWHUUQm68X6C6MepBSkbfZcVdShy
672+
673+
Signature: 5NqXiE3LPFnufnZhcwKPoZt7DaPR7qwfhmRr9W9ykhNM7rnu6MDdx7n5eTpEisiaSET2R4fZW7a91Ai6pCuskXF8
674+
```
579675

580676
</TabItem>
581677
<TabItem value="jsx" label="JS">
@@ -652,7 +748,23 @@ it's extremely easy to use the extension.
652748
<Tabs className="unique-tabs" groupId="language-selection">
653749
<TabItem value="cli" label="CLI" default>
654750

655-
CLI support coming soon!
751+
```console
752+
$ spl-token create-account CZxztd7SEZWxg6B9PH5xa7QwKpMCpWBJiTLftw1o3qyV
753+
Creating account 4nvfLgYMERdNbbf1pADUSp44XukAyjeWWXCMkM1gMqC4
754+
755+
Signature: w4TRYDdCpTfmQh96E4UNgFFeiAHphWNaeYrJTu6bGyuPMokJrKFR33Ntj3iNQ5QQuFqom2CaYkhXiX9sBpWEW23
756+
```
757+
758+
The CLI will tell us that it's unnecessary to specify the `--immutable` argument
759+
if it's provided:
760+
761+
```console
762+
$ spl-token create-account CZxztd7SEZWxg6B9PH5xa7QwKpMCpWBJiTLftw1o3qyV --immutable
763+
Creating account 4nvfLgYMERdNbbf1pADUSp44XukAyjeWWXCMkM1gMqC4
764+
Note: --immutable specified, but Token-2022 ATAs are always immutable, ignoring
765+
766+
Signature: w4TRYDdCpTfmQh96E4UNgFFeiAHphWNaeYrJTu6bGyuPMokJrKFR33Ntj3iNQ5QQuFqom2CaYkhXiX9sBpWEW23
767+
```
656768

657769
</TabItem>
658770
<TabItem value="jsx" label="JS">
@@ -687,7 +799,15 @@ but allows the owner to burn and close the account if they want.
687799
<Tabs className="unique-tabs" groupId="language-selection">
688800
<TabItem value="cli" label="CLI" default>
689801

690-
CLI support coming soon!
802+
```console
803+
$ spl-token --program-id TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb create-token --enable-non-transferable
804+
Creating token 7De7wwkvNLPXpShbPDeRCLukb3CRzCNcC3iUuHtD6k4f under program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb
805+
806+
Address: 7De7wwkvNLPXpShbPDeRCLukb3CRzCNcC3iUuHtD6k4f
807+
Decimals: 9
808+
809+
Signature: 2QtCBwCo2J9hf2Prd2t4CBBUxEXQCBSSD5gkNc59AwhxsKgRp92czNAvwWDxjeXGFCWSuNmzAcD19cEpqubovDDv
810+
```
691811

692812
</TabItem>
693813
<TabItem value="jsx" label="JS">
@@ -760,7 +880,21 @@ the memo before invoking the transfer.
760880
<Tabs className="unique-tabs" groupId="language-selection">
761881
<TabItem value="cli" label="CLI" default>
762882

763-
CLI support coming soon!
883+
```console
884+
$ spl-token --program-id TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb create-token
885+
Creating token EbPBt3XkCb9trcV4c8fidhrvoeURbDbW87Acustzyi8N under program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb
886+
887+
Address: EbPBt3XkCb9trcV4c8fidhrvoeURbDbW87Acustzyi8N
888+
Decimals: 9
889+
890+
Signature: 2mCoV3ujSUArgZMyayiYtLZp2QzpqKx3NXnv9W8DpinY39rBU2yGmYLfp2tZ9uZqVbfJ6Mf3SqDHexdCcFcDAEvc
891+
$ spl-token create-account EbPBt3XkCb9trcV4c8fidhrvoeURbDbW87Acustzyi8N
892+
Creating account 4Uzz67txwYbfYpF8r5UGEMYJwhPAYQ5eFUY89KTYc2bL
893+
894+
Signature: 57wZHDaQtSzszDkusrnozZNj5PemQhpqHMEFLWFKpqASCErcDuBuYuEky5g3evHtkjMrKgh1s3aEap1L8y5UhW5W
895+
$ spl-token enable-required-transfer-memos 4Uzz67txwYbfYpF8r5UGEMYJwhPAYQ5eFUY89KTYc2bL
896+
Signature: 5MnWtrhMK32zkbacDMwBNft48VAUpr4EoRM87hkT9AFYvPgPEU7V7ERV6gdfb3kASri4wnUnr13hNKuYJ66pD8Fs
897+
```
764898

765899
</TabItem>
766900
<TabItem value="jsx" label="JS">
@@ -839,7 +973,13 @@ An account owner may always choose to flip required memo transfers on or off.
839973
<Tabs className="unique-tabs" groupId="language-selection">
840974
<TabItem value="cli" label="CLI" default>
841975

842-
CLI support coming soon!
976+
```console
977+
$ spl-token disable-required-transfer-memos 4Uzz67txwYbfYpF8r5UGEMYJwhPAYQ5eFUY89KTYc2bL
978+
Signature: 5a9X8JrWzwZqb3iMonfUfSZbisQ57aEmW5cFntWGYRv2UZx8ACkMineBEQRHwLMzYHeyFDEHMXu8zqAMv5tm4u1g
979+
980+
$ spl-token enable-required-transfer-memos 4Uzz67txwYbfYpF8r5UGEMYJwhPAYQ5eFUY89KTYc2bL
981+
Signature: 5MnWtrhMK32zkbacDMwBNft48VAUpr4EoRM87hkT9AFYvPgPEU7V7ERV6gdfb3kASri4wnUnr13hNKuYJ66pD8Fs
982+
```
843983

844984
</TabItem>
845985
<TabItem value="jsx" label="JS">
@@ -872,7 +1012,18 @@ to fit room for more extensions.
8721012
<Tabs className="unique-tabs" groupId="language-selection">
8731013
<TabItem value="cli" label="CLI" default>
8741014

875-
CLI support coming soon!
1015+
The CLI reallocs automatically, so if you use `enable-required-transfer-memos`
1016+
with an account that does not have enough space, it will add the `Reallocate`
1017+
instruction.
1018+
1019+
```console
1020+
$ spl-token create-account EbPBt3XkCb9trcV4c8fidhrvoeURbDbW87Acustzyi8N
1021+
Creating account 4Uzz67txwYbfYpF8r5UGEMYJwhPAYQ5eFUY89KTYc2bL
1022+
1023+
Signature: 57wZHDaQtSzszDkusrnozZNj5PemQhpqHMEFLWFKpqASCErcDuBuYuEky5g3evHtkjMrKgh1s3aEap1L8y5UhW5W
1024+
$ spl-token enable-required-transfer-memos 4Uzz67txwYbfYpF8r5UGEMYJwhPAYQ5eFUY89KTYc2bL
1025+
Signature: 5MnWtrhMK32zkbacDMwBNft48VAUpr4EoRM87hkT9AFYvPgPEU7V7ERV6gdfb3kASri4wnUnr13hNKuYJ66pD8Fs
1026+
```
8761027

8771028
</TabItem>
8781029
<TabItem value="jsx" label="JS">
@@ -970,7 +1121,15 @@ plus all interest the tokens have accumulated. The feature is entirely cosmetic.
9701121
<Tabs className="unique-tabs" groupId="language-selection">
9711122
<TabItem value="cli" label="CLI" default>
9721123

973-
CLI support coming soon!
1124+
```console
1125+
$ spl-token --program-id TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb create-token --interest-rate 10
1126+
Creating token 7N4HggYEJAtCLJdnHGCtFqfxcB5rhQCsQTze3ftYstVj under program TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb
1127+
1128+
Address: 7N4HggYEJAtCLJdnHGCtFqfxcB5rhQCsQTze3ftYstVj
1129+
Decimals: 9
1130+
1131+
Signature: 5dSW5QUacEsaKYb3MwYp4ycqq4jpNJ1rpLhS5rotoe3CWv9XhhjrncUFpk14R1fRamS1xprziC3NkpbYno4c8JxD
1132+
```
9741133

9751134
</TabItem>
9761135
<TabItem value="jsx" label="JS">
@@ -1017,7 +1176,12 @@ The rate authority may update the interest rate on the mint at any time.
10171176
<Tabs className="unique-tabs" groupId="language-selection">
10181177
<TabItem value="cli" label="CLI" default>
10191178

1020-
CLI support coming soon!
1179+
```console
1180+
$ spl-token set-interest-rate 7N4HggYEJAtCLJdnHGCtFqfxcB5rhQCsQTze3ftYstVj 50
1181+
Setting Interest Rate for 7N4HggYEJAtCLJdnHGCtFqfxcB5rhQCsQTze3ftYstVj to 50 bps
1182+
1183+
Signature: 5DQs6hzkfGq3uotESuVwF7MGeMawwfQcm1e9RHaUeVySDV6xpUzYhzdb6ygqJfsEZqewgiDR5KuxaGzkdTMcDrTn
1184+
```
10211185

10221186
</TabItem>
10231187
<TabItem value="jsx" label="JS">

0 commit comments

Comments
 (0)