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

Commit 5aa60dd

Browse files
authored
token-cli: Don't sign with owner when creating an associated token account (#1449)
1 parent 6db3b29 commit 5aa60dd

File tree

1 file changed

+19
-11
lines changed

1 file changed

+19
-11
lines changed

token/cli/src/main.rs

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1671,8 +1671,13 @@ fn main() {
16711671
path: default_signer_path,
16721672
arg_name: default_signer_arg_name,
16731673
};
1674-
// Owner doesn't sign when it's a multisig; and the `accounts` command is read-only
1675-
let owner = if matches.is_present(MULTISIG_SIGNER_ARG.name) || sub_command == "accounts" {
1674+
1675+
// Owner doesn't sign when using a mulitisig...
1676+
let owner = if matches.is_present(MULTISIG_SIGNER_ARG.name)
1677+
|| sub_command == "accounts" // when calling the `accounts` command...
1678+
|| (sub_command == "create-account" // or when creating an associated token account.
1679+
&& !matches.is_present("account_keypair"))
1680+
{
16761681
let owner_val = matches
16771682
.value_of("owner")
16781683
.unwrap_or(&cli_config.keypair_path);
@@ -1794,17 +1799,20 @@ fn main() {
17941799
.unwrap()
17951800
.unwrap();
17961801

1797-
let (signer, account) = if arg_matches.is_present("account_keypair") {
1798-
signer_of(&arg_matches, "account_keypair", &mut wallet_manager).unwrap_or_else(
1799-
|e| {
1800-
eprintln!("error: {}", e);
1801-
exit(1);
1802-
},
1803-
)
1802+
let account = if arg_matches.is_present("account_keypair") {
1803+
let (signer, account) =
1804+
signer_of(&arg_matches, "account_keypair", &mut wallet_manager).unwrap_or_else(
1805+
|e| {
1806+
eprintln!("error: {}", e);
1807+
exit(1);
1808+
},
1809+
);
1810+
bulk_signers.push(signer);
1811+
account
18041812
} else {
1805-
(None, None)
1813+
// No need to add a signer when creating an associated token account
1814+
None
18061815
};
1807-
bulk_signers.push(signer);
18081816

18091817
command_create_account(&config, token, account)
18101818
}

0 commit comments

Comments
 (0)