hanako mumei
953e06b3a2
token-client: support wrap
...
also convert cli to use client for wrap
2022-09-21 10:37:53 -07:00
hanako mumei
6b05f02be7
token-cli: implement --immutable for create-account
2022-09-21 10:37:53 -07:00
hanako mumei
697a9e3d5e
token-cli: convert create-account to use client
2022-09-21 10:37:53 -07:00
hanako mumei
e5d4b824b7
token-cli: remove unnecessary fetch for memo transfers
2022-09-16 13:24:16 -07:00
Andrii Tretyakov
feeda6a61e
token-cli: Memo transfer extension ( #3525 )
...
token-cli: Add support for required transfer memos
2022-09-16 11:17:42 -07:00
Jon Cinque
f97a3dc7cf
clippy: Deny integer arithmetic, add allows where needed ( #3606 )
2022-09-15 13:16:53 +02:00
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
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
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
hanako mumei
065a04788d
token-cli: remove unnecessary program_id logic
2022-09-09 09:56:19 -07:00
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
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
hanako mumei
1fb05454e7
token-client: convert approve/revoke interface
2022-08-31 13:57:41 -07:00
hanako mumei
b30aac80a6
token-client: convert transfer interface
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
Jon Cinque
422544b906
ci: Re-enable twotx job ( #3553 )
...
* ci: Re-enable twotx job
* Remake patch file
2022-08-31 01:41:05 +02:00
Jon Cinque
b6259b3a51
token-2022: Add inverse fee calculation ( #3524 )
...
* token-2022: Add inverse fee calculation
* Rename functions
2022-08-30 17:56:34 +02:00
Jon Cinque
ffbab71d49
token-2022: Use updated generic types for Token client in confidentials ( #3546 )
2022-08-29 23:27:29 +02: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
Jordan Sexton
a578fc8159
add eslint-plugin-require-extensions ( #3543 )
2022-08-28 20:38:11 -05: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
Jordan Sexton
d2b15ddc91
update spl-memo dependency
2022-08-24 19:04:27 -05:00
Jordan Sexton
65f5b102e8
spl-token: fix CJS imports ( #3529 )
...
* token-js: patch version bump
* add CJS package.json; fixes #3522
* alpha version bump
* remove alpha version
* add same postbuild step to memo js
* fix lockfiles
2022-08-24 19:01:19 -05:00
Athar Mohammad
2fe0ce60f8
[token-js] : Support for UiAmountToAmount and AmountToUiAmount instructions ( #3345 )
...
* suport for amountToUiAmount instruction
* support for uiamount to amount instruction
* upgrade @solana/web3.js to 1.47.4
* move amount.test from e2e-2022 to e2e
* fix and sort imports
Co-authored-by: Jordan Sexton <jordan@jordansexton.com>
2022-08-24 01:54:16 -05: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
Jordan Sexton
29d316e811
Fix Token program ESM exports ( #3508 )
...
* Fix Memo program ESM exports
* fix repository link
* Fix Token program ESM exports
* web3.js is a peer dependency
* memo/ts -> memo/js (same as token)
* add gh-pages dev dep
* add explicit js extensions
* use explicit js imports
* lint fixes for type imports
* fix version
* check in package-lock.json
* check in package-lock.json
* update spl-memo dep
* reorg imports
* move spl-memo to dev deps
* remove editorconfig
* update spl-memo
* update node version in CI
* memo and token use npm now
* use npm ci commands
* reorder imports
2022-08-22 19:07:03 -05: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
Jon Cinque
6e125f88a9
token[-2022]: Change `target_arch` to `target_os` ( #3493 )
2022-08-18 13:38:10 +02:00
Jordan Sexton
d6297495ea
token/js - make unpack functions consistent ( #3486 )
...
* make argument order and comments consistent for unpack functions
* add function to unpack multisig for parity
* update spl-memo version
* patch version bump
* run prettier
* fix comment
* update lockfile
2022-08-16 16:20:54 -05:00
Tyera Eulberg
3c54aecfe9
Bump solana to v1.10.35 ( #3485 )
2022-08-16 12:33:24 -06:00
Tyera Eulberg
5d03efbabe
Bump token-2022 to 0.4.3 ( #3480 )
2022-08-15 22:08:32 -06:00
Jon Cinque
d611db6a01
docs: Add token-2022 extension docs and JS examples ( #3457 )
...
* token-js: Add examples for all extensions
* docs: Add token-2022 extensions guide for JS
* Address feedback
* Fix extension
2022-08-16 01:07:21 +02:00
hanako mumei
2ea6dfa1de
token-cli: let clients return signature or txn
2022-08-15 16:06:50 -07: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
Pierre
730b628c57
token-js: expose unpack methods ( #3471 )
...
* feat: expose unpack methods
* default program id
Co-authored-by: Arrowana <8245419+Arrowana@users.noreply.github.com>
2022-08-15 15:30:51 +02:00
Jon Cinque
1970356887
token-js: Version bump to 0.3.0 ( #3448 )
...
* token-js: Bump version 0.3.0 for release
* Improve README with support info
2022-08-09 18:54:46 +02:00
Jon Cinque
6b5e7cbbeb
token-js: Add reallocate instruction implementation ( #3447 )
2022-08-09 17:26:31 +02: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
Tyera Eulberg
4a56a4b840
Prep for spl-token v3.5.0 ( #3426 )
...
* check that unpack is tolerant of small sizes (#3416 )
* Refactor unpack and make test more robust (#3417 )
* Refactor hasty fix to match token-2022
* Make test exhaustive
* cargo fmt
Co-authored-by: Michael Vines <mvines@gmail.com>
* Readd proptests without losing unit test, #3421
Co-authored-by: anatoly yakovenko <anatoly@solana.com>
Co-authored-by: Michael Vines <mvines@gmail.com>
2022-08-04 00:25:07 -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
4fadd553e1
token: Reassign and reallocate accounts on close ( #3415 )
...
* token: Reassign and reallocate accounts on close
* Revert "Refactor unpack and make test more robust (#3417 )"
This reverts commit c618de374e
.
* Revert "check that unpack is tolerant of small sizes (#3416 )"
This reverts commit 22faa05f18
.
* Also revert d7f352bd78
2022-08-03 23:49:36 +02: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
d7f352bd78
token[-2022]: Add proptest for unpacking ( #3421 )
2022-08-03 20:01:08 +02:00
Jon Cinque
4aa529d194
ci: Separate twoxtx build step, match Rust version ( #3422 )
...
* ci: Separate twoxtx build step, match Rust version
* Make a change to trigger CI
* Really trigger CI this time
* Fixup yaml issue
* Also set RUST_STABLE_VERSION
* Define env variable earlier
2022-08-03 19:53:35 +02:00
Tyera Eulberg
c618de374e
Refactor unpack and make test more robust ( #3417 )
...
* Refactor hasty fix to match token-2022
* Make test exhaustive
* cargo fmt
Co-authored-by: Michael Vines <mvines@gmail.com>
2022-08-03 01:44:55 -06:00
Tyera Eulberg
e0ff9add17
Bump spl-token ( #3418 )
2022-08-03 01:24:38 -06:00
anatoly yakovenko
22faa05f18
check that unpack is tolerant of small sizes ( #3416 )
2022-08-02 23:11:13 -06:00
samkim-crypto
c98609850f
token-2022: merge instruction data for confidential Transfer and TransferWithFee ( #3410 )
2022-08-03 12:15:31 +09: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
c21b4ae24a
Bump spl-token-2022 to 0.4.2 ( #3390 )
2022-07-27 12:25:11 -06: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
Justin Malčić
d4bd86e162
Improve token error messages in token-swap ( #3357 )
...
* Move PrintProgramError impls
* Add wrapper function
* Add PrintProgramError to use declaration
2022-07-26 13:59:37 +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
d3cbe360ac
token-2022: Refactor PrintProgramError impl to error file ( #3366 )
2022-07-24 21:28:09 +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
samkim-crypto
937b64da37
Adjust confidential token rust client for offline signing ( #3347 )
...
* token-2022: remove account balance decryption from confidential transfer rust client
* token-2022: remove account balance decryption from withdraw withheld tokens from accounts
* token-2022: cargo fmt
* token-2022: update tests for new rust client syntax
* token-2022: cargo fmt
* token-2022: cargo clippy
* token-2022: minor
2022-07-16 05:34:19 +09:00
jon wong
024ba3ad41
token-2022: Bump version for 0.4.1 release ( #3328 )
...
* Bumping `spl-token-2022` version
* Bump Cargo.lock
2022-07-09 01:02:49 +02:00
omertxyz
f30ad1d752
Add serde feature - token-2022 ( #3291 )
...
* Add serde to token-2022
* Add tests
* Fix feature syntax
* Formatting, enabling features
* Make CI work, and some naming nit cleanup
* Un-async tests
Co-authored-by: jon wong <j@jnwng.com>
Co-authored-by: Jon Cinque <jon.cinque@gmail.com>
2022-07-07 13:18:47 -04:00
samkim-crypto
3afe1e652b
Derive elgamal key in token client ( #3308 )
...
* token-2022: derive elgamal key in token client
* token-2022: update program tests for key derivation
* token-2022: key derivation for apply pending balance
* token-2022: add configure account with max pending balance
* token-2022: update tests for apply pending balance
* token-2022: derive key for confidential trasfer with fee
* token-2022: update test for confidential transfer with fee
* token-2022: derive encryption keys for withdrawing withheld tokens
* token-2022: update tests
2022-07-04 15:47:33 +09: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
Jon Cinque
c4f10d8d53
token-js: Throw if using token-2022 instructions with tokenkeg ( #3296 )
...
* token-js: Throw if using token-2022 instructions with tokenkeg
* Fixup updated params
2022-06-29 13:39:30 -04:00
Kunal Desai
7caf27cca6
Support interest bearing mint in token-js ( #3266 )
...
* Support interest bearing mint in token-js
* pr feedback
* Add tests + actions.ts
* Update docs
* pr feedback
2022-06-27 18:50:05 -04:00
samkim-crypto
57c5fd80f6
token-2022: check destination accounts on confidential token tests ( #3281 )
...
* token-2022: check destination accounts on confidential token tests
* token-2022: cargo clippy
2022-06-21 23:59:26 +09:00
samkim-crypto
c3137af9df
token-2022: add tests for withdraw of confidential withheld tokens from accounts ( #3280 )
...
* token-2022: add tests for withdraw of confidential withheld tokens from accounts
* token-2022: cargo fmt
* token-2022: cargo clippy
2022-06-21 22:02:15 +09:00
samkim-crypto
0f316fb357
bump solana to v1.10.26 ( #3274 )
2022-06-20 09:55:49 +09:00
Jon Cinque
e44d174f63
token-js: Clarify how to run tests ( #3269 )
2022-06-17 19:32:25 -04: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
Jon Cinque
056948bbd1
token-js: Add memo transfer support ( #3257 )
2022-06-16 11:32:28 -04:00
Jon Cinque
5c478568c6
token-js: Support non-transferable mint ( #3256 )
2022-06-16 09:40:29 -04:00
Jon Cinque
b461406e97
token-js: Add default account state support ( #3255 )
2022-06-16 09:40:11 -04:00
Jon Cinque
79d2c606b8
CI: Add `--max-warnings 0` to eslint to abort on errors ( #3254 )
...
* CI: Add `--max-warnings 0` to eslint to abort on errors
* Fix lint issue
2022-06-16 09:39:55 -04:00
Jon Cinque
27014732dd
token-2022: Bump version for next release ( #3239 )
2022-06-10 22:38:33 +02:00
Ronald Hood Jr
5493842399
token-js: Bindings For Transfer Fee Extension IXs ( #3102 )
...
* JS Bindings For Transfer Fee Extensions IXs
* Add tests and actions
Co-authored-by: Jon Cinque <jon.cinque@gmail.com>
2022-06-10 01:31:57 +02:00
Kunal Desai
ad97543192
Support InitializeAccount3 in token js ( #3233 )
2022-06-09 13:57:01 +02:00
Kunal Desai
6096ac6f46
Support InitializeAccount2 instruction ( #3229 )
...
* Support InitializeAccount2 instruction
* Add unit test
2022-06-08 22:29:49 +02: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
677acf173d
token-2022: limit incoming transfers for confidential transfer extension ( #3208 )
...
* token-2022: limit incoming transfers for confidential transfer extension
* token-2022: add maximum pending counter for confidential extension in client
* token-2022: update tests for ct configure account
* token-2022: cargo fmt
* divide pending balance into lo and hi
* token-2022: update ct processor for lo and hi pending balances
* token-2022: limit confidential transfer deposit and transfer amount in token client
* token_2022: rename TokenError::IllegalAmount
* token-2022: compare max pending credit as u64
* token-2022: fmt
* token-2022: minor fix error from rebase
* Update token/program-2022/src/extension/confidential_transfer/processor.rs
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
* token-2022: update configure account initialization comments
* token-2022: use strict comparison for max pending balance credit counter check
* token-2022: update deposit tests to check `pending_balance_hi` populated
* token-2022: update deposit tests to check that deposit and transfer fails when max pending exceeded
* token-2022: reset pending balance counter on `ApplyPendingBalance`
* token-2022: fix cargo test cases for credit counter
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
2022-06-07 23:16:46 +09:00
samkim-crypto
c2a3ecd970
token-2022: prevent an already configured confidential account to be configured again ( #3216 )
...
* token-2022: prevent an already configured confidential account to be configured again
* token-2022: add overwrite flag to init extension
* token-2022: clippy
* token-2022: update initialize mint for interest bearing mint
* token-2022: confidential transfer mint init allow overwrite
2022-06-07 09:42:23 +09:00
Jon Cinque
f7abf4a6bc
token-2022: Remove `reallocate` and `sibling-instruction` features ( #3213 )
2022-06-01 16:46:41 +02:00
Jon Cinque
773e2ee469
token-2022: Add interest-bearing extension ( #3013 )
...
* token-2022: Add interest-bearing extension
* Rename / comment feedback
* Rename interest-bearing -> interest-bearing mint
2022-06-01 16:46:30 +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
samkim-crypto
2ad468f8b7
Fix confidential self transfer with fees ( #3193 )
...
* token-2022: fix confidential self-transfers with fee
* token-2022: update tests for confidential self-transfer with fees
2022-05-24 19:19:19 +09:00
beeman
3af176d6c4
token-js: move start-server-and-test dep to devDependencies ( #3186 )
2022-05-20 14:19:04 +02:00
samkim-crypto
b2077609d9
token-2022: add tests for confidential transfer withdraw withheld tokens from mint ( #3181 )
2022-05-19 11:12:00 +09:00
Michael Vines
f1c693d067
token-2022: Add support for Non-Transferable Tokens (NTTs) - NonTransferableMint extension ( #3178 )
...
Co-authored-by: Juan Oxoby <me@jmoxo.by>
2022-05-17 16:16:13 -07:00
Dmitri Makarov
791cc8a776
Use target_os instead of target_arch for Solana conditional compilation ( #3148 )
2022-05-17 12:25:24 -07:00
Dmitri Makarov
f1c1d440e9
Bump solana to v1.10.15 ( #3176 )
2022-05-17 11:27:30 -07:00
dboures
49c53ad653
token-js: Add sync version of getAssociatedTokenAddress ( #3171 )
...
* token-js: Bump web3.js dependency to 1.41.0
* token-js: Add sync version of getAssociatedTokenAddress
* token-js: add test for getAssociatedTokenAddressSync
* Update lockfile
Co-authored-by: Jon Cinque <jon.cinque@gmail.com>
2022-05-17 00:30:31 +02:00
samkim-crypto
9e029349fc
Rename encryption pubkey ( #3147 )
...
* token-2022: change elgamal pubkey to encryption pubkey
* token-2022: update client and tests for elgamal pubkey to encryption pubkey
2022-05-08 12:51:18 +09:00
samkim-crypto
b6eb64b0b4
token-2022: check pending and available balance on confidential token tests ( #3145 )
...
* token-2022: check pending and available balance on confidential token tests
* token-2022: cargo fmt
2022-05-07 15:00:58 +09:00
samkim-crypto
bcf7aa2d6e
token-2022: client for confidential withdraw withheld tokens ( #3134 )
2022-05-06 15:52:43 +09:00
Tyera Eulberg
731a1363b1
Token client improvements ( #3139 )
...
* Use-stmt cleanup
* Use nonblocking RpcClient
* Arc-wrap RpcClient
* Confirm tx when using RpcClient
* Bump version for releasing
2022-05-04 18:11:11 -06:00
Tyera Eulberg
d087b574e6
Accommodate upstream web3.js changes in twotx patch ( #3140 )
2022-05-04 17:32:51 -06:00
Jon Cinque
e59a0dc186
token-2022: Set transfer fee two epochs ahead ( #3120 )
2022-04-27 17:48:08 +02:00
Tyera Eulberg
51ece68cec
Add feature-wrapping for new ConfidentialTransferInstruction::TransferWithFee ( #3116 )
2022-04-26 13:15:09 -06:00
Tyera Eulberg
b3fe5b6d5d
Bump token-2022 ( #3113 )
...
* Bump token-2022
* Bump solana dependencies
2022-04-26 12:15:26 -06:00
Tyera Eulberg
2c1a671a77
Make spl-token-2022 instruction decoders pub ( #3112 )
...
* Make instruction decoders pub
* Add missing doc
2022-04-26 07:56:08 -06:00
Tyera Eulberg
2491b29a1e
Add AuthorityType variant to use for mint close-authority adjustment ( #3111 )
2022-04-26 07:55:15 -06:00
Jon Cinque
c616db83c4
token-2022: Add compatibility test for instructions ( #3106 )
2022-04-22 23:55:18 +02:00
samkim-crypto
049a89f351
token-2022: Add confidential transfer with fee instruction ( #2988 )
...
* token-2022: add separate transfer with fee instruction
* token-2022: add `TransferWithFee` client code
* apply twoxtx patch
* token-2022: add brief tests for transfer with fee
* Revert "apply twoxtx patch"
This reverts commit ce09d1f5d2fb496cd4ee9991be234726786e39f2.
* token-2022: cargo fmt
* token-2022: uncommenting the rest of the tests
* token-2022: cargo fmt
* token-2022: temporarily reverting to 5f89521
* token-2022: minor
* token-2022: clippy
* token-2022: apply twoxtx patch
* token-2022: fix transfer with fee test
* Revert "token-2022: apply twoxtx patch"
This reverts commit 577e63c2f38ce0a17fa4aede3d0acfd852b1d3ab.
* token-2022: simplify fee parameter for zkp on client
* token-2022: fix build
2022-04-22 14:00:42 -04: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
Ronald Hood Jr
ae2e000434
InitializeImmutableOwner Instruction ( #3068 )
...
* initializeImmutableOwner Instruction
* Immutable Owner Testing
* immutable owner tests
* Creating Mint and Initializing Account
* Parameter Synchronization
* Documentation Update
Co-authored-by: Ronald Hood <ronald.hood@yale.edu>
2022-04-21 20:43:56 +02:00
samkim-crypto
76f0532d83
token-2022: fix confidential transfer tests ( #3096 )
...
* token-2022: update zk-token-sdk to 1.10.8
* token-2022: remove ignore tag for confidential tranfer test
2022-04-21 12:21:21 -04: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
Jordan Sexton
552ada1035
remove old ts dir
2022-03-30 11:12:13 -06:00
Jon Cinque
fe4eb13fec
token-js: Fix build due to duplicated web3.js ( #3048 )
2022-03-29 21:24:21 +02:00
Danny Povolotski
29d424e597
fully switch to @solana/buffer-layout ( #2634 )
...
* remove unused buffer-layout
* change to solana implementation of buffer-layout
* use latest buffer-layout and utils
* update buffer-layout-utils
* update buffer-layout-utils
* info.data is already Uint8Array
* update deps, fix lint
* remove node engine requirements
Co-authored-by: Danny Povolotski <danny@192.168.1.34>
Co-authored-by: Jordan Sexton <jordan@jordansexton.com>
2022-03-26 22:00:59 -06:00
Jon Cinque
b7a3fc6243
token-2022: Fix (rarely) flakey test by changing tx ( #3015 )
2022-03-19 02:39:31 +01:00
Jon Cinque
2292dc2c8c
token-2022: Refactor instruction encoding / decoding ( #3011 )
2022-03-17 18:27:06 +01:00
Brennan Gebotys
a2bbabc1dc
add getMultipleAccounts for Token ( #2990 )
...
* add getMultipleAccounts for Token
* update naming convention of fcn
* rename & reorg code
* lint fix
Co-authored-by: obiwan <you@example.com>
2022-03-11 22:11:50 +01:00
samkim-crypto
4ddaae5f21
Bump zk token sdk ( #3002 )
...
* token-2022: bumping zk-token-sdk to 1.10.1-pre1 and updating variable names accordingly
* token-2022: updating client and test variables to match newest zk-token-sdk
2022-03-11 06:57:32 -05:00
Jon Cinque
56a1e97c95
token-js: Update @solana/web3.js dependency ( #3001 )
2022-03-10 22:32:31 +01:00
Jon Cinque
29479fcc72
token-2022: Make program and crate deployable ( #2985 )
...
* token-2022: Make program and crate deployable
* Featurize the syscall usage
* Re-add GenericTokenAccount
* Rebase correctly with GenericTokenAccount
* Add updated valid_account_data implementation
2022-03-10 17:42:16 +01:00
Tyera Eulberg
810c79ec32
token-2022: Allow anyone to burn/close an Account owned by the system program or the incinerator ( #2890 )
...
* Allow anyone to burn and close token Accounts owned by the system program and the incinerator
* Require rent from incinerator/system-owned token accounts be burnt when accounts closed
* Add support to OG program
2022-03-09 19:31:39 -07:00
Lijun Wang
76a92cda2d
Added checks if a token account is initialized when checking validity ( #2986 )
...
* Added checks if an account is initialized when checking validity
2022-03-09 16:53:48 -08:00
Tyera Eulberg
221935bdba
Ignore failing test ( #2999 )
2022-03-09 16:48:36 -07:00
Tyera Eulberg
26d3a33939
Update twoxtx patch ( #2997 )
2022-03-09 12:15:42 -07:00
samkim-crypto
7ab4de6174
token-2022: minor rename pod types with descriptive types ( #2983 )
2022-03-04 12:26:28 -05:00
Tyera Eulberg
e17706c7be
Spell out destination ( #2977 )
2022-03-03 12:34:17 -07:00
Lijun Wang
bbbf250a67
Support unpacking token accounts fields partially ( #2970 )
...
* Support unpacking token accounts fields partially
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
2022-03-02 11:34:55 -08:00
Michael Vines
ab23d6b41e
Augment ct tests with decryptable_available_balance assertions
2022-02-28 17:26:32 -08:00
Michael Vines
22135e547c
Add ConfidentialTransferInstruction Deposit/Transfer/Withdraw tests
2022-02-28 09:34:23 -08:00
Michael Vines
3450f173de
Fix transfer bug
2022-02-28 09:34:23 -08:00
Michael Vines
38243ddcd4
Add temporary twoxtx feature for ConfidentialTransfer extension unit testing
2022-02-28 09:34:23 -08:00
Michael Vines
6875603085
Initial ConfidentialTransferInstruction::EmptyAccount test
2022-02-28 09:34:23 -08:00
Tyera Eulberg
29089e873e
Fix copypasta ( #2962 )
2022-02-26 13:28:57 -07:00
samkim-crypto
66cf3e9720
token-2022: update doc style for confidential extension instructions ( #2961 )
2022-02-26 09:21:48 -05:00
Jon Cinque
2e1286b06a
token-js: Support MintCloseAuthority ( #2951 )
2022-02-25 00:24:26 -05:00
samkim-crypto
af90facd1d
token-2022: add fee withdraw and harvest instructions ( #2907 )
...
* token-2022: add fee harvest instruction for confidential extension
* token-2022: cargo fmt
* token-2022: add `WithdrawWithheldTokensMint` processor
* token-2022: add `WithdrawWithheldTokensAccounts` processor
* token-2022: incorporate VerifyWithdrawWithheldTokens instruction
* token-2022: minor variable name changes
* token-2022: additional comments + renaming variables
* token-2022: check if confidential extension was approved for fee harvest
Co-authored-by: Michael Vines <mvines@gmail.com>
* token-2022: fix error type for overflow
* token-2022: remove unnecessary fee extension check for confidential token harvest
* token-2022: add extra detail on front-running for harvesting fees
* token-2022: fix pending balance
* token-2022: bump zk-token-sdk to 0.8.0
* token-2022: fix minor variable name issue
* token-2022: minor spelling
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
* token-2022: addressing smaller review feedback
* token-2022: change fee_mint to transfer_fee_config in confidential transfer
* Update token/program-2022/Cargo.toml
* token-2022: fix cargo bpf-test fail
* token-2022: fixing a previous comment mistake
Co-authored-by: Michael Vines <mvines@gmail.com>
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
2022-02-24 21:16:32 -05:00
Tyera Eulberg
0268d76d30
token-2022: complete memo extension functionality ( #2876 )
...
* Add NoMemo error and use syscall to require memos
* Flesh out + dedupe memo-transfer tests
* Add memo v1 test cases
2022-02-24 16:48:42 -07:00
Tyera Eulberg
d505f2a739
Add comment ( #2954 )
2022-02-24 16:46:47 -07:00
Jon Cinque
c3fda0d956
token-js: Add support for extension data ( #2950 )
2022-02-24 15:55:29 -05:00
Jon Cinque
5229a21c6a
token-js: Update instruction enum for UiAmountToAmount / AmountToUiAmount ( #2949 )
...
* token-js: Unflake create native test
* Add UiAmountToAmount and AmountToUiAmount to enum
2022-02-24 15:17:32 -05:00
Tyera Eulberg
f4c5fdcfcf
Bump solana to v1.9.9 ( #2902 )
2022-02-23 16:20:55 -07:00
Michael Vines
131612417a
Do not permit token accounts to be closed when the withheld amount is non-zero
2022-02-23 11:48:03 -08:00
Michael Vines
10559aed7a
Reduce mut usage
2022-02-23 11:48:03 -08:00
Michael Vines
1bcd07dca1
Field name cleanup
2022-02-23 09:54:46 -08:00
Michael Vines
656f0eb1d9
Reduce test code duplication
2022-02-23 09:54:46 -08:00
Michael Vines
e111e997b7
Add {En,Dis}ableBalanceCredits test
2022-02-23 08:37:19 -08:00
Michael Vines
7bdb77b330
Enable balance credits by default
2022-02-23 08:37:19 -08:00
Michael Vines
3f393e8a85
Remove unnecessary approval checks
2022-02-23 08:37:19 -08:00
Michael Vines
7c3b614af0
Add confidential transfer configure and approve account tests
2022-02-23 07:37:14 -08:00
Tyera Eulberg
6944577691
Custom build.rs for program-2022-test ( #2940 )
...
* Add custom build script from program-2022-test to build .so
* Log output
2022-02-22 22:29:28 -07:00
Michael Vines
c4c14b5c51
Add confidential transfer initialize/update mint tests
2022-02-22 21:25:18 -07:00
Michael Vines
45ce0818f0
Add zktoken paper
2022-02-22 12:22:48 -07:00
Tyera Eulberg
3d92f8f4dc
Add token Amount/UiAmount conversion Instructions ( #2928 )
...
* Add Amount/UiAmount conversion Instructions to spl-token
* Use invalid-mint error in spl_token get_account_data_size
* Add Amount/UiAmount conversion Instructions to spl-token-2022
2022-02-17 16:25:57 -07:00
Jon Cinque
bb6a91c56f
token-js: Support token-2022 in base tests ( #2927 )
2022-02-17 23:26:54 +01:00
Jon Cinque
558322798f
token-2022: Support extensions in `SyncNative` ( #2926 )
2022-02-17 22:50:10 +01:00
Zicklag
48fbb5b7c4
Fix Broken Link to Token Program TypeScript Docs
2022-02-16 12:59:12 -06:00
Tyera Eulberg
172e24e1f2
Initialize close_authority explicitly ( #2919 )
2022-02-15 17:27:28 -07:00
Jordan Sexton
b5f3dfe0e4
token: fix gh-pages deploy path
2022-02-15 16:57:16 -06:00
Jordan Sexton
d525d1ea2e
token: fix gh-pages
2022-02-15 16:38:39 -06:00
Jordan Sexton
f487f520bf
run example
2022-02-15 16:33:36 -06:00
Jordan Sexton
00371383e8
update gh-pages config and link
2022-02-15 16:33:36 -06:00
Jordan Sexton
f2134f36e8
remove usage
2022-02-15 16:33:36 -06:00
Jordan Sexton
16aa92df0a
fix faq link
2022-02-15 16:33:36 -06:00
Jordan Sexton
292153ad40
increase mocha timeout
2022-02-15 16:33:36 -06:00