Commit Graph

299 Commits

Author SHA1 Message Date
hanako mumei 4dfd23e0b6 token-client: memo now explicitly declares signers 2022-09-07 18:17:54 -07:00
hanako mumei 8e6caf45ac token-cli: new config function get_account_checked
this replaces all instances of rpc_client.get_account -> check_owner
also we convert from rpc_client to program_client to further enforce offlineness
2022-09-07 14:36:39 -07:00
hanako mumei d2c33e26a4 token-cli: infer program_id based on cli args 2022-09-07 14:36:39 -07:00
hanako mumei 191977e2c6 token-cli: normalize argument names/descriptions
we now strictly adhere to the pattern:
* positional arg named `token`: a mint, described `TOKEN_MINT_ADDRESS`
* positional arg named `account`: an account, described `TOKEN_ACCOUNT_ADDRESS`
* positional arg named `address`: a mint or account, described `TOKEN_ADDRESS`, or a multisig, described `MULTISIG_ACCOUNT_ADDRESS`
* `--address` flag, named `address`: an account, described `TOKEN_ACCOUNT_ADDRESS`

normalize burn, unwrap, and supply to follow this convention
2022-09-07 14:36:39 -07:00
hanako mumei b9cab85d81 token-cli: final cleanups on client refactor
use mint for Token objects whenever possible, rework multisig_signers to be prettier
2022-08-31 13:57:41 -07:00
hanako mumei 5e494c63e0 token-cli: promote fee_payer to Arc<dyn Signer> 2022-08-31 13:57:41 -07:00
hanako mumei cf25381108 token-cli: use token client for approve 2022-08-31 13:57:41 -07:00
hanako mumei b91972debb token-cli: use token client for freeze/thaw/revoke 2022-08-31 13:57:41 -07:00
hanako mumei 46206fe64c token-cli: support memo on command_mint 2022-08-31 13:57:41 -07:00
hanako mumei 8e196e5e77 token-cli: use token client for command_burn 2022-08-31 13:57:41 -07:00
hanako mumei e540b172db token-cli: use token client for command_mint
* client: change mint_to to accept decimals and prefer mint_checked
* client: move multisig key winnowing into utility function
2022-08-31 13:57:41 -07:00
hanako mumei 8d1e57018a token-cli: finish interest bearing mint
minor cleanups, guards on set-interest-rate, impl set-authority for interest-bearing mints
2022-08-30 21:12:59 -07:00
Udbhav Muthakana fbae99fe2c token-cli: Support the InterestBearingMint extension 2022-08-30 21:12:59 -07:00
Andrii Tretyakov d65ab18fbd
token-cli: Removed usage of Account::LEN as a verificaton for token account (#3527)
replaced with Account::valid_account_data to support token2022
2022-08-29 12:42:33 -07:00
hanako mumei 84c566b13e bump token-cli to 2.0.17
release has already been made and lives in the `token-cli-v2.0.17-branch` branch
2022-08-25 17:54:38 -07:00
hanako mumei 9382641da2 token-cli: remove #[allow(deprecated)] from toplevel
also remove ArcSigners temp code
2022-08-25 09:53:29 -07:00
hana e03a013184
token-cli: support `MintCloseAuthority` (#3487)
* cli: add --enable-close flag to create-token which sets its close authority to mint authority
* cli: add support to changing a mint close authority to authorize
* cli: add close-mint, a new command for closing a mint
* cli: update authorize and close-account to go through the token client
* client: change set_authority and close_account to support multisigners
2022-08-23 15:54:10 -07:00
hanako mumei e06506b40b token-cli: dont push duplicates to bulk_signers 2022-08-22 16:28:43 -07:00
hanako mumei c426ed9749 Refactor create-token to go through token client
* cli: remove offline args from commands that create accounts
* cli: implement finish_tx, to be a replacement for handle_tx, which branches on the client return
* client: validate a transaction is fully signed before sending over rpc
* client: convert payer from Signer to Arc<dyn Signer> to support cli signers
* client: support nonce mode
* client: change create_mint to be an object method that returns SendTransaction::Output
* client: rename S2 to S everywhere that Token<T, S> is Token<T>
2022-08-18 17:35:55 -07:00
hana 65769ce23d
Update rust to 1.60, solana to 1.11.6 (#3492)
also change bpf to sbf throughout the codebase

Co-authored-by: Jon Cinque <jon.cinque@gmail.com>
2022-08-18 12:16:02 -07:00
Tyera Eulberg 3c54aecfe9
Bump solana to v1.10.35 (#3485) 2022-08-16 12:33:24 -06:00
hanako mumei c5caba0d63 token-cli: use program_client for blockhash 2022-08-15 16:06:50 -07:00
Jon Cinque 3d42786e6e token-cli: Add no-op client 2022-08-15 16:06:50 -07:00
Justin Malčić cc2739fce1
token-cli: Clone signers (#3290)
* Switch to Arc

* Add temporary structs

To be removed upon upstream changes

* Get multisig signers earlier

* Build SignerFromPathConfig with multisig pubkeys

* Get default signer and address

* Store default signer and address

* Use stored default address

* Use stored default signer

* Avoid rereading signer for fee payer

* Clean up use statements

* Rename to ArcSigner

* Remove default_keypair

* Remove default_address

* Add comment for temporary newtype

* Refactor config

* Create config from args in tests

* Remove unused params

* Fix clippy warnings

* Fix rustfmt warnings

* Fix clippy warnings

* Move imports
2022-08-08 23:40:08 +02:00
Tyera Eulberg 7c6235d9e7
Bump token to v3.5.0 and ata to v1.1.1 (#3430) 2022-08-04 01:09:38 -06:00
Jon Cinque f5ce86d43d
token/ata: Bump versions to 3.4.0 and 1.1.0, respectively (#3427) 2022-08-04 01:03:04 +02:00
hana abc63ad946
token-cli: don't error when missing default config (#3424) 2022-08-03 14:58:24 -07:00
Jon Cinque 93ec6cf74a
token-cli: Split out CI into separate step, run tests in serial (#3425)
* token-cli: Split out CI into separate step, run tests in serial

* Remove dependency on cargo-test-bpf to speed things up

* Don't download programs since they won't be available
2022-08-03 21:54:35 +02:00
Jon Cinque 8f74ba517c
token-cli: Run fewer tests at once (#3414) 2022-08-03 01:14:55 +02:00
Jon Cinque 674b0ac70e
token-cli: Add token-client dependency for token-2022 support (#3386) 2022-08-01 17:13:42 +02:00
Jon Cinque 80b8ff3b1d
token-cli: Run tests in batches (#3396) 2022-07-30 00:34:49 +02:00
Tyera Eulberg c00194d225
Bump solana crates to v1.10.33 (#3385) 2022-07-27 11:28:14 -06:00
Jon Cinque 48e6acb53f
token-cli: Support base token-2022 (without extensions) (#3071) 2022-07-27 10:47:43 +02:00
Jon Cinque 60117fd9c5
token-cli: Figure out program_id dynamically (#3354)
* Resolve program id with mint info, use it where possible

* Avoid using `config.program_id` when we can figure it out

* Rename function
2022-07-25 23:22:47 +02:00
Jon Cinque 37280ce2e6
token-cli: Move everything to async (#3353) 2022-07-25 21:05:01 +02:00
Jon Cinque 725430d81c
Revert "token-cli: Downgrade to crates.io versions for release (#3371)" (#3372)
This reverts commit 1c9e2a540c.
2022-07-23 20:16:24 +02:00
Jon Cinque 1c9e2a540c
token-cli: Downgrade to crates.io versions for release (#3371) 2022-07-23 19:14:14 +02:00
Jon Cinque 4d1f8169a9
token-cli: Make BPF program builds in build.rs dependent on env var (#3362)
* token-cli: Make BPF program build dependent on env var

* Do it during `build` and not `test`
2022-07-22 09:30:30 +02:00
Justin Malčić 04954d0a1e
Add delegation tests (#3316)
* Add transfer test

* Add burn test

* Fix formatting
2022-07-21 14:51:45 +02:00
Jon Cinque b709607271
token-cli: Bump version to 2.0.16 for release (#3360) 2022-07-20 20:15:03 +02:00
Alisamar Husain b39efe8fb8
token-cli: Fix unexpected behavior when closing a wrapped SOL account with another wrapped SOL account as recipient (#3278)
* Check if recipient is a wrapped account

* Make clippy and fmt happy

* Avoided mutable, more functional clarity

* Add test for closing wrapped sol account

* wrap the default account

Co-authored-by: Jon Cinque <jon.cinque@gmail.com>

* Fix formatting and failing tests

Co-authored-by: Jon Cinque <jon.cinque@gmail.com>
2022-07-17 16:50:39 +02:00
Jon Cinque 5874a14584
token-cli: Move cmd test into a separate file (#3306) 2022-07-01 19:41:27 -04:00
Jon Cinque c1ee6a58be
Update Solana crates to 1.10.29 (#3303) 2022-07-01 16:51:01 -04:00
samkim-crypto 0f316fb357
bump solana to v1.10.26 (#3274) 2022-06-20 09:55:49 +09:00
Athar Mohammad 351cd60a5e
spl-token: Enums for Cli command names (#2598) (#3236)
* Added Enums which can be turned into strings
  for command names.
2022-06-17 16:56:03 -04:00
dboures 3e9104736a
token-cli: produce error if invalid --config option (#3166)
* token-cli: produce error if invalid --config option

* token-cli: add test for invalid --config
2022-06-08 14:48:55 +02:00
samkim-crypto 424c900345
bump solana to v1.10.19 (#3195)
* bump solana to v1.10.19

* update solana-version.sh
2022-05-25 08:40:30 +09:00
Dmitri Makarov f1c1d440e9
Bump solana to v1.10.15 (#3176) 2022-05-17 11:27:30 -07:00
Tyera Eulberg b3fe5b6d5d
Bump token-2022 (#3113)
* Bump token-2022

* Bump solana dependencies
2022-04-26 12:15:26 -06:00
Harsh Ghodkar f7d4ebecc6
added a flag to check if the recipient address is correct (#3085)
* added a flag to check if the recipient address is correct

* small fix

* Made the changes of adding the check to a suggested block

* updating from base

* was able to clear merge conflicts

* added a couple tests

* better names for tests

* done with fixes

* cargo fmt
2022-04-21 21:53:30 +02:00
Jon Cinque bbde6d8703
token-cli: Add tests for all cases from docs (#3070)
* token-cli: Add tests for all cases from docs

* Add TestValidator and build.rs for programs

* Fix solana-test-validator version

* Add solana-test-validator to patch script
2022-04-15 21:51:16 +02:00
Jon Cinque 1d1c2b178b
Upgrade crates to 1.10.8 (#3076) 2022-04-11 22:25:27 +02:00
Jon Cinque 513c1143a2
token-cli-bench: Remove RPC utils in favor of Tpu Client (#3046) 2022-04-01 13:41:33 +02:00
Tyera Eulberg f4c5fdcfcf
Bump solana to v1.9.9 (#2902) 2022-02-23 16:20:55 -07:00
Michael Vines 0df75ab5e8 Freezing -> Thawing 2022-02-04 09:55:36 -08:00
Michael Vines 6d62ea6cc7 Drop _program_id 2022-01-24 17:41:47 -08:00
Michael Vines 8e559ce69c Add --program-id argument 2022-01-24 17:41:47 -08:00
Tyera Eulberg 83c3ffad25
Bump solana crates to v1.9.5 (#2780)
* Bump solana crates to v1.9.5

* Update sol_set_return_data type signature and un-ignore test
2022-01-21 22:52:10 -07:00
Jon Cinque 78e7a9538e
associated-token-account: Bump dependent token version to 3.3 (#2766)
* associated-token-account: Bump dependent token version to 3.3

* Fix uses of deprecated instruction
2022-01-21 11:01:06 +01:00
Jon Cinque 81f50127f1
token: Bump version to 3.3.0 (#2765) 2022-01-21 01:47:02 +01:00
Michael Vines 9aa859c929 Display RPC transport stats 2022-01-10 11:54:22 -08:00
Jon Cinque 6ee008d256
Update SDK to 1.9.2, fix warnings (#2674)
* Update SDK to 1.9.2, fix warnings

* Upgrade honggfuzz

* Use `get_latest_blockhash` correctly
2021-12-28 23:02:47 -05:00
Paul 7393f1de43
spl-token: provide more useful output when using create-token with the output option and small redesign of token cli architecture (#2593)
* spl-token: WIP

* Remove and_then, move tx handling in separate function- output handling still missing

* spl-token: add basic output handling for all calls, add detailed output to create-token

* spl-token: remove changes in bench that are not strictly necessary to remove # of files touched in this PR

* [spl-token] cli: HandleTxReturn is now TransactionReturnData

* [spl-token] cli: Make commands return output String that is printed in fn main()

* [spl-token] cli: remove old todos

* [spl-token] cli: only use no_wait arg in command_transfer and use constant for "create-token"
2021-11-24 12:08:46 -07:00
Ikko Ashimine 707382ee96
Fix typo in main.rs (#2569)
auxillary -> auxiliary
2021-11-10 11:18:07 -07:00
MarkSackerberg 81c90f5c73
Allow GC to close empty associated accounts (#2554)
* Allow GC to close empty associated accounts

Empty associated accounts will only be closed in case the new flag del_associated_accounts is set. Otherwise behaviour is as before.

Useage:
spl-token gc --del_associated_accounts

* use kebab-case

Co-authored-by: Jon Cinque <jon.cinque@gmail.com>

* align coding style

Thank you jon!

* Add sanity check

* correcting amount check before closing

* formatting correcly

using cargo fmt

* changing sanity check to assert!

Co-authored-by: Sack <none>
Co-authored-by: Jon Cinque <jon.cinque@gmail.com>
Co-authored-by: Mark Sackerberg <Contact@Discord>
2021-11-04 22:49:23 +01:00
Michael Vines 9acb082dc3 Upgrade to Solana v1.8.1 2021-10-20 22:52:19 -07:00
Michael Vines 12732f8d5a Upgrade to Solana 1.8.0 2021-10-12 09:40:06 -07:00
Ryo Onodera 2221e5df74 token-cli: Bump version to 2.0.15 2021-09-28 22:03:41 +09:00
Ryo Onodera 462f1e0708
Really plumb dump_transaction_message (#2448) 2021-09-24 12:05:26 +09:00
Michael Vines 9f0f30a21d Always check transaction statuses before resending 2021-09-19 21:44:09 -07:00
Michael Vines 7d1c0c48fb Use status.satisfies_commitment 2021-09-16 19:35:30 -07:00
dependabot[bot] a036953d12
build(deps): bump serde_json from 1.0.67 to 1.0.68 (#2416)
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.67 to 1.0.68.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.67...v1.0.68)

---
updated-dependencies:
- dependency-name: serde_json
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-09-15 11:17:56 +00:00
Michael Vines 2fa7bb0ef3 Adjust send_and_confirm_messages_with_spinner() to work better with public mainnet RPC 2021-09-08 12:08:27 -05:00
Michael Vines 35e4c1ab49 Slow down retransmission of transactions 2021-09-08 09:48:46 -05:00
Michael Vines 054e4f71c5 Fix issues building against solana 1.8 2021-09-05 17:06:27 -07:00
Michael Vines 902ca60aa3 Groom send_and_confirm_messages_with_spinner 2021-09-05 17:06:27 -07:00
Michael Vines 0737892ba6 Add bench subcommand 2021-09-04 22:31:11 -07:00
Michael Vines ca685784ee Add memo support to transfer and burn commands 2021-08-31 18:08:46 -07:00
dependabot[bot] 3fcfb999d1
build(deps): bump serde from 1.0.129 to 1.0.130 (#2361)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.129 to 1.0.130.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.129...v1.0.130)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-08-31 11:13:17 +00:00
Michael Vines 4406265d4a Upgrade to Solana 1.7.11 2021-08-30 12:41:08 -07:00
dependabot[bot] 7ef3509f51
build(deps): bump serde_json from 1.0.66 to 1.0.67 (#2351)
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.66 to 1.0.67.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.66...v1.0.67)

---
updated-dependencies:
- dependency-name: serde_json
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-08-30 11:32:19 +00:00
Jon Cinque 0db32380a8
token-cli: Add `--use-unchecked-instruction` flag (#2328)
* token-cli: Add `--use-legacy-unchecked-instruction` flag

* use-legacy-unchecked-instruction -> use-unchecked-instruction
2021-08-26 20:38:10 +02:00
dependabot[bot] 1f97833cdd
build(deps): bump serde from 1.0.128 to 1.0.129 (#2322)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.128 to 1.0.129.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.128...v1.0.129)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-08-24 11:17:42 +00:00
dependabot[bot] 4b7898cb2b
build(deps): bump serde from 1.0.127 to 1.0.128 (#2318)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.127 to 1.0.128.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.127...v1.0.128)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-08-23 11:29:51 +00:00
dependabot[bot] e6a7c0080b
build(deps): bump serde from 1.0.126 to 1.0.127 (#2200)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.126 to 1.0.127.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.126...v1.0.127)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-08-02 11:15:36 +00:00
dependabot[bot] 4406ffc5b9
build(deps): bump serde_json from 1.0.65 to 1.0.66 (#2187)
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.65 to 1.0.66.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.65...v1.0.66)

---
updated-dependencies:
- dependency-name: serde_json
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-07-30 11:13:27 +00:00
dependabot[bot] 6de07fe2c4
build(deps): bump serde_json from 1.0.64 to 1.0.65 (#2160)
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.64 to 1.0.65.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.64...v1.0.65)

---
updated-dependencies:
- dependency-name: serde_json
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-07-29 11:47:23 +00:00
Tyera Eulberg 30fccebdc6
Bump solana crates (#2139) 2021-07-23 16:47:06 +00:00
Trent Nelson e4145e3341 token-cli: fix resolving multisig authorities 2021-07-23 01:45:35 -06:00
Tyera Eulberg 5e86aa6142
Bump spl-token-cli (#2131) 2021-07-23 03:20:16 +00:00
Tyera Eulberg c87bb29f48
token-cli: support json output (#2130)
* Add output_format to config

* Add --output global parameter

* Add json output handling for tx commands

* Impl OutputFormat handling for easy get requests

* Remove redundant struct

* Impl OutputFormat handling for accounts command

* Remove unused config field

* Prevent gc --output json for now
2021-07-23 01:44:06 +00:00
Jon Cinque ddc029e14d
token: Bump to 3.2.0 everywhere (#2116) 2021-07-20 23:40:32 +02:00
Jon Cinque aef1e239b3
token: Add SyncNative instruction (program, CLI, JS) (#2091)
* Add SyncNative to program

* Add CLI support

* Add JS bindings

* Fix syncNative test to not run for existing token program

* Combine checks
2021-07-19 21:50:42 +02:00
Trent Nelson 7d00fe08a4
token-cli: Bump version to 2.0.13 2021-07-13 00:37:26 -06:00
Trent Nelson 7b5afeac8d token-cli: Dedupe 'transfer' help message --owner value name 2021-07-06 20:37:55 +00:00
Tyera Eulberg 0acc8c8bad
Bump solana and borsh crates (#2015) 2021-07-02 16:53:41 +00:00
Jon Cinque 21f8af34e7
Update all solana dependencies to 1.7.3, fix issues (#1958)
* Update all dependencies to 1.7.3, fix issues

* Remove esm from mocha

* Fix missed token test

* Also update rust version

* token-swap: update tolerance on sim test

* Run `cargo clippy --fix` for needless_borrow errors

* Rerun cargo fmt
2021-06-25 00:39:08 +02:00
Tyera Eulberg c2f3ed530e Bump spl-token-cli 2021-06-14 16:02:27 -06:00
Tyera Eulberg e28af24443 Bump solana version 2021-06-14 16:02:27 -06:00
Justin Starry 3cf9f0d0f9
spl-token-cli: Remove global owner argument (#1870) 2021-06-10 11:52:39 -07:00