samkim-crypto
b9aba3fb8d
[confidential-extension] Use `OptionalNonZeroPubkey` and `OptionalNonZeroEncryptionPubkey` for confidential extension ( #3943 )
...
* use OptionalNonZeroPubkey for the confidential mint authority pubkey
* add OptionalNonZeroEncryptionPubkey
* update tests
* Update token/program-2022/src/pod.rs
Co-authored-by: Jon Cinque <jon.cinque@gmail.com>
* remove unnecessary COption convertion for OptionalNonZeroEncryptionPubkey
Co-authored-by: Jon Cinque <jon.cinque@gmail.com>
2022-12-23 11:06:18 +09:00
samkim-crypto
6386f24253
[confidential-extension] Restrict `InitializeMint` and `UpdateMint` instructions ( #3938 )
...
* restrict `UpdateMint` instruction
* update tests and token client for `UpdateMint`
* restrict `InitializeAccount` instruction
* update client and tests for `InitializeMint` instruction
2022-12-20 14:24:31 +09:00
samkim-crypto
c51ccf05c2
[confidential-extension] Refactor and add comments for readability ( #3921 )
...
* pass over `InitializeAccount` to `Withdraw` instructions
* add `valid_as_source` and `valid_as_destination` functions
* pass over `Transfer` instruction
* pass over `ApplyPendingBalance` to `HarvestWithheldTokensToMint` instructions
* refactor pending balance credit counter increment
2022-12-16 12:42:55 +09:00
samkim-crypto
39a6d59f27
[token-2022] Divide encrypted fee into lo and hi (TOB-STK-11) ( #3878 )
...
* require regular fee proof for self-transfers with fee
* process encrypted lo and hi fee separately
2022-12-07 10:53:48 +09:00
samkim-crypto
6725958c26
[token-2022] Enable confidential payments only feature ( #3790 )
...
* add allow_non_confidential_credits field
* add tests for disabling non-confidential transfers
* Apply suggestions from code review
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
* clarify comment wording
* Update token/program-2022/src/extension/confidential_transfer/processor.rs
Co-authored-by: Jon Cinque <jon.cinque@gmail.com>
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
Co-authored-by: Jon Cinque <jon.cinque@gmail.com>
2022-11-17 13:10:21 +09:00
Jon Cinque
8d0a2e1000
token-2022: Add PermanentDelegate extension ( #3725 )
...
* token-2022: Add PermanentDelegate extension
* Address feedback
* Refactor getting permanent delegate
* Rename function
* More cleanup
* Fix ATA
2022-11-15 14:10:59 +01:00
samkim-crypto
edac3c50f0
Disable confidential transfer tests ( #3786 )
...
* disable confidential transfer tests
* featurize additional parts of the code
2022-10-31 11:53:12 +09:00
hanako mumei
51f5e93e4e
token-client: clean up useless temp vecs
2022-10-07 14:08:27 -07:00
hanako mumei
a5a565b56c
token-client: move decimals from Token methods to struct
2022-10-07 12:24:36 -07:00
hanako mumei
200b2acab4
token-cli: final fixes for client conversion
2022-10-06 17:33:34 -07:00
hanako mumei
37168db058
token-cli: convert required memos and interest rate to client
2022-10-06 17:33:34 -07:00
samkim-crypto
50abadd819
token-2022: integrate memo into confidential extension ( #3587 )
...
* resolve conflict
* add test for confidential extension with memo
* add test for confidential transfer with memo
* change proof instruction order for memo
* resolve conflict
* minor
* rename new_with_memo to new_with_required_memo_transfers
* fix failing tests due to rebase
* fix failing tests due to rebase
2022-09-26 12:27:44 +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
Jon Cinque
6bcd051d38
token-client: Change create_account to return T::Output ( #3584 )
2022-09-10 16:01:50 +02: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
Jon Cinque
ffbab71d49
token-2022: Use updated generic types for Token client in confidentials ( #3546 )
2022-08-29 23:27:29 +02: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
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
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
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
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
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
samkim-crypto
b2077609d9
token-2022: add tests for confidential transfer withdraw withheld tokens from mint ( #3181 )
2022-05-19 11:12:00 +09: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
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
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
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
Tyera Eulberg
221935bdba
Ignore failing test ( #2999 )
2022-03-09 16:48:36 -07: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
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
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
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
7c3b614af0
Add confidential transfer configure and approve account tests
2022-02-23 07:37:14 -08:00
Michael Vines
c4c14b5c51
Add confidential transfer initialize/update mint tests
2022-02-22 21:25:18 -07:00