Brooks Prumo
d1ba42180d
clippy for rust 1.65.0 ( #28765 )
2022-11-09 19:39:38 +00:00
samkim-crypto
bac6ebcd88
zk-token-sdk: update errors in comments ( #27602 )
...
update errors in comments
2022-09-15 17:11:14 +09:00
Dmitri Makarov
569b00025c
fix: replace rust cfg annotations that use bpf by target_os solana
2022-05-18 20:39:43 -07:00
samkim-crypto
b22abbce7d
Additional tests for proof verification when ElGamal pubkey is zeroed ( #24243 )
...
* zk-token-sdk: add edge case tests for withdraw withheld proof
* zk-token-sdk: add test cases for proof verification when pubkeys are invalid
2022-04-11 17:53:31 +01:00
samkim-crypto
10eeafd3d6
zk-token-sdk: handle edge cases for transfer with fee ( #23804 )
...
* zk-token-sdk: handle edge cases for transfer with fee
* zk-token-sdk: clippy
* zk-token-sdk: clippy
* zk-token-sdk: cargo fmt
2022-03-21 16:10:33 -04:00
samkim-crypto
4e02ec342c
zk-token-sdk: fixing a range proof edge case ( #23605 )
...
* zk-token-sdk: fixing a range proof edge case
* zk-token-sdk: clippy
2022-03-11 16:57:56 -05:00
samkim-crypto
08c9a650db
zk-token-sdk: generalize range proof ( #23506 )
...
* zk-token-sdk: update range proof in transfers for more flexible setting of params
* zk-token-sdk: clippy
2022-03-07 12:27:56 -05:00
samkim-crypto
d2b23da9ea
Zk token sdk clean decryption ( #23478 )
...
* zk-token-sdk: add decryption for pod elgamal ciphertexts
* zk-token-sdk: add decryption for pod elgamal ciphertexts
* zk-token-sdk: cargo fmt
* zk-token-sdk: minor update to docs
* zk-token-sdk: minor
* zk-token-sdk: fix bpf build error
* zk-token-sdk: more simplifying discrete log
* zk-token-sdk: fmt
* zk-token-sdk: minor update to doc
2022-03-04 15:57:19 -04:00
samkim-crypto
8d53ea81e9
zk-token-sdk: change variable names to use suffix rather than prefix ( #23474 )
...
* zk-token-sdk: change variable names to use suffix rather than prefix for type
* zk-token-sdk: cargo fmt
2022-03-03 15:07:27 -05:00
samkim-crypto
b4100a9b5d
Add additional zkp for fee ( #23112 )
...
* zk-token-sdk: add equality proof for fee
* zk-token-sdk: tweak some naming conventions for readability
* zk-token-sdk: add verify withdraw withheld instruction
* zk-token-sdk: add test for withdraw withheld verification
* zk-token-sdk: more renaming of variables for readability
* zk-token-sdk: cargo fmt
* zk-token-sdk: minor
* zk-token-sdk: resolve bpf compilation warnings
* zk-token-sdk: minor update to doc
2022-02-17 12:45:07 -05:00
samkim-crypto
7873175764
zk-token-sdk: fix pod for zk-token transfer ( #22957 )
2022-02-08 12:09:50 -05:00
samkim-crypto
65f8f43665
Zk instructions pass ( #22851 )
...
* zk-token-sdk: re-organize transcript
* zk-token-sdk: add pod ElGamal group encryption
* zk-token-sdk: add transcript domain separators for sigma proofs
* zk-token-sdk: clean up transfer tx decryption
* zk-token-sdk: resolve encoding issues for transfer
* zk-token-sdk: fix transfer test
* zk-token-sdk: clean up transcript for close account and withdraw instructions
* zk-token-sdk: add transfer with fee instruction
* zk-token-sdk: add transfer with fee instruction
* zk-token-sdk: add pod for cryptographic structs needed for fee
* zk-token-sdk: add pod for fee sigma proof
* zk-token-sdk: fix test for transfer with fee instruction
* zk-token-sdk: add range proof verification for transfer with fee
* zk-token-sdk: add transfer amount decryption for transfer-with-fee
* zk-token-sdk: add proof generation error for instruction
* zk-token-sdk: cargo fmt and clippy
* zk-token-sdk: fix bpf build
2022-02-01 14:11:28 -05:00
samkim-crypto
5cef4c0a4c
Sigma pass ( #22801 )
...
* zk-token-sdk: add zeroize and reference arithmetic to zero-balance proof
* zk-token-sdk: add zeroize and reference arithmetic to equality proof
* zk-token-sdk: add zeroize and reference arithmetic to validity proof
* zk-token-sdk: add aggregated validity proof
* zk-token-sdk: use subtle choice for fee
* zk-token-sdk: add test for fee proof
* zk-token-sdk: add documentation for sigma protocols
* zk-token-sdk: add edge case tests for equality proof
* zk-token-sdk: add edge case tests for zero-balance proof
* zk-token-sdk: add edge case tests for validity proof
* zk-token-sdk: add some docs for fee sigma proof
* zk-token-sdk: clippy
2022-01-27 19:53:15 -05:00
samkim-crypto
d8cbb2a952
Elgamal pass ( #22632 )
...
* zk-token-sdk: change G and H to static and optimize pedersen arithmetic
* zk-token-sdk: remove unnecessary copy in elgamal arithmetic
* zk-token-sdk: fix elgamal tests for new syntax
* zk-token-sdk: use lazy-static for pedersen base
* zk-token-sdk: add dlog test for elgamal decryption
* zk-token-sdk: reflect changes in elgamal in the rest of the sdk
* zk-token-sdk: rustfmt and clippy
* zk-token-sdk: some documentation for elgamal and pedersen
* zk-token-sdk: minor remove whitespace
* zk-token-sdk: update lock files
* zk-token-sdk: change random() to new_rand()
* zk-token-sdk: add explanation for suppressing clippy::op_ref
2022-01-21 20:56:27 -05:00
Sam Kim
705084a25b
zk-token-sdk: rustfmt
2022-01-06 11:18:06 -05:00
samkim-crypto
f81f926a0c
zk-token-sdk: fix transfer verification / set up for fee proof ( #22337 )
2022-01-06 11:01:27 -05:00
Sam Kim
5b41d62f8a
feat: fix clippy for new error types
2022-01-05 08:51:18 -08:00
Sam Kim
1cbcda71cb
feat: add separate error types for sigma proofs
2022-01-05 08:51:18 -08:00
Sam Kim
584c63bcc4
refactor: CloseAccount now uses zero-balance-proof
2022-01-05 08:51:18 -08:00
Sam Kim
c6cd0a5591
refactor: group equality and validity proofs in sigma_proofs module
2022-01-05 08:51:18 -08:00
Sam Kim
7a568482de
cargo fmt and fix clippy
2022-01-05 08:51:18 -08:00
Sam Kim
30871784e4
incorporate validity proof into transfer proof
2022-01-05 08:51:18 -08:00
Sam Kim
dcc961ae00
fix clippy for the updated transfer
2022-01-05 08:51:18 -08:00
Sam Kim
ccdbe65c87
cleaning up transfer proof
2022-01-05 08:51:18 -08:00
Michael Vines
aba8c2f4af
reformat imports
2022-01-05 08:51:18 -08:00
Michael Vines
2c51288afd
Add Copy to Role
2022-01-05 08:51:18 -08:00
Sam Kim
8d731f1a70
set ciphertext_lo and ciphertext_hi methods to private
2022-01-05 08:51:18 -08:00
Sam Kim
c59e8f7c8d
resolve conflict
2022-01-05 08:51:18 -08:00
Sam Kim
973287ad66
add decryption functionality to transfer data
2022-01-05 08:51:18 -08:00
Michael Vines
15aea0fe47
Avoid runtime discrete log table precomputation
2022-01-05 08:51:18 -08:00
Sam Kim
88f952075d
remove aes ciphertext from the proof program
2022-01-05 08:51:18 -08:00
Sam Kim
2359150b9c
incorporate aes ciphertext for zk-proof instructions
2022-01-05 08:51:18 -08:00
Michael Vines
93eb49a3e3
Rename ElGamalKeypair fields
2022-01-05 08:51:18 -08:00
Michael Vines
c33e24de57
Rename ElGamal to ElGamalKeypair
2022-01-05 08:51:18 -08:00
Michael Vines
f272c025bd
Rename ElGamal::new() to ElGamal::default()
2022-01-05 08:51:18 -08:00
Michael Vines
2c1aa715b0
Adjust ElGamal::new() signature
2022-01-05 08:51:18 -08:00
samkim-crypto
09b8baa4b1
merge
2022-01-05 08:51:18 -08:00
Sam Kim
73c06d9e33
Rename ElGamalPubkey::gen_decrypt_handle method to ElGamalPubkey::decrypt_handle
2022-01-05 08:51:18 -08:00
Sam Kim
c150b4b197
Replace to_elgamal_ciphertext with From trait for ElGamalCiphertext
2022-01-05 08:51:18 -08:00
Sam Kim
a40e7fc59b
Rename Pedersen related structs and methods for consistency
2022-01-05 08:51:18 -08:00
Michael Vines
17cda46531
Merge transfer instructions
2022-01-05 08:51:18 -08:00
Michael Vines
42f7c0c7f6
Update tests
2022-01-05 08:51:18 -08:00
Sam Kim
9b73e351aa
minor name change
2022-01-05 08:51:18 -08:00
Sam Kim
d6a808f41a
simplify get_ciphertext methods
2022-01-05 08:51:18 -08:00
Sam Kim
93f2323e52
add ciphertext extraction methods for TransferData
2022-01-05 08:51:18 -08:00
Michael Vines
a622ee4b8d
Rename ElGamal::keygen to ElGamal::new
2022-01-05 08:51:18 -08:00
Michael Vines
8bb6f0dc6f
Rename ElGamalSK to ElGamalSecretKey
2022-01-05 08:51:18 -08:00
Michael Vines
78799640ea
Rename ElGamalCT to ElGamalCiphertext, ElGamalPK to ElGamalPubkey
2022-01-05 08:51:18 -08:00
Michael Vines
f3e7e62813
Refactor sdk/src/pod.rs
2022-01-05 08:51:18 -08:00
Michael Vines
d01d425e4b
Rename crypto crate to sdk
2022-01-05 08:51:18 -08:00