Michael Vines
8ae34d2137
Update to Solana 1.5.0
2020-12-17 21:24:30 -08:00
Jon Cinque
2158214c84
token-swap: Add fuzz check for pool token value ( #958 )
...
* Add extra check on instruction fuzz
* Refactor division
* Fix tests from fixed deposit math
* Fixup comments and cleanup fuzz
* Run fmt
* Address review feedback
* Fix JS test
2020-12-17 21:13:48 +01:00
Jon Cinque
cc7e8e0d98
token-swap: Add proptests for decreasing curve value ( #952 )
...
* Add proptest-regressions to .gitignore, created from failed proptests
* Add proptests to ensure swapping maintains value
* Address review feedback
* Add doc to public test function
2020-12-17 20:09:58 +01:00
Jon Cinque
d46f010195
token-swap: Add proptests for single token conversion ( #950 )
...
* Add proptests for single token conversion
* Update token-swap/program/src/curve/calculator.rs
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
* Update token-swap/program/src/curve/calculator.rs
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
* Revert change from fuzzing
* Reduce the constant price b->a test range
* Use constant for basis points guarantee
* Address review feedback
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
2020-12-16 18:30:28 +01:00
Jon Cinque
ec2cd04c82
Add proptest for stable swap intead of all numbers ( #944 )
2020-12-16 10:19:08 +01:00
Jon Cinque
7190672a0f
token-swap: Add instructions to deposit / withdraw one token ( #937 )
...
* Add instructions to deposit / withdraw one token
* Run cargo fmt
* Fix clippy issues
* Add JS interface
* Add tests for new instructions
* Run prettier
* Rename deposit and withdraw
* Rename withdraw -> withdraw all in program
* Rename single token instructions
2020-12-16 10:02:27 +01:00
Jon Cinque
f8ba091a36
Fix bpf build, need to fully reference u128::MAX ( #946 )
2020-12-14 18:06:38 +01:00
Jon Cinque
8233d35fda
token-swap: Refactor math into sqrt function and add proptest ( #943 )
...
* Refactor into sqrt function and add proptest
* Run cargo fmt + clippy
* Address review feedback
2020-12-14 17:48:41 +01:00
Jon Cinque
55deb6c1af
token-swap: Constant price curve ( #936 )
...
* Update constant price curve conversion to/from pool tokens
* Add test for pool token conversion
* Fix tests
* run cargo fmt
* Assess fee on half source amount for conversion
2020-12-11 10:27:28 +01:00
Jon Cinque
087ae2e242
token-swap: Add offset curve and math ( #935 )
...
* Add offset curve
* Fix for math
* Add PreciseNumber
* Use Balancer formulation for trading token -> pool token conversion
* Add round-trip conversion testing
* Add offset curve to JS
* Run cargo fmt
* Update JS test numbers for new calcs
* Integrate review feedback
* Allow for withdrawals when one side is 0
* Run cargo fmt
* Disallow deposits for offset curve
* Run cargo fmt
* Allow for withdrawals through 0
2020-12-10 18:31:21 +01:00
Jon Cinque
3dcb1c5665
token-swap: Add pool token conversion interface ( #934 )
...
* Add pool token conversion interface for all curves
This reverts commit 8400bc7bfe4fcc18580d8f81cbb19a4ef5a437ff.
* Improve tests
* Run cargo fmt
2020-12-09 11:30:22 +01:00
Jon Cinque
c0f5ff182c
token-swap: Refactor for new curves ( #930 )
...
* Add price parameter for flat / constant price curve
This encompasses a lot of changes to properly support the constant price
curve, and fixes some old pain points to make the whole thing easier to
use, including:
* refactor fees out of the curve
* move all fee calculations into new Fees type
* modify constraints to only care about curve types and fee
* add price parameter into constant price curve (flat curve)
* Run cargo fmt and clippy
* Revert interface changes and math update
* Run cargo fmt
* Address review feedback
* Fix fraction validation for zeros
2020-12-08 18:22:32 +01:00
dependabot[bot]
7828871e5f
Bump @rollup/plugin-commonjs from 16.0.0 to 17.0.0 in /token-swap/js ( #920 )
...
Bumps [@rollup/plugin-commonjs](https://github.com/rollup/plugins ) from 16.0.0 to 17.0.0.
- [Release notes](https://github.com/rollup/plugins/releases )
- [Commits](https://github.com/rollup/plugins/compare/commonjs-v16.0.0...commonjs-v17.0.0 )
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-03 11:19:07 +00:00
Jon Cinque
04a3c833f0
token-swap: Cleanup check ( #903 )
...
* Add extra check
* Add extra check on init
* Run cargo fmt
* Clippy
* Add token program id check on unpack
* Run cargo fmt
* Add checks for program id ownership on swap account
* Add truncation check during swapping
* Run cargo fmt
* Update truncation to ceiling the value
* Run cargo fmt
* Fix JS test
* Refund back not needed source tokens
* Run cargo fmt
* Add swap_without_fees method to trait
* Fix merge problem
Co-authored-by: Justin Starry <justin@solana.com>
2020-12-03 12:17:32 +01:00
Michael Vines
158fa1dea6
Upgrade to Solana v1.4.14
2020-12-03 05:39:55 +00:00
dependabot[bot]
6aa1d8cce1
Bump solana-program from 1.4.9 to 1.4.13 ( #916 )
...
Bumps [solana-program](https://github.com/solana-labs/solana ) from 1.4.9 to 1.4.13.
- [Release notes](https://github.com/solana-labs/solana/releases )
- [Changelog](https://github.com/solana-labs/solana/blob/master/RELEASE.md )
- [Commits](https://github.com/solana-labs/solana/compare/v1.4.9...v1.4.13 )
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-02 12:54:42 +00:00
dependabot[bot]
cfcfc79482
Bump prettier from 2.2.0 to 2.2.1 in /token-swap/js ( #915 )
...
Bumps [prettier](https://github.com/prettier/prettier ) from 2.2.0 to 2.2.1.
- [Release notes](https://github.com/prettier/prettier/releases )
- [Changelog](https://github.com/prettier/prettier/blob/master/CHANGELOG.md )
- [Commits](https://github.com/prettier/prettier/compare/2.2.0...2.2.1 )
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-02 11:31:28 +00:00
dependabot[bot]
b1753dfc20
Bump @babel/cli from 7.12.1 to 7.12.8 in /token-swap/js ( #909 )
...
Bumps [@babel/cli](https://github.com/babel/babel/tree/HEAD/packages/babel-cli ) from 7.12.1 to 7.12.8.
- [Release notes](https://github.com/babel/babel/releases )
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md )
- [Commits](https://github.com/babel/babel/commits/v7.12.8/packages/babel-cli )
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-01 11:31:12 +00:00
Jon Cinque
b40e0dd3fd
token-swap: Add fuzzer for swap / withdraw / deposit ( #875 )
...
* 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
2020-11-30 13:01:31 +01:00
dependabot[bot]
ac20c5d59a
Bump @babel/core from 7.12.8 to 7.12.9 in /token-swap/js ( #902 )
...
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core ) from 7.12.8 to 7.12.9.
- [Release notes](https://github.com/babel/babel/releases )
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md )
- [Commits](https://github.com/babel/babel/commits/v7.12.9/packages/babel-core )
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-30 11:33:09 +00:00
dependabot[bot]
c82feb4ad0
Bump rollup from 2.33.2 to 2.34.0 in /token-swap/js ( #899 )
...
Bumps [rollup](https://github.com/rollup/rollup ) from 2.33.2 to 2.34.0.
- [Release notes](https://github.com/rollup/rollup/releases )
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rollup/rollup/compare/v2.33.2...v2.34.0 )
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-30 10:02:40 +00:00
Yuriy Savchenko
a0d0ae63ca
token-swap stable curve: 256-bit math added with tests ( #886 )
...
* Stable curve math rewritten to 256-bit, reference simulation added with test integration
* Formatting error fixed
* Clippy warnings fixed
* Fixed dependencies to remove crates not supportinf bpf
* Fixed indentations
* Fixed lint errors
* Fixed format warnings
* Fixing clippy lint errors
* U256 math and simulation library refactoring, checked math used everywhere, other small fixes
* Fixed conversion to optional u128
2020-11-25 21:19:25 +01:00
dependabot[bot]
8619764700
Bump @babel/core from 7.12.3 to 7.12.8 in /token-swap/js ( #889 )
...
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core ) from 7.12.3 to 7.12.8.
- [Release notes](https://github.com/babel/babel/releases )
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md )
- [Commits](https://github.com/babel/babel/commits/v7.12.8/packages/babel-core )
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-24 11:47:54 +00:00
dependabot[bot]
52939a7a95
Bump prettier from 2.1.2 to 2.2.0 in /token-swap/js ( #878 )
...
Bumps [prettier](https://github.com/prettier/prettier ) from 2.1.2 to 2.2.0.
- [Release notes](https://github.com/prettier/prettier/releases )
- [Changelog](https://github.com/prettier/prettier/blob/master/CHANGELOG.md )
- [Commits](https://github.com/prettier/prettier/compare/2.1.2...2.2.0 )
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-20 11:28:34 +00:00
Michael Vines
c6a4ac9a82
Bump solana version to v1.4.9
2020-11-17 20:02:17 -08:00
Jon Cinque
c677c58e09
Add JS test for creating accounts and swapping in one transaction ( #568 )
...
* Add test for doing all swap in one transaction
* Fix instruction to minimize signatures required
* Run prettier
2020-11-17 17:54:55 +01:00
Yuriy Savchenko
d62ddd2b94
Added stable curve invariant to the token swap smart contract ( #838 )
...
* Added stable curve invariant to the token swap smart contract
* Fixed formatting
* Added missing stable curve constraints
* Symbol renames to make math clearer
* Small refactoring according to PR comments, fixes for JS tests
2020-11-17 14:13:18 +01:00
dependabot[bot]
90c0481051
Bump rollup from 2.33.1 to 2.33.2 in /token-swap/js ( #849 )
...
Bumps [rollup](https://github.com/rollup/rollup ) from 2.33.1 to 2.33.2.
- [Release notes](https://github.com/rollup/rollup/releases )
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rollup/rollup/compare/v2.33.1...v2.33.2 )
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-16 11:33:45 +00:00
dependabot[bot]
84aca40018
Bump flow-bin from 0.137.0 to 0.138.0 in /token-swap/js ( #848 )
...
Bumps [flow-bin](https://github.com/flowtype/flow-bin ) from 0.137.0 to 0.138.0.
- [Release notes](https://github.com/flowtype/flow-bin/releases )
- [Commits](https://github.com/flowtype/flow-bin/commits )
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-16 11:32:55 +00:00
Michael Vines
f4af9054a2
Update to Solana 1.4.8
2020-11-14 02:35:20 +00:00
Michael Vines
5030a87021
Upgrade to Solana 1.4.7
2020-11-12 11:05:20 -08:00
dependabot[bot]
39c574a25d
Bump @solana/web3.js from 0.86.4 to 0.87.0 in /token-swap/js ( #833 )
...
Bumps [@solana/web3.js](https://github.com/solana-labs/solana-web3.js ) from 0.86.4 to 0.87.0.
- [Release notes](https://github.com/solana-labs/solana-web3.js/releases )
- [Commits](https://github.com/solana-labs/solana-web3.js/compare/v0.86.4...v0.87.0 )
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-12 11:32:07 +00:00
Yutaro Mori
81a63712ac
Fix u64.fromBuffer return type to u64 ( #830 )
2020-11-12 10:40:46 +01:00
dependabot[bot]
b71456a8f1
Bump solana-program from 1.4.5 to 1.4.6 ( #826 )
...
Bumps [solana-program](https://github.com/solana-labs/solana ) from 1.4.5 to 1.4.6.
- [Release notes](https://github.com/solana-labs/solana/releases )
- [Changelog](https://github.com/solana-labs/solana/blob/master/RELEASE.md )
- [Commits](https://github.com/solana-labs/solana/compare/v1.4.5...v1.4.6 )
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-11 12:39:52 +00:00
Yutaro Mori
9ddcd77f3e
Fix type definitions for TokenSwap class ( #809 )
2020-11-10 21:20:52 +01:00
Jon Cinque
75acddc100
Fix zero fee calculation ( #813 )
...
If a swap has a trading fee and a zero owner fee, when calculating the owner
fee to pool token conversion, the simulated trading fee will be non-zero
because we floor the trading fee to 1 token. If the input to trading
fee calculation is 0, then we will try to do `0 - 1` on an unsigned int,
which causes an underflow error. The fix is to simply return a 0 fee
for a 0 input.
2020-11-09 19:01:21 +01:00
dependabot[bot]
59b07f4896
Bump eslint from 7.12.1 to 7.13.0 in /token-swap/js ( #812 )
...
Bumps [eslint](https://github.com/eslint/eslint ) from 7.12.1 to 7.13.0.
- [Release notes](https://github.com/eslint/eslint/releases )
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md )
- [Commits](https://github.com/eslint/eslint/compare/v7.12.1...v7.13.0 )
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-09 11:30:47 +00:00
Michael Vines
238eabc1d0
Bump solana version to v1.4.5
2020-11-06 21:29:04 -08:00
Justin Starry
1f810787d0
Fix broken stake-pool docs link and make readme's consistent ( #805 )
2020-11-06 09:15:27 +08:00
dependabot[bot]
8ae0f927db
Bump @babel/node from 7.12.1 to 7.12.6 in /token-swap/js ( #804 )
...
Bumps [@babel/node](https://github.com/babel/babel/tree/HEAD/packages/babel-node ) from 7.12.1 to 7.12.6.
- [Release notes](https://github.com/babel/babel/releases )
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md )
- [Commits](https://github.com/babel/babel/commits/v7.12.6/packages/babel-node )
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-05 11:25:49 +00:00
Michael Vines
89de77aad8
Bump spl-token to v3.0.0
2020-11-04 18:58:37 +00:00
dependabot[bot]
d59133d888
Bump @babel/runtime from 7.12.1 to 7.12.5 in /token-swap/js ( #799 )
...
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime ) from 7.12.1 to 7.12.5.
- [Release notes](https://github.com/babel/babel/releases )
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md )
- [Commits](https://github.com/babel/babel/commits/v7.12.5/packages/babel-runtime )
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-04 11:27:54 +00:00
dependabot[bot]
b0834da178
Bump @solana/web3.js from 0.86.2 to 0.86.4 in /token-swap/js ( #792 )
...
Bumps [@solana/web3.js](https://github.com/solana-labs/solana-web3.js ) from 0.86.2 to 0.86.4.
- [Release notes](https://github.com/solana-labs/solana-web3.js/releases )
- [Commits](https://github.com/solana-labs/solana-web3.js/compare/v0.86.2...v0.86.4 )
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-04 04:22:56 +00:00
Michael Vines
341149d0e9
Back to no-entrypoint feature name
2020-11-03 10:34:43 -08:00
Michael Huang
5bf4b76df4
Refactor curve.rs ( #754 )
...
* Refactor shared out of curve.rs
* Refactor out flat curve
* Refactor out constant product curve
* Cargo fmt
* More moving
* Fixup
* use::super -> user::create::curve
* cp -> constant_product
* Fix circular dependency
* Docs
* Trigger Build
2020-11-02 14:29:00 +01:00
dependabot[bot]
1a340b8f3c
Bump rollup from 2.32.1 to 2.33.1 in /token-swap/js ( #774 )
...
Bumps [rollup](https://github.com/rollup/rollup ) from 2.32.1 to 2.33.1.
- [Release notes](https://github.com/rollup/rollup/releases )
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rollup/rollup/compare/v2.32.1...v2.33.1 )
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-02 11:04:28 +00:00
Michael Vines
2b5e9d1286
Drop lifetimes
2020-11-01 20:48:15 -08:00
Michael Vines
9f4e6d8beb
Update to solana v1.4.4
2020-11-01 20:48:15 -08:00
dependabot[bot]
6fde6e0cda
Bump @rollup/plugin-commonjs from 15.1.0 to 16.0.0 in /token-swap/js ( #741 )
...
Bumps [@rollup/plugin-commonjs](https://github.com/rollup/plugins ) from 15.1.0 to 16.0.0.
- [Release notes](https://github.com/rollup/plugins/releases )
- [Commits](https://github.com/rollup/plugins/compare/commonjs-v15.1.0...commonjs-v16.0.0 )
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-01 23:45:22 +08:00
dependabot[bot]
3cf2ae38ff
Bump flow-bin from 0.136.0 to 0.137.0 in /token-swap/js ( #752 )
...
Bumps [flow-bin](https://github.com/flowtype/flow-bin ) from 0.136.0 to 0.137.0.
- [Release notes](https://github.com/flowtype/flow-bin/releases )
- [Commits](https://github.com/flowtype/flow-bin/commits )
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-01 20:29:01 +08:00