* Dex and payment by dex in westmint
* Wrap U256 type for now
(to support required traits.)
* cargo fmt
* We can now use U256
* Rename PromotedBalance
* name change
* Updating the code to master.
TODO: handle dust!
* cargo fmt
* Minimising changes and step towards getting benchmarks compiling
(still a From<u32> bound in the pallet)
* minimise diff
* Update parachains/runtimes/assets/westmint/src/lib.rs
Co-authored-by: Jegor Sidorenko <5252494+jsidorenko@users.noreply.github.com>
* Update parachains/runtimes/assets/westmint/src/lib.rs
Co-authored-by: Jegor Sidorenko <5252494+jsidorenko@users.noreply.github.com>
* Update parachains/common/src/impls.rs
Co-authored-by: Jegor Sidorenko <5252494+jsidorenko@users.noreply.github.com>
* Fix benchmark build
* Add in AssetConversionAPI
* Handle dust
* cargo fmt
* Don't need to be explicit that it's AccountId32
* remove pool setup fee
(Asset deposit fees are a sufficient anti-spam measure)
* More natural way to specify native
* cargo fmt
* Update parachains/runtimes/assets/westmint/src/lib.rs
* Additional required impls
* either form of multilocation should be acceptable.
* add call filter exclusion
* Fix typo & try_convert now fails if native is converted
* merge master fixup
* Fix: HoldReason should be there.
* Box MultiAssetId
Otherwise it blows out the Call enum memory size.
* cargo fmt
* update lock file
* add std feature, update lock file
* need to turn on std on common
* adding in westmint tests
* WeightToFee must be from the destination chain.
* cargo fmt
* account for higher ED on westmint
* type removed as not used
* cargo fmt
* remove unused import
* minimising diff
* import needed only with feature enabled
* use multilocation contains
* move the impls to separate file
* simplify on conversion
* simplify on reverse conversion also.
* rename var
* clippy
* removed dead code
* cargo fmt
* Use pay by swap
* review suggestions
* cargo fmt
* Update parachains/runtimes/assets/asset-hub-westend/src/lib.rs
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>
* add benchmarks for new assets pallet
* revert common/src changes
* need a concrete id
* more fixes
* lock
---------
Co-authored-by: Jegor Sidorenko <5252494+jsidorenko@users.noreply.github.com>
Co-authored-by: joepetrowski <joe@parity.io>
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>
* Remove unrequired check
The get_pool_account function no longer relies on a `_trucating` function,
and there is a test in place
should someone alter the function to create pool collisions.
* test needed in this case.
* integrity test was only working for u32 asset ids.
* cargo fmt
* Update frame/asset-conversion/src/lib.rs
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
---------
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* mostly there with westend
* add network
* initial way to set host api version
* 3 tests all passing
* Remove duplication
* fix runtime-benchmarks
* Fix typo
---------
Co-authored-by: joepetrowski <joe@parity.io>
* Add pallet dex
* Fmt
* Add RPC endpoint
* Fix RPC
* Fix the build
* Some more fixes
* Add a method to topup pallet's account
* Add support for multi-currency into Uniques
* Fix the build
* Add [transactional] + setup() + fix balances
* Improve tests
* Fix price quotation
* Code clean up
* Validate swaps
* Fmt
* Update README
* add test
* mint LP assets in a different instance
* remove transactional as now the default
AssetsLocal renamed to Assets
* merge master
* Revert "Merge master"
* fix tests post merge.
* attempt to set create origin
* Internally allocate lp asset id.
* Simplify
* Bump to be in line
* additional bumps to make compile
* fix compile
* less bounds
* use fungible crates
* multiasset enum
* only allow native currency pairs
* added slippage tests
* transfer into separate method
(Also fee not set in 2 places now.)
Added test where lp and user are different users.
* Add benchmarks + weights
* Typos
* Clean up
* More tests,
split error into two because it wasn't clear which parameter.
renamed liquidity to lp_tokens_minted or lp_tokens_burned in events.
* tighten up naming
* Default, zero, square root traits not needed
Also let's not force people to be compact
* add keep-alive param
* add insufficient liquidity test
* Fix quote() to support u64
* Avoid recording balances twice
* cargo fmt
* Didn't mean to change error type
* temp
* Less
* Rework get_amount_in/get_amount_out
* Convert other places
* Rework the last piece
* Typo
* Fix benchmarks
* use hash trait
* Extract a native asset check into the runtime setting
* Don't set the metadata
* Remove spec file
* Enable multi-assets swaps by default
* Refactor conversion into u128
* Add path param to swap_token_for_exact_tokens
* Fix typo + a bit of refactoring
* Implement path param for swap_exact_tokens_for_tokens()
* Deref
* Minor fixes
* Add test with sensible scale values
* Use .windows()
* Fix benchmarks
* update docs
* Fix everything :)
* Chore
* Revert
* Chore
* prev way of creating sub accounts lead to collisions
* Update frame/dex/src/lib.rs
Co-authored-by: Jegor Sidorenko <5252494+jsidorenko@users.noreply.github.com>
* Update frame/dex/src/lib.rs
Co-authored-by: Jegor Sidorenko <5252494+jsidorenko@users.noreply.github.com>
* Chore
* Fmt fix on Uniques
* add call_index
bring code up to date with latest master
* revert readme changes
* add cr
* revert uniques changes
* reducing noise
* no need for deadline (#12990)
(there's generic transaction deadline functionality already)
* fix kitchen sink (#12991)
* fix kitchen sink
* Only the dex can mint lp_tokens
* add BenchmarkHelper for second instance (#12998)
* update mock to latest master
* less indirections (#13012)
* remove dex PR's custom RPC (#13050)
* As we have state_call we don't need a custom RPC
* fix docs
* no longer a need to upgrade rpc version (#13053)
* add CallbackHadle
* quote bugfix (#13191)
quote was giving same price in both directions as we were inverting needlessly.
* merging in dex specific changes due to pay by dex
* update lock file
* merging in kitchen sink changes
* Add get_reserves() api method
* Partial updating of the benchmarks
* Fix tests
* clippy
* Temp fix weights
* Fix benchmarks
* Add pool setup fee
* Money upfront
* Address some comments
* Use u128 in mock
* Fix benchmarks
* Change error message
* Update comments
* Change error names
* Implement PartialOrd for NativeOrAssetId
* add note
* Update errors
* More tests for assets sorting
* ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_dex
* Change the way we generate pool accounts
* Improve the liquidity removal method
* Extract MintMinLiquidity to config, rework all tests
* Add comments
* Validate provided amount
* Rename to asset-conversion
* Validate ED
* Improve handling the ED related errors
* typos
* Try to fix benchmarks
* Another try
* Another day, another try
* Fix benchmarks
* Expose fee related params
* Validate token's minimal amount the same way as ED
* fix typo
* Use longer path for swaps in benchmarks
* need to ref sp_std's vec.
* Remove From<u32> requirement when benchmarking
* impl BenchmarkHelper for ()
* only for runtime benchmarks
* MultiLocation: !MaybeDisplay
Looks like we might not need this bound from initial testing.
* Update frame/asset-conversion/src/lib.rs
Co-authored-by: Jegor Sidorenko <5252494+jsidorenko@users.noreply.github.com>
* Update frame/asset-conversion/src/lib.rs
Co-authored-by: Jegor Sidorenko <5252494+jsidorenko@users.noreply.github.com>
* Add documentation links
* add collision test
* Revert "[Enhancement] Throw an error when there are too many pallets (#13763)"
This reverts commit cc3152bc2f.
* [Enhancement] Throw an error when there are too many pallets (#13763)
* [Enhancement] Throw an error when there are too many pallets
* fix ui test
* fix PR comments
* Update frame/support/procedural/src/construct_runtime/mod.rs
Co-authored-by: Bastian Köcher <git@kchr.de>
* Update frame/support/procedural/src/construct_runtime/mod.rs
Co-authored-by: Bastian Köcher <git@kchr.de>
* ".git/.scripts/commands/fmt/fmt.sh"
---------
Co-authored-by: Bastian Köcher <git@kchr.de>
Co-authored-by: command-bot <>
* add benchmark helper
+ doc fix
* cargo fmt
* Fix adding liquidity to non-empty pool
* Fix compilation error
* Fix params ordering issue
* additional docs
* The swap path elements should be unique
* Fix account collision
* Validate all the pool in a swap path are unique
* Change the way we add liquidity to empty pools
* Improve docs
* remove unnessisary Display impl
* cargo fmt
* remove unused imports
* Make api consistent
* Chore
* Touch the pool account so it could hold the pair tokens
* Check the balance before touching the pool's account
* Introduce liquidity provision fee
* Touch the pool acc one more time
* Apply suggestions from code review
Co-authored-by: Sam Johnson <sam@durosoft.com>
* Update frame/asset-conversion/README.md
Co-authored-by: Sam Johnson <sam@durosoft.com>
* Use ContainsPair instead of the balance checker
* Remove old Currency trait
* Add liquidity withdrawal fee
* Update docs
* Use 0 withdrawal fee in mock
* Rename vars
* asset id not clone
* fix: shadow var was being used
* correct tests
* fix benches
* merge master
* neater
---------
Co-authored-by: Jegor Sidorenko <jegor@parity.io>
Co-authored-by: Jegor Sidorenko <5252494+jsidorenko@users.noreply.github.com>
Co-authored-by: parity-processbot <>
Co-authored-by: Roman Useinov <roman.useinov@gmail.com>
Co-authored-by: Bastian Köcher <git@kchr.de>
Co-authored-by: Sam Johnson <sam@durosoft.com>
* Expect less chaos: set call index explicitly.
* mark test pallet as dev mode so explicit call indicies are not required.
* Fix 'dev_mode' syntax
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* rust 1.64 enables workspace properties
* add edition, repository and authors.
* of course, update the version in one place.
Co-authored-by: Andronik <write@reusable.software>
* shell and seedling did not build
(even though CI was green). Time for more CI.
* let's just fix the build in this PR
* Update parachains/runtimes/starters/shell/Cargo.toml
No need to rem this out as we're not testing the new CI changes in this PR.
* adapt to common good paras
* fmt
* Updated to leave parachain-template alone
* use norm_id + cargo fmt
* removed comment as we are not touching parachain template
* is_penpal
* updated code to new locations
* changes required to get penpal running
* cargo fmt
* remove warning, rename chain
* Update polkadot-parachain/src/command.rs
* Update polkadot-parachain/src/command.rs
Co-authored-by: Ignacio Palacios <ignacio.palacios.santos@gmail.com>
* remove now moved functions
* added runtime description
* add missing copyright notices
* more copyright notices.
Co-authored-by: NachoPal <ignacio.palacios.santos@gmail.com>
* rename polkadot-collator to polkadot-parachain
Not every node has to be a collator.
* Update README.md
Co-authored-by: Chevdor <chevdor@users.noreply.github.com>
* rename docker file
* Update .github/workflows/extrinsic-ordering-check-from-bin.yml
Co-authored-by: Chevdor <chevdor@users.noreply.github.com>
* Versioning scheme that tracks polkadot relay chain
but allows for patch releases by having a 0 at the end.
(`-patch1` patch naming schemes were discussed but they
were judged to cause downstream packagers pain.)
* update name
* update lock file
Co-authored-by: Chevdor <chevdor@users.noreply.github.com>
* The 2022-02-10 nightly can't build some deps
There's a sig that returns `impl IntoIterator<Item = (&'static str, OsString)>` and an Option is being retured but it's incorrectly not allowing a `?` in the method.
* removing duplicate test
* [ci] add job cargo-check-nixos
* add dummy variables nix check
* fix check-dependent jobs
* fix check-dependent-project template
Co-authored-by: alvicsam <alvicsam@gmail.com>
* Deny using relay chain for reserve transfers
* match on junction as well.
* Update polkadot-parachains/parachains-common/src/xcm_config.rs
* Use Err to signal deny
* Deny depisiting reserved assets + fmt
* Allow DepositReserveAssets from relay chain
Deny InitiateReserveWithdrawal
* Rather than allow DepositReserveAsset,
it was ReservAssetDeposited that should be allowed but logged.
* don't reference common parachains.
* Update parachain-template/runtime/src/xcm_config.rs
* Warn if reserve asset deposited msg detected.
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com>
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>
* One less collect + clippy suggestions.
* No need to index into collection
* Update pallets/collator-selection/src/lib.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>