Commit Graph

238 Commits

Author SHA1 Message Date
dependabot[bot] 7a2ef3561e
build(deps-dev): bump flow-bin from 0.141.0 to 0.142.0 in /token-swap/js (#1046)
Bumps [flow-bin](https://github.com/flowtype/flow-bin) from 0.141.0 to 0.142.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>
2021-01-08 11:20:05 +00:00
dependabot[bot] b76d815d28
build(deps-dev): bump rollup from 2.36.0 to 2.36.1 in /token-swap/js (#1042)
Bumps [rollup](https://github.com/rollup/rollup) from 2.36.0 to 2.36.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.36.0...v2.36.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-07 11:21:31 +00:00
Jon Cinque a86abe49cd
token-swap: Add user transfer authority (#1033)
* Add user transfer authority to swap instruction

* Add user transfer authority to deposit all

* Add authority to withdraw all

* Add authority to deposit one

* Add authority to withdraw one

* Update fuzzer

* Add user transfer authority to JS
2021-01-06 20:55:31 +01:00
dependabot[bot] 98a7faa2ca
build(deps-dev): bump rollup from 2.35.1 to 2.36.0 in /token-swap/js (#1037)
Bumps [rollup](https://github.com/rollup/rollup) from 2.35.1 to 2.36.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.35.1...v2.36.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-06 11:21:38 +00:00
dependabot[bot] 7b81c0d3c0
build(deps): bump solana-program from 1.5.0 to 1.5.1 (#1025)
Bumps [solana-program](https://github.com/solana-labs/solana) from 1.5.0 to 1.5.1.
- [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.5.0...v1.5.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-04 13:51:29 +00:00
dependabot[bot] ce2bebac50
build(deps-dev): bump eslint from 7.16.0 to 7.17.0 in /token-swap/js (#1020)
Bumps [eslint](https://github.com/eslint/eslint) from 7.16.0 to 7.17.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.16.0...v7.17.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-04 11:44:54 +00:00
dependabot[bot] 7660cd4854
build(deps-dev): bump @babel/core in /token-swap/js (#1018)
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.12.9 to 7.12.10.
- [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.10/packages/babel-core)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-04 11:25:08 +00:00
dependabot[bot] a5b58e69ec
build(deps-dev): bump @babel/plugin-transform-runtime in /token-swap/js (#1017)
Bumps [@babel/plugin-transform-runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-runtime) from 7.12.1 to 7.12.10.
- [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.10/packages/babel-plugin-transform-runtime)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-04 11:05:21 +00:00
dependabot[bot] 8cf66ca2af
build(deps-dev): bump @babel/cli in /token-swap/js (#1015)
Bumps [@babel/cli](https://github.com/babel/babel/tree/HEAD/packages/babel-cli) from 7.12.8 to 7.12.10.
- [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.10/packages/babel-cli)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-04 10:45:37 +00:00
dependabot[bot] d51998e7e6
build(deps-dev): bump flow-bin from 0.138.0 to 0.141.0 in /token-swap/js (#1013)
Bumps [flow-bin](https://github.com/flowtype/flow-bin) from 0.138.0 to 0.141.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>
2021-01-04 10:24:34 +00:00
dependabot[bot] a5cbe67696
Bump @rollup/plugin-babel from 5.2.1 to 5.2.2 in /token-swap/js (#1010)
Bumps [@rollup/plugin-babel](https://github.com/rollup/plugins) from 5.2.1 to 5.2.2.
- [Release notes](https://github.com/rollup/plugins/releases)
- [Commits](https://github.com/rollup/plugins/compare/babel-v5.2.1...babel-v5.2.2)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-04 10:05:05 +00:00
dependabot[bot] 40cfea27eb
Bump rollup from 2.34.0 to 2.35.1 in /token-swap/js (#1003)
Bumps [rollup](https://github.com/rollup/rollup) from 2.34.0 to 2.35.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.34.0...v2.35.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-04 17:44:09 +08:00
dependabot[bot] dfb616b8b1
Bump eslint from 7.13.0 to 7.16.0 in /token-swap/js (#963)
Bumps [eslint](https://github.com/eslint/eslint) from 7.13.0 to 7.16.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.13.0...v7.16.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-04 08:55:25 +08:00
dependabot[bot] 11928f02db
Bump @solana/web3.js from 0.87.0 to 0.88.0 in /token-swap/js (#970)
Bumps [@solana/web3.js](https://github.com/solana-labs/solana-web3.js) from 0.87.0 to 0.88.0.
- [Release notes](https://github.com/solana-labs/solana-web3.js/releases)
- [Commits](https://github.com/solana-labs/solana-web3.js/compare/v0.87.0...v0.88.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-25 10:45:08 +00:00
Jon Cinque 9e7e63f405
token-swap: Add new instructions to fuzzing (#961) 2020-12-18 16:35:17 +01:00
Jon Cinque 942bf77c90
token-swap: Add proptest for deposit draining (#959)
* Add deposit drain proptest

* Add special logic for constant price curve normalized value when close to u128

* Cargo fmt

* Fix bpf build
2020-12-18 13:32:34 +01:00
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