Commit Graph

3143 Commits

Author SHA1 Message Date
hanako mumei 2acc42fd96 token-cli: display all extensions except confidential 2022-09-14 11:36:40 -07:00
hanako mumei f3f9995484 token-cli: impl display for interest and transfer fee 2022-09-14 11:36:40 -07:00
hanako mumei bdd0d4938a token-cli: impl display for half of extensions 2022-09-14 11:36:40 -07:00
hanako mumei b90903c990 token-cli: impl two extensions for display
also indent all the displys cutely
2022-09-14 11:36:40 -07:00
hanako mumei 6d61b8e3e4 token-cli: impl `spl-token display` for mint
also show decimals for accounts, because we can
2022-09-14 11:36:40 -07:00
hanako mumei 00b8e7a8b1 token-cli: modernize account-info, impl display 2022-09-14 11:36:40 -07:00
hanako mumei f8d1503acf token-cli: convert multisig display to UiMultisig 2022-09-14 11:36:40 -07:00
hanako mumei bdc3087533 token-cli: modernize multisig display 2022-09-14 11:36:40 -07:00
Jon Cinque c0ef1f95ef
token-upgrade: Define new conversion program (#3436)
* token-upgrade: Define interface and state for token upgrade program

* Update with feedback

* Address more feedback, make the whole thing stateless

* Address interface feedback

* Add implementation

* Update language

* Update language

* Add tests

* Add CI

* Change program id to tkup

* Rebase fix

* Address feedback

* Enforce decimals match
2022-09-14 12:44:29 +02:00
samkim-crypto 7633f6f81d
token-2022: Add support for non transferable and immutable ownership in token client (#3582)
* add token client support for non transferable mint

* resolve conflict

* add basic tests for non transferable token account

* add test for fees for non-transferable accounts

* resolve test failure from rebase
2022-09-14 17:37:09 +09:00
samkim-crypto 4587da1eab
confidential-extension: Restrict deposit source and withdraw dest to base accounts (#3540)
* resolve conflict

* update token client for new deposit syntax

* resolve conflict

* update tests

* address doc comments
2022-09-14 16:22:52 +09:00
Edgar ac47fb1e38
add stake pool support support for hardware wallets in set-manager (#3583)
* add support for hardware wallets in set-manager

* clippy

* wrap new_manager in &Option<T> type

* trigger CI
2022-09-13 20:31:27 +02:00
Jon Cinque 0bbe9bd7c8
audit: Update axum-core and its deps aggressively (#3601) 2022-09-13 18:13:31 +02:00
Jon Cinque 563512bcfb
account-compression: Rename packages, prep for release (#3600) 2022-09-13 17:44:18 +02:00
Jordan Sexton d0277e65dd organize imports, lint 2022-09-12 18:39:51 -05:00
Jordan Sexton 48c0ede285 token js: patch version bump 2022-09-12 18:38:49 -05:00
Sammy Harris 6f4bdaa912
Update token-js with rent-less instructions (#3590)
* add new token instructions

* add decode helper function

* remove commented out thingy

* fix decode order

* update unit test

* add new unit tests
2022-09-12 17:52:53 -05:00
Jon Cinque 49a119b105
token-client: Add fmt::Display implementation to RpcClientResponse (#3594)
* token-client: Add Display to RpcClientResponse

* Handle crates defined as `{ version = "...", ... }
2022-09-12 22:09:55 +02:00
Jon Cinque 6bcd051d38
token-client: Change create_account to return T::Output (#3584) 2022-09-10 16:01:50 +02:00
Noah Gundotra 74a41cc140
Concurrent Merkle Tree: Improve Docs (#3589) 2022-09-10 10:42:44 +05:30
hanako mumei 065a04788d token-cli: remove unnecessary program_id logic 2022-09-09 09:56:19 -07:00
jon wong 504139fd0c
Update token-2022.md (#3576) 2022-09-08 12:10:07 -04:00
Noah Gundotra ee1b4be087
Account Compression: Autogenerate TS SDK with Solita (#3551)
* AC: SDK can be imported into test

* AC: rename program folder, update account type discriminant size to u8

* AC: tests now pass

AC: remove log statements

AC: update README

AC: restructure class as a type

* AC: remove 'roll' and 'gummy' references

* AC: remove anchor TS dependency from SDK

AC: fix unused, missing imports

AC: remove unused anchor imports

AC: remove test utils

* AC: move anchor tests inside js sdk

AC: remove unnecessary bn dependency, use Anchor just for testing

* AC: remove unused exports, update Solita path

* AC: update tsconfigs

* AC: address nits

* AC: add ser/de beets for CMT library types

* AC: update test formatting

* AC: clean up confusing tests

* AC: move convenience functions to instructions

* AC: move test deps out of build

* AC: add comment explaining header padding

Co-authored-by: Noah Gundotra <noahgundotra@noahs-mbp.mynetworksettings.com>
Co-authored-by: jarry-xiao <jarry.xiao@gmail.com>
Co-authored-by: Sam Orend <sam.orend22@gmail.com>
Co-authored-by: Jarry Xiao <61092285+jarry-xiao@users.noreply.github.com>
Co-authored-by: austbot <me@austbot.com>
2022-09-08 17:04:54 +05:30
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
samkim-crypto fb0e6572a7
token-2022: add calculate post and pre fee amounts (#3570)
* add calculate post and pre fee amounts

* fix typo

* Update token/program-2022/src/extension/transfer_fee/mod.rs

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

* provide more info on ceiling division

* update tests

Co-authored-by: Jon Cinque <jon.cinque@gmail.com>
2022-09-07 21:08:12 +09:00
samkim-crypto 30870c96e8
confidential-extension: forbid confidential transfer if nontransferable mint (#3542)
* forbid confidential transfer if nontransferable mint

* add a note about nontransferable mint in the transfer instruction

* disable deposit and withdraw if mint nontransferable
2022-09-07 09:40:28 +09:00
Jon Cinque 8ca2b8666b Add docs 2022-09-07 01:56:17 +02:00
Jon Cinque 8a3a6ebf60 Step 2: Add processor check to prevent a mint close authority 2022-09-07 01:56:17 +02:00
Jon Cinque 482656bb66 Step 1: Add a failing test with mint close authority 2022-09-07 01:56:17 +02:00
Jon Cinque bb468d2ce7 Step 2: Calculate the expected transfer fee 2022-09-07 01:56:17 +02:00
Jon Cinque 9abaf9c90d Step 1: Add a failing test using transfer fees 2022-09-07 01:56:17 +02:00
Alexandru Agache 668dcac11a
fix ConcurrentMerkleTreeHeader (de)serialization (#3572)
The `account_type` member of `ConcurrentMerkleTreeHeader` is currently
an `#[repr(u32)]` enum, but borsh only uses one byte to serialize or
deserialize an enum tag, which leads to issues with `try_from_slice`
calls that get passed slices computed based on applying `size_of` to
`ConcurrentMerkleTreeHeader`. This commit replaces the underlying
type of `account_type` with an integer type.

Signed-off-by: Alexandru Agache <alexandruag@gmail.com>

Signed-off-by: Alexandru Agache <alexandruag@gmail.com>
2022-09-06 18:28:50 -05:00
Dana aadf29e563
docs: Use new overload of confirm tx in token-2022 extension examples (#3567) 2022-09-06 19:07:46 +02:00
ngundotra 7c7507f4ec AC: downgrade solana program version in wrapper to reduce dependency burden 2022-09-01 19:48:43 -04:00
Jon Cinque 592960c2de Add documentation 2022-09-01 20:12:12 +02:00
Jon Cinque 3419482741 Update fuzz and JS clients for new interface 2022-09-01 20:12:12 +02:00
Jon Cinque deeb02deff Step 3: Change `transfer` to `transfer_checked` 2022-09-01 20:12:12 +02:00
Jon Cinque 1d27ca5ced Step 2: Add mints to instructions that use `transfer` 2022-09-01 20:12:12 +02:00
Jon Cinque 1b6173cb4e Step 1: Add transfer fee extension to Token-2022 tests 2022-09-01 20:12:12 +02:00
Jon Cinque 07d14e948a
fuzz: Update honggfuzz and rust version required (#3563) 2022-09-01 19:36:47 +02:00
samkim-crypto 7e2a048045
fix typo (#3559) 2022-09-01 09:06:57 +09: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 db4a950ca8 token-client: convert freeze/thaw interface 2022-08-31 13:57:41 -07:00