* token-swap: Add fuzzer for swap / withdraw / deposit
* Run cargo fmt
* Make end-to-end testing work
* Fix test failures
* Cleanup for review
* Remove Clone trait for Initialize
* Fix building fuzz targets
* Fix fuzz withdraw logic to avoid ZeroTradingTokens error
* Cargo fmt
* Clippy / fmt again
* Integrate fuzzer in main workspace to share clippy / fmt
* Fix clippy
* Switch to stable honggfuzz that could work with BPF
* Update to most recent honggfuzz
* Add build / run requirements
* Add fuzz CI and cleanup for honggfuzz
* Revert to using fuzz feature to integrate with workspace
* Make fuzz script executable
* Refactor and cleanup
* Add nightly run
* Fix workflow typo
* Add runtime for pull request fuzz workflow
* Fix unrelated new clippy errors
* Implemented stake-pool CLI with create-pool, deposit, list and withdraw commands, fixed several bugs in underlying smart contract
* Several typos fixed, some error text clarifications.
* Fee parameter in stake pool creation changed into two: numarator and demoninator
* Refactoring to resolve pool request comments
* Added merge to stake_receiver account when claiming whole stake account
* Removed unused import
* Withdraw bump seed calculation fixed
* Add THEMIS Policy Contract
* Add test with 128 ads
* Add instructions
* Allow clients to work concurrently
* pub(crate) utils to find unused code
* Remove serde_json dep
* Drop dependency on primitive_types
* Add a simpler inner_product
* Use elgamal for proof verification
* Migrate to Ristretto
Also, use Serde for instruction serialization
* Add remaining instructions to processor
* Remove rand 0.6 dependency
* Add instruction constructors
* Add e2e test
* Move client test out of BPF build
* Add BPF instruction count test
Shows us that serde makes too many recursive calls and causes
a very high instruction count (Vec<U256> becomes impractical).
* Use Borsh serialization and test calculate_aggregate()
Bump BPF instruction count limits after upgrading compiler
* Test SubmitProofDecryption BPF instruction count
* Remove CompressedRistretto
This drops SubmitProofDecryption instructions by ~2.5M.
Also, box up more RistrettoPoints, because they're huge (120 bytes) and
blow up the BPF stack.
* Add transaction size metrics and update BPF counts
* Switch back to BN
* Add benchmarking
* Use configured keypair path
* Make num_users configurable
* Make testnet benchmark an example, not a test
* Exclude themis client from CI build
Because of Travis failure on itertools dependency