Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BondedFinance] Add benchmarks #377

Merged
merged 1 commit into from
Dec 24, 2021

Conversation

c410-f3r
Copy link
Contributor

@c410-f3r c410-f3r commented Dec 13, 2021

Pallet benchmarks are intended to be used as an upper-bound for extrinsic calls, which means creating benchmark functions with worst case scenarios.

Weight is a unit of time and every signed extrinsic should have a weight to calculate fees or the average number of transactions for a block. The same necessity is true for unsigned transactions because theoretically anyone could submit infinite number of extrinsics inside a single block for anything that has #[weight = 0], therefore, please consider adding weights for non-root calls of the ping pallet to avoid third-party flood.

frame/bonded-finance/src/lib.rs Show resolved Hide resolved
frame/bonded-finance/src/lib.rs Show resolved Hide resolved
frame/bonded-finance/src/utils.rs Show resolved Hide resolved
runtime/picasso/src/lib.rs Show resolved Hide resolved
runtime/picasso/src/lib.rs Show resolved Hide resolved
runtime/picasso/src/lib.rs Show resolved Hide resolved
runtime/primitives/src/currency.rs Show resolved Hide resolved
@hussein-aitlahcen
Copy link
Contributor

Any chance we have this PR rebased, I think the CI has been fixed in one of the latest commits :)

@c410-f3r
Copy link
Contributor Author

Any chance we have this PR rebased, I think the CI has been fixed in one of the latest commits :)

Rebased

@c410-f3r
Copy link
Contributor Author

c410-f3r commented Dec 14, 2021

Benchmarks were added, code is compiling and tests are green. The only thing remaining is figure out why the runtime is panicking when issuing cargo run .... --features runtime-benchmarks ... -- benchmarks ...

Error: Input("Error executing and verifying runtime benchmark: Other(\"Wasm execution trapped: wasm trap: unreachable\\nwasm backtrace:\\n    0: 0x37a4 - <unknown>!rust_begin_unwind\\n    1: 0x2bbd - <unknown>!core::panicking::panic_fmt::h8f11323637b4db3b\\n    2: 0x286d - <unknown>!core::result::unwrap_failed::h5b559a304463e509\\n    3: 0x1ca0aa - <unknown>!<picasso_runtime::Runtime as frame_benchmarking::utils::runtime_decl_for_Benchmark::Benchmark<sp_runtime::generic::block::Block<sp_runtime::generic::header::Header<u32,sp_runtime::traits::BlakeTwo256>,sp_runtime::generic::unchecked_extrinsic::UncheckedExtrinsic<sp_runtime::multiaddress::MultiAddress<<<sp_runtime::MultiSignature as sp_runtime::traits::Verify>::Signer as sp_runtime::traits::IdentifyAccount>::AccountId,u32>,picasso_runtime::Call,sp_runtime::MultiSignature,(frame_system::extensions::check_spec_version::CheckSpecVersion<picasso_runtime::Runtime>,frame_system::extensions::check_tx_version::CheckTxVersion<picasso_runtime::Runtime>,frame_system::extensions::check_genesis::CheckGenesis<picasso_runtime::Runtime>,frame_system::extensions::check_mortality::CheckMortality<picasso_runtime::Runtime>,frame_system::extensions::check_nonce::CheckNonce<picasso_runtime::Runtime>,frame_system::extensions::check_weight::CheckWeight<picasso_runtime::Runtime>,pallet_transaction_payment::ChargeTransactionPayment<picasso_runtime::Runtime>)>>>>::dispatch_benchmark::hcaa3386e858e74d0\\n    4: 0x38b893 - <unknown>!Benchmark_dispatch_benchmark\\n\")")
2021-12-14 15:32:29.128 DEBUG main wasm-heap: allocator being destroyed, max_total_size 2568, max_bumper 1238872    
2021-12-14 15:32:29.128 TRACE main state: Return ext_id=67ea was_native=false result=Err(Other("Wasm execution trapped: wasm trap: unreachable\nwasm backtrace:\n    0: 0x37a4 - <unknown>!rust_begin_unwind\n    1: 0x2bbd - <unknown>!core::panicking::panic_fmt::h8f11323637b4db3b\n    2: 0x286d - <unknown>!core::result::unwrap_failed::h5b559a304463e509\n    3: 0x1ca0aa - <unknown>!<picasso_runtime::Runtime as frame_benchmarking::utils::runtime_decl_for_Benchmark::Benchmark<sp_runtime::generic::block::Block<sp_runtime::generic::header::Header<u32,sp_runtime::traits::BlakeTwo256>,sp_runtime::generic::unchecked_extrinsic::UncheckedExtrinsic<sp_runtime::multiaddress::MultiAddress<<<sp_runtime::MultiSignature as sp_runtime::traits::Verify>::Signer as sp_runtime::traits::IdentifyAccount>::AccountId,u32>,picasso_runtime::Call,sp_runtime::MultiSignature,(frame_system::extensions::check_spec_version::CheckSpecVersion<picasso_runtime::Runtime>,frame_system::extensions::check_tx_version::CheckTxVersion<picasso_runtime::Runtime>,frame_system::extensions::check_genesis::CheckGenesis<picasso_runtime::Runtime>,frame_system::extensions::check_mortality::CheckMortality<picasso_runtime::Runtime>,frame_system::extensions::check_nonce::CheckNonce<picasso_runtime::Runtime>,frame_system::extensions::check_weight::CheckWeight<picasso_runtime::Runtime>,pallet_transaction_payment::ChargeTransactionPayment<picasso_runtime::Runtime>)>>>>::dispatch_benchmark::hcaa3386e858e74d0\n    4: 0x38b893 - <unknown>!Benchmark_dispatch_benchmark\n"))

As you can see, the stacktrace is not very useful and I already tried many things for several hours without success: Changed CLI parameters, changed benchmark logic, changed call inputs, changed runtime parameters, added logs, etc, etc, etc...

@c410-f3r
Copy link
Contributor Author

unused dependencies:
`pallet-bonded-finance v0.0.1 (/home/runner/_work/composable/composable/frame/bonded-finance)`
└─── dependencies
     └─── "frame-benchmarking"
Note: They might be false-positive.
      For example, `cargo-udeps` cannot detect usage of crates that are only used in doc-tests.
      To ignore some dependencies, write `package.metadata.cargo-udeps.ignore` in Cargo.toml.

frame-benchmarking is being used inside the benchmarks module. The warning was trigged probably because frame-benchmarking/std unconditionally (cargo stuff) brings the whole crate, i.e., a false-positive.

@c410-f3r c410-f3r force-pushed the yet-another-benchmark branch 4 times, most recently from 198a1ff to 368f047 Compare December 17, 2021 12:21
@c410-f3r
Copy link
Contributor Author

Not sure why CI is still failing (🤷) but I will take a look tomorrow

@c410-f3r c410-f3r force-pushed the yet-another-benchmark branch 6 times, most recently from 152ad05 to f537b5d Compare December 22, 2021 23:04
@c410-f3r
Copy link
Contributor Author

Should be good now

@hussein-aitlahcen
Copy link
Contributor

LGTM, @c410-f3r any chance we rebase this :) so we merge it?

@c410-f3r c410-f3r force-pushed the yet-another-benchmark branch 3 times, most recently from 289605b to ffe062b Compare December 24, 2021 12:35
KaiserKarel
KaiserKarel previously approved these changes Dec 24, 2021
@c410-f3r c410-f3r force-pushed the yet-another-benchmark branch 2 times, most recently from 008b9eb to 5c9ecee Compare December 24, 2021 14:20
@c410-f3r
Copy link
Contributor Author

LGTM, @c410-f3r any chance we rebase this :) so we merge it?

Done

Copy link
Contributor

@hussein-aitlahcen hussein-aitlahcen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks a lot :)

@hussein-aitlahcen hussein-aitlahcen merged commit d9801e0 into ComposableFi:main Dec 24, 2021
@c410-f3r
Copy link
Contributor Author

c410-f3r commented Dec 24, 2021

Merry Christmas!

aettran pushed a commit that referenced this pull request Jan 3, 2022
benluelo pushed a commit that referenced this pull request Jan 3, 2022
author Hussein Ait-Lahcen <hussein.aitlahcen@gmail.com> 1640264806 +0100
committer Ben Luelo <benluelo@hotmail.com> 1641229158 -0500
gpgsig -----BEGIN PGP SIGNATURE-----

 iQGzBAABCgAdFiEEvcJAWzQ+hHD6e6hZKDJl/2mUhmAFAmHTK2YACgkQKDJl/2mU
 hmAZUgv/YlQbIMXV8utYIgxSDSTAGtW4Ruo5bXSQzDQJWKL8AMk04WJs/A2YgsV4
 v7COvbFaTEKM0BrfAbSd8RhGUI2xQmTtvzr3M7dXhTPh6UIRK1O2QU62XBwFlRiG
 m40HoP+FHnhdMeO49jiD+6JiJQZJ4YysLw3TpF4NMCLLAE+OEVUkTHkbovrawfte
 zPrw2suOz4PIhajPKlThPsyec7GfnLTRZFZcsjovSerI+BYUBIroCWtoLP3Hw873
 nCdve/HigNfwyeFVVw61coa8csqzN8CA2qzg2AFAHfsvNBil8baFJMywm+6vfV7s
 qnN+XK/GgrYZew5V00vNhKmW8h7/K0Gdyeuri/LelokXNE/PGiRrODl+066F/qCN
 U6urzh2nny1lTsbIoVMnOryk5yj3ekFd8Nsy/SmFtaGFjRvErdtZ0Qzd3zENVxie
 YCb4Msgce3UgZbQ8wLo3RaQKg+32i562ewDyWtnATG+CY+jCWeRlAqHYakTKzRrn
 91xqAEMi
 =4XKn
 -----END PGP SIGNATURE-----

CU-1kr4tya - Crowdloan rewards benchmarking (#412)

* CU-1kr4tya - crowdloan rewards benchmarking

* fix main benchmarking

* add crowdloan-rewards to runtime and generated benchmark weights

* update cargo lock

* refactor crowdloan rewards test to use 1:1 benchmarking types

* fix populate weight calculation

* make sure to remove rewards prior to populate

* use runtime prefix in benchmarking

* unused dependency

Run benchmark for develop and fix `cargo vendor` (#419)

CU-1wtx9fb Implement Constant Product AMM.

Democracy (#389)

* CU-1rpbzkw - democracy pallet

Fixed missing test cases and related dependencies

Added missing test cases

Fixed format errors and docs

Fixing docs

 CU-1rpbzkw | Fixed failing test case

CU-1rpbzkw | handle transfer_held() result

CU-1rpbzkw | added few more multi currency tests

CU-1rpbzkw | fixing fmt

Changes & fixes for benchmarking

Linting fixes

* Democracy

Co-authored-by: kaiserkarel <k.l.kubat@gmail.com>

split out dali runtime from picasso (#421)

* split out dali runtime from picasso

* cargo fm

* fix runtimes

* cargo fmt

[BondedFinance] Add benchmarks (#377)

Add email (#431)

Add rust-toolchain.toml (#435)

* Add rust-toolchain.toml
* Remove ConvertInto import

Fix clippy lints

cargo fmt

Add clippy::indexing_slicing annotation to all crates

Fix slicing warnings in curve-amm crate.

I wasn't able to fix all of the occurences or slicing; some functions take indexes directly. I feel like these should be using .get(n) and returning some sort of dispatch error instead of panicking, but I'm not knowledgeable enough about substrate to say for sure. All instances of this have been annoted with a `REVIEW: indexing` comment at the function level.

Fix and/or audit indexing warninggs in oracle crate

Fix and/or audit indexing in oracle crate

Fix bug in add_liquidity

Add type annotation

Style & formatting

Fix extra underscore in integer literal

Add clippy::disallowed_type lint

Change MockCurrencyId variants to be CONSTANT_CASE

Remove uses of dbg!() macro

rustfmt

CU-1p8545r  dutch auction (#410)

* dutch auction

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fixed tests

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fixed clippy

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fixed review comments

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* adding tests and fixing bugs

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* refactoring

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fix fmt

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fixed udeps

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fixed clippy

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

Squash

audit use of ValueQuery

audit usage of ValueQuery

audit ValueQuery in vault

audit usage of unwrap and ValueQuery in transaction-fee

Audit clippy warnings in curve-amm pallet

indexing and slicing warning have been suppressed for now; A larger refactor will be required to remove the indexing that remains.

Audit use of ValueQuery in dutch-auction

Fix compilation error in test_interest_rate_model_default

Audit/ fix clippy warnings in assets-registry and dutch-auction

Fix or temporarilly suppress various clippy warnings

rustfmt

Signed-off-by: Ben Luelo <benluelo@hotmail.com>

Audit clippy warnings in curve-amm pallet

indexing and slicing warning have been suppressed for now; A larger refactor will be required to remove the indexing that remains.

Fix compilation error in test_interest_rate_model_default

Audit/ fix clippy warnings in assets-registry and dutch-auction

Fix or temporarilly suppress various clippy warnings

rustfmt

Signed-off-by: Ben Luelo <benluelo@hotmail.com>

rustfmt

Signed-off-by: Ben Luelo <benluelo@hotmail.com>
benluelo pushed a commit that referenced this pull request Jan 3, 2022
* bump to 0.9.13

* cargo fmt

* bump subxt

* cargo fmt

* up simuator to 0.9.13

Signed-off-by: Dzmitry Lahoda <dzmitry@lahoda.pro>

* bump

Co-authored-by: Dzmitry Lahoda <dzmitry@lahoda.pro>

Bump picasso chain spec (#375)

* bump spec

* cargo fmt

Composable Runtime (#364)

* composable-runtime

* initial implementation

* support multiple runtimes for subcommand

* cargo fmt

CU-1nbhuu3 - upgrade price feed to match oracle (#373)

* upgrade price feed to match oracle, simplify normalization and allow more configuration

* use latest version of clap and add new required `derive` feature

* fix main

* apply clippy suggestions

adds composable chain spec (#378)

* adds composable chain spec

* cargo fmt

* fix clap

* sigh

Check runtime ci [WIP] (#379)

* Update Makefile

* Update release

* Update

* Updating release

* Added runtime check

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* remove westend-native

Co-authored-by: Seun Lanlege <seunlanlege@gmail.com>

Add a sequence diagram to explain a work of pallet-assets-registry (#380)

Implement property test for add/remove_liquidity() and exchange().
Also fix minor bug found with proptesting.

CU-1nbj6eq - Cherry develop (#384)

* dex docs, groups for lending, api (#183)

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* smallest possible unit for currencies + refactor + lending fixes / tests more clear (#186)

* make sure we allow liquidation if the source account has zero funds after

* introduce PriceableAsset capability

* refactor lending pallet + oracle mock to use smallest unit of an asset

* fix merge conflicts, make tests more clear

* simpler priceable type & upgrade runtime currency to handle it

* simplify and better documentation

* cleanup unused constraints

* Vault-index-configurable (#200)

* make VaultId an associated type

* Unmanle doc comment

* rent implementation (#189)

* implement rent and tombstoning

* clean up claim_surcharge

Also ensure that tombstoned vaults have funds returned by strategies.

* handle deletion_reward

* add delete_tombstoned functionality

* add add_surcharge

* fmt and fix doc comment

* Use NativeCurrency associated type instead of querying for native id (#202)

* Update Vault Readme (#207)

* describe vault

* sync readme with rustdoc

* Tests documentations & refactoring (#254)

* introduce composable-helpers

* refactor vault/lending tests to use composable-helpers

* apply advices

* Vault benchmarking (#270)

* fix missing runtime paramter

* add vault benchmarking

* Update CI config

Co-authored-by: Andrey Orlov <aaorlov1@gmail.com>

* CU-1kjehh6 - avoid less than expected bonus by using safe maths (#289)

* CU-1kr011f - merge allocations in StrategyOverview (#290)

Both Allocations and CapitaalStructure storage map were tied.
Which mean you couldn't have an allocation without having a StrategyOverview.
This was wrong for the case of the reserve, as the vault itself has an
allocation (the reserve) but no StrategyOverview.

Because of that, one could trigger a panic by asking for `available_funds` using
the vault id.
We fix this issue by merging the allocation inside the StrategyOverview.

* fix benchmarking

* feature gate vault benchmark

* apply udeps suggestions

* update cargo.lock

Co-authored-by: Andrey Orlov <aaorlov1@gmail.com>

Update ansible picasso (#396)

Resolve conflicting `Cargo.lock` dependencies (#390)

Resolve conflicting `Cargo.lock` dependencies (#390)

Update ansible picasso (#399)

* Update ansible

Update GitHub ansible workflow (#407)

Update GitHub ansible workflow (#408)

CU-1wef6he - add enable/disable hook to call-filter and extract behavior to (#398)

composable-traits

We were previously using a map `Entry -> Option<()>` but a StorageMap `Entry -> ()`
is enough as it uses `OptionQuery` by default.

I added a way to hook into enable/disable call of the filter pallet to make it
more flexible. If we want to block a pallet from being disabled, it can now be
done at the Runtime declaration.

Architecture.md (#405)

* CU-1nbetfw - move `price-feed` in `utils`

* CU-1nbetfw - add `ARCHITECTURE.md` describind the repository architecture

Add `clippy::disallowed_method` lint

parent 62f6e5b
author Hussein Ait-Lahcen <hussein.aitlahcen@gmail.com> 1640264806 +0100
committer Ben Luelo <benluelo@hotmail.com> 1641229158 -0500
gpgsig -----BEGIN PGP SIGNATURE-----

 iQGzBAABCgAdFiEEvcJAWzQ+hHD6e6hZKDJl/2mUhmAFAmHTK2YACgkQKDJl/2mU
 hmAZUgv/YlQbIMXV8utYIgxSDSTAGtW4Ruo5bXSQzDQJWKL8AMk04WJs/A2YgsV4
 v7COvbFaTEKM0BrfAbSd8RhGUI2xQmTtvzr3M7dXhTPh6UIRK1O2QU62XBwFlRiG
 m40HoP+FHnhdMeO49jiD+6JiJQZJ4YysLw3TpF4NMCLLAE+OEVUkTHkbovrawfte
 zPrw2suOz4PIhajPKlThPsyec7GfnLTRZFZcsjovSerI+BYUBIroCWtoLP3Hw873
 nCdve/HigNfwyeFVVw61coa8csqzN8CA2qzg2AFAHfsvNBil8baFJMywm+6vfV7s
 qnN+XK/GgrYZew5V00vNhKmW8h7/K0Gdyeuri/LelokXNE/PGiRrODl+066F/qCN
 U6urzh2nny1lTsbIoVMnOryk5yj3ekFd8Nsy/SmFtaGFjRvErdtZ0Qzd3zENVxie
 YCb4Msgce3UgZbQ8wLo3RaQKg+32i562ewDyWtnATG+CY+jCWeRlAqHYakTKzRrn
 91xqAEMi
 =4XKn
 -----END PGP SIGNATURE-----

CU-1kr4tya - Crowdloan rewards benchmarking (#412)

* CU-1kr4tya - crowdloan rewards benchmarking

* fix main benchmarking

* add crowdloan-rewards to runtime and generated benchmark weights

* update cargo lock

* refactor crowdloan rewards test to use 1:1 benchmarking types

* fix populate weight calculation

* make sure to remove rewards prior to populate

* use runtime prefix in benchmarking

* unused dependency

Run benchmark for develop and fix `cargo vendor` (#419)

CU-1wtx9fb Implement Constant Product AMM.

Democracy (#389)

* CU-1rpbzkw - democracy pallet

Fixed missing test cases and related dependencies

Added missing test cases

Fixed format errors and docs

Fixing docs

 CU-1rpbzkw | Fixed failing test case

CU-1rpbzkw | handle transfer_held() result

CU-1rpbzkw | added few more multi currency tests

CU-1rpbzkw | fixing fmt

Changes & fixes for benchmarking

Linting fixes

* Democracy

Co-authored-by: kaiserkarel <k.l.kubat@gmail.com>

split out dali runtime from picasso (#421)

* split out dali runtime from picasso

* cargo fm

* fix runtimes

* cargo fmt

[BondedFinance] Add benchmarks (#377)

Add email (#431)

Add rust-toolchain.toml (#435)

* Add rust-toolchain.toml
* Remove ConvertInto import

Fix clippy lints

cargo fmt

Add clippy::indexing_slicing annotation to all crates

Fix slicing warnings in curve-amm crate.

I wasn't able to fix all of the occurences or slicing; some functions take indexes directly. I feel like these should be using .get(n) and returning some sort of dispatch error instead of panicking, but I'm not knowledgeable enough about substrate to say for sure. All instances of this have been annoted with a `REVIEW: indexing` comment at the function level.

Fix and/or audit indexing warninggs in oracle crate

Fix and/or audit indexing in oracle crate

Fix bug in add_liquidity

Add type annotation

Style & formatting

Fix extra underscore in integer literal

Add clippy::disallowed_type lint

Change MockCurrencyId variants to be CONSTANT_CASE

Remove uses of dbg!() macro

rustfmt

CU-1p8545r  dutch auction (#410)

* dutch auction

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fixed tests

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fixed clippy

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fixed review comments

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* adding tests and fixing bugs

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* refactoring

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fix fmt

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fixed udeps

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fixed clippy

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

Squash

audit use of ValueQuery

audit usage of ValueQuery

audit ValueQuery in vault

audit usage of unwrap and ValueQuery in transaction-fee

Audit clippy warnings in curve-amm pallet

indexing and slicing warning have been suppressed for now; A larger refactor will be required to remove the indexing that remains.

Audit use of ValueQuery in dutch-auction

Fix compilation error in test_interest_rate_model_default

Audit/ fix clippy warnings in assets-registry and dutch-auction

Fix or temporarilly suppress various clippy warnings

rustfmt

Signed-off-by: Ben Luelo <benluelo@hotmail.com>

Audit clippy warnings in curve-amm pallet

indexing and slicing warning have been suppressed for now; A larger refactor will be required to remove the indexing that remains.

Fix compilation error in test_interest_rate_model_default

Audit/ fix clippy warnings in assets-registry and dutch-auction

Fix or temporarilly suppress various clippy warnings

rustfmt

Signed-off-by: Ben Luelo <benluelo@hotmail.com>

rustfmt

Signed-off-by: Ben Luelo <benluelo@hotmail.com>

CU-1kr4tya - Crowdloan rewards benchmarking (#412)

* CU-1kr4tya - crowdloan rewards benchmarking

* fix main benchmarking

* add crowdloan-rewards to runtime and generated benchmark weights

* update cargo lock

* refactor crowdloan rewards test to use 1:1 benchmarking types

* fix populate weight calculation

* make sure to remove rewards prior to populate

* use runtime prefix in benchmarking

* unused dependency

Run benchmark for develop and fix `cargo vendor` (#419)

Democracy (#389)

* CU-1rpbzkw - democracy pallet

Fixed missing test cases and related dependencies

Added missing test cases

Fixed format errors and docs

Fixing docs

 CU-1rpbzkw | Fixed failing test case

CU-1rpbzkw | handle transfer_held() result

CU-1rpbzkw | added few more multi currency tests

CU-1rpbzkw | fixing fmt

Changes & fixes for benchmarking

Linting fixes

* Democracy

Co-authored-by: kaiserkarel <k.l.kubat@gmail.com>

split out dali runtime from picasso (#421)

* split out dali runtime from picasso

* cargo fm

* fix runtimes

* cargo fmt

[BondedFinance] Add benchmarks (#377)

Add email (#431)

Add rust-toolchain.toml (#435)

* Add rust-toolchain.toml
* Remove ConvertInto import

Fix clippy lints

cargo fmt

Add clippy::indexing_slicing annotation to all crates

Fix slicing warnings in curve-amm crate.

I wasn't able to fix all of the occurences or slicing; some functions take indexes directly. I feel like these should be using .get(n) and returning some sort of dispatch error instead of panicking, but I'm not knowledgeable enough about substrate to say for sure. All instances of this have been annoted with a `REVIEW: indexing` comment at the function level.

Fix and/or audit indexing warninggs in oracle crate

Fix bug in add_liquidity

Style & formatting

Add clippy::disallowed_type lint

Change MockCurrencyId variants to be CONSTANT_CASE

Remove uses of dbg!() macro

rustfmt

CU-1p8545r  dutch auction (#410)

* dutch auction

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fixed tests

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fixed clippy

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fixed review comments

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* adding tests and fixing bugs

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* refactoring

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fix fmt

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fixed udeps

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fixed clippy

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

rustfmt
benluelo pushed a commit that referenced this pull request Jan 3, 2022
* bump to 0.9.13

* cargo fmt

* bump subxt

* cargo fmt

* up simuator to 0.9.13

Signed-off-by: Dzmitry Lahoda <dzmitry@lahoda.pro>

* bump

Co-authored-by: Dzmitry Lahoda <dzmitry@lahoda.pro>

Bump picasso chain spec (#375)

* bump spec

* cargo fmt

Composable Runtime (#364)

* composable-runtime

* initial implementation

* support multiple runtimes for subcommand

* cargo fmt

CU-1nbhuu3 - upgrade price feed to match oracle (#373)

* upgrade price feed to match oracle, simplify normalization and allow more configuration

* use latest version of clap and add new required `derive` feature

* fix main

* apply clippy suggestions

adds composable chain spec (#378)

* adds composable chain spec

* cargo fmt

* fix clap

* sigh

Check runtime ci [WIP] (#379)

* Update Makefile

* Update release

* Update

* Updating release

* Added runtime check

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* remove westend-native

Co-authored-by: Seun Lanlege <seunlanlege@gmail.com>

Add a sequence diagram to explain a work of pallet-assets-registry (#380)

Implement property test for add/remove_liquidity() and exchange().
Also fix minor bug found with proptesting.

CU-1nbj6eq - Cherry develop (#384)

* dex docs, groups for lending, api (#183)

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* smallest possible unit for currencies + refactor + lending fixes / tests more clear (#186)

* make sure we allow liquidation if the source account has zero funds after

* introduce PriceableAsset capability

* refactor lending pallet + oracle mock to use smallest unit of an asset

* fix merge conflicts, make tests more clear

* simpler priceable type & upgrade runtime currency to handle it

* simplify and better documentation

* cleanup unused constraints

* Vault-index-configurable (#200)

* make VaultId an associated type

* Unmanle doc comment

* rent implementation (#189)

* implement rent and tombstoning

* clean up claim_surcharge

Also ensure that tombstoned vaults have funds returned by strategies.

* handle deletion_reward

* add delete_tombstoned functionality

* add add_surcharge

* fmt and fix doc comment

* Use NativeCurrency associated type instead of querying for native id (#202)

* Update Vault Readme (#207)

* describe vault

* sync readme with rustdoc

* Tests documentations & refactoring (#254)

* introduce composable-helpers

* refactor vault/lending tests to use composable-helpers

* apply advices

* Vault benchmarking (#270)

* fix missing runtime paramter

* add vault benchmarking

* Update CI config

Co-authored-by: Andrey Orlov <aaorlov1@gmail.com>

* CU-1kjehh6 - avoid less than expected bonus by using safe maths (#289)

* CU-1kr011f - merge allocations in StrategyOverview (#290)

Both Allocations and CapitaalStructure storage map were tied.
Which mean you couldn't have an allocation without having a StrategyOverview.
This was wrong for the case of the reserve, as the vault itself has an
allocation (the reserve) but no StrategyOverview.

Because of that, one could trigger a panic by asking for `available_funds` using
the vault id.
We fix this issue by merging the allocation inside the StrategyOverview.

* fix benchmarking

* feature gate vault benchmark

* apply udeps suggestions

* update cargo.lock

Co-authored-by: Andrey Orlov <aaorlov1@gmail.com>

Update ansible picasso (#396)

Resolve conflicting `Cargo.lock` dependencies (#390)

Resolve conflicting `Cargo.lock` dependencies (#390)

Update ansible picasso (#399)

* Update ansible

Update GitHub ansible workflow (#407)

Update GitHub ansible workflow (#408)

CU-1wef6he - add enable/disable hook to call-filter and extract behavior to (#398)

composable-traits

We were previously using a map `Entry -> Option<()>` but a StorageMap `Entry -> ()`
is enough as it uses `OptionQuery` by default.

I added a way to hook into enable/disable call of the filter pallet to make it
more flexible. If we want to block a pallet from being disabled, it can now be
done at the Runtime declaration.

Architecture.md (#405)

* CU-1nbetfw - move `price-feed` in `utils`

* CU-1nbetfw - add `ARCHITECTURE.md` describind the repository architecture

Add `clippy::disallowed_method` lint

parent 62f6e5b
author Hussein Ait-Lahcen <hussein.aitlahcen@gmail.com> 1640264806 +0100
committer Ben Luelo <benluelo@hotmail.com> 1641229158 -0500
gpgsig -----BEGIN PGP SIGNATURE-----

 iQGzBAABCgAdFiEEvcJAWzQ+hHD6e6hZKDJl/2mUhmAFAmHTK2YACgkQKDJl/2mU
 hmAZUgv/YlQbIMXV8utYIgxSDSTAGtW4Ruo5bXSQzDQJWKL8AMk04WJs/A2YgsV4
 v7COvbFaTEKM0BrfAbSd8RhGUI2xQmTtvzr3M7dXhTPh6UIRK1O2QU62XBwFlRiG
 m40HoP+FHnhdMeO49jiD+6JiJQZJ4YysLw3TpF4NMCLLAE+OEVUkTHkbovrawfte
 zPrw2suOz4PIhajPKlThPsyec7GfnLTRZFZcsjovSerI+BYUBIroCWtoLP3Hw873
 nCdve/HigNfwyeFVVw61coa8csqzN8CA2qzg2AFAHfsvNBil8baFJMywm+6vfV7s
 qnN+XK/GgrYZew5V00vNhKmW8h7/K0Gdyeuri/LelokXNE/PGiRrODl+066F/qCN
 U6urzh2nny1lTsbIoVMnOryk5yj3ekFd8Nsy/SmFtaGFjRvErdtZ0Qzd3zENVxie
 YCb4Msgce3UgZbQ8wLo3RaQKg+32i562ewDyWtnATG+CY+jCWeRlAqHYakTKzRrn
 91xqAEMi
 =4XKn
 -----END PGP SIGNATURE-----

CU-1kr4tya - Crowdloan rewards benchmarking (#412)

* CU-1kr4tya - crowdloan rewards benchmarking

* fix main benchmarking

* add crowdloan-rewards to runtime and generated benchmark weights

* update cargo lock

* refactor crowdloan rewards test to use 1:1 benchmarking types

* fix populate weight calculation

* make sure to remove rewards prior to populate

* use runtime prefix in benchmarking

* unused dependency

Run benchmark for develop and fix `cargo vendor` (#419)

CU-1wtx9fb Implement Constant Product AMM.

Democracy (#389)

* CU-1rpbzkw - democracy pallet

Fixed missing test cases and related dependencies

Added missing test cases

Fixed format errors and docs

Fixing docs

 CU-1rpbzkw | Fixed failing test case

CU-1rpbzkw | handle transfer_held() result

CU-1rpbzkw | added few more multi currency tests

CU-1rpbzkw | fixing fmt

Changes & fixes for benchmarking

Linting fixes

* Democracy

Co-authored-by: kaiserkarel <k.l.kubat@gmail.com>

split out dali runtime from picasso (#421)

* split out dali runtime from picasso

* cargo fm

* fix runtimes

* cargo fmt

[BondedFinance] Add benchmarks (#377)

Add email (#431)

Add rust-toolchain.toml (#435)

* Add rust-toolchain.toml
* Remove ConvertInto import

Fix clippy lints

cargo fmt

Add clippy::indexing_slicing annotation to all crates

Fix slicing warnings in curve-amm crate.

I wasn't able to fix all of the occurences or slicing; some functions take indexes directly. I feel like these should be using .get(n) and returning some sort of dispatch error instead of panicking, but I'm not knowledgeable enough about substrate to say for sure. All instances of this have been annoted with a `REVIEW: indexing` comment at the function level.

Fix and/or audit indexing warninggs in oracle crate

Fix and/or audit indexing in oracle crate

Fix bug in add_liquidity

Add type annotation

Style & formatting

Fix extra underscore in integer literal

Add clippy::disallowed_type lint

Change MockCurrencyId variants to be CONSTANT_CASE

Remove uses of dbg!() macro

rustfmt

CU-1p8545r  dutch auction (#410)

* dutch auction

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fixed tests

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fixed clippy

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fixed review comments

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* adding tests and fixing bugs

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* refactoring

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fix fmt

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fixed udeps

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fixed clippy

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

Squash

audit use of ValueQuery

audit usage of ValueQuery

audit ValueQuery in vault

audit usage of unwrap and ValueQuery in transaction-fee

Audit clippy warnings in curve-amm pallet

indexing and slicing warning have been suppressed for now; A larger refactor will be required to remove the indexing that remains.

Audit use of ValueQuery in dutch-auction

Fix compilation error in test_interest_rate_model_default

Audit/ fix clippy warnings in assets-registry and dutch-auction

Fix or temporarilly suppress various clippy warnings

rustfmt

Signed-off-by: Ben Luelo <benluelo@hotmail.com>

Audit clippy warnings in curve-amm pallet

indexing and slicing warning have been suppressed for now; A larger refactor will be required to remove the indexing that remains.

Fix compilation error in test_interest_rate_model_default

Audit/ fix clippy warnings in assets-registry and dutch-auction

Fix or temporarilly suppress various clippy warnings

rustfmt

Signed-off-by: Ben Luelo <benluelo@hotmail.com>

rustfmt

Signed-off-by: Ben Luelo <benluelo@hotmail.com>

CU-1kr4tya - Crowdloan rewards benchmarking (#412)

* CU-1kr4tya - crowdloan rewards benchmarking

* fix main benchmarking

* add crowdloan-rewards to runtime and generated benchmark weights

* update cargo lock

* refactor crowdloan rewards test to use 1:1 benchmarking types

* fix populate weight calculation

* make sure to remove rewards prior to populate

* use runtime prefix in benchmarking

* unused dependency

Run benchmark for develop and fix `cargo vendor` (#419)

Democracy (#389)

* CU-1rpbzkw - democracy pallet

Fixed missing test cases and related dependencies

Added missing test cases

Fixed format errors and docs

Fixing docs

 CU-1rpbzkw | Fixed failing test case

CU-1rpbzkw | handle transfer_held() result

CU-1rpbzkw | added few more multi currency tests

CU-1rpbzkw | fixing fmt

Changes & fixes for benchmarking

Linting fixes

* Democracy

Co-authored-by: kaiserkarel <k.l.kubat@gmail.com>

split out dali runtime from picasso (#421)

* split out dali runtime from picasso

* cargo fm

* fix runtimes

* cargo fmt

[BondedFinance] Add benchmarks (#377)

Add email (#431)

Add rust-toolchain.toml (#435)

* Add rust-toolchain.toml
* Remove ConvertInto import

Fix clippy lints

cargo fmt

Add clippy::indexing_slicing annotation to all crates

Fix slicing warnings in curve-amm crate.

I wasn't able to fix all of the occurences or slicing; some functions take indexes directly. I feel like these should be using .get(n) and returning some sort of dispatch error instead of panicking, but I'm not knowledgeable enough about substrate to say for sure. All instances of this have been annoted with a `REVIEW: indexing` comment at the function level.

Fix and/or audit indexing warninggs in oracle crate

Fix bug in add_liquidity

Style & formatting

Add clippy::disallowed_type lint

Change MockCurrencyId variants to be CONSTANT_CASE

Remove uses of dbg!() macro

rustfmt

CU-1p8545r  dutch auction (#410)

* dutch auction

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fixed tests

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fixed clippy

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fixed review comments

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* adding tests and fixing bugs

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* refactoring

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fix fmt

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fixed udeps

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fixed clippy

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

rustfmt
KaiserKarel pushed a commit that referenced this pull request Jan 4, 2022
* Add `clippy::disallowed_method` lint

* Fix clippy lints

* cargo fmt

* Add clippy::indexing_slicing annotation to all crates

* Fix slicing warnings in curve-amm crate.

I wasn't able to fix all of the occurences or slicing; some functions take indexes directly. I feel like these should be using .get(n) and returning some sort of dispatch error instead of panicking, but I'm not knowledgeable enough about substrate to say for sure. All instances of this have been annoted with a `REVIEW: indexing` comment at the function level.

* Fix and/or audit indexing warninggs in oracle crate

* Fix and/or audit indexing in oracle crate

* Fix bug in add_liquidity

* Add type annotation

* Style & formatting

* Fix extra underscore in integer literal

* Add clippy::disallowed_type lint

* Change MockCurrencyId variants to be CONSTANT_CASE

* Remove uses of dbg!() macro

* rustfmt

* Upgrade parachain to polkadot-v0.9.13 (#372)

* bump to 0.9.13

* cargo fmt

* bump subxt

* cargo fmt

* up simuator to 0.9.13

Signed-off-by: Dzmitry Lahoda <dzmitry@lahoda.pro>

* bump

Co-authored-by: Dzmitry Lahoda <dzmitry@lahoda.pro>

Bump picasso chain spec (#375)

* bump spec

* cargo fmt

Composable Runtime (#364)

* composable-runtime

* initial implementation

* support multiple runtimes for subcommand

* cargo fmt

CU-1nbhuu3 - upgrade price feed to match oracle (#373)

* upgrade price feed to match oracle, simplify normalization and allow more configuration

* use latest version of clap and add new required `derive` feature

* fix main

* apply clippy suggestions

adds composable chain spec (#378)

* adds composable chain spec

* cargo fmt

* fix clap

* sigh

Check runtime ci [WIP] (#379)

* Update Makefile

* Update release

* Update

* Updating release

* Added runtime check

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* remove westend-native

Co-authored-by: Seun Lanlege <seunlanlege@gmail.com>

Add a sequence diagram to explain a work of pallet-assets-registry (#380)

Implement property test for add/remove_liquidity() and exchange().
Also fix minor bug found with proptesting.

CU-1nbj6eq - Cherry develop (#384)

* dex docs, groups for lending, api (#183)

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* smallest possible unit for currencies + refactor + lending fixes / tests more clear (#186)

* make sure we allow liquidation if the source account has zero funds after

* introduce PriceableAsset capability

* refactor lending pallet + oracle mock to use smallest unit of an asset

* fix merge conflicts, make tests more clear

* simpler priceable type & upgrade runtime currency to handle it

* simplify and better documentation

* cleanup unused constraints

* Vault-index-configurable (#200)

* make VaultId an associated type

* Unmanle doc comment

* rent implementation (#189)

* implement rent and tombstoning

* clean up claim_surcharge

Also ensure that tombstoned vaults have funds returned by strategies.

* handle deletion_reward

* add delete_tombstoned functionality

* add add_surcharge

* fmt and fix doc comment

* Use NativeCurrency associated type instead of querying for native id (#202)

* Update Vault Readme (#207)

* describe vault

* sync readme with rustdoc

* Tests documentations & refactoring (#254)

* introduce composable-helpers

* refactor vault/lending tests to use composable-helpers

* apply advices

* Vault benchmarking (#270)

* fix missing runtime paramter

* add vault benchmarking

* Update CI config

Co-authored-by: Andrey Orlov <aaorlov1@gmail.com>

* CU-1kjehh6 - avoid less than expected bonus by using safe maths (#289)

* CU-1kr011f - merge allocations in StrategyOverview (#290)

Both Allocations and CapitaalStructure storage map were tied.
Which mean you couldn't have an allocation without having a StrategyOverview.
This was wrong for the case of the reserve, as the vault itself has an
allocation (the reserve) but no StrategyOverview.

Because of that, one could trigger a panic by asking for `available_funds` using
the vault id.
We fix this issue by merging the allocation inside the StrategyOverview.

* fix benchmarking

* feature gate vault benchmark

* apply udeps suggestions

* update cargo.lock

Co-authored-by: Andrey Orlov <aaorlov1@gmail.com>

Update ansible picasso (#396)

Resolve conflicting `Cargo.lock` dependencies (#390)

Resolve conflicting `Cargo.lock` dependencies (#390)

Update ansible picasso (#399)

* Update ansible

Update GitHub ansible workflow (#407)

Update GitHub ansible workflow (#408)

CU-1wef6he - add enable/disable hook to call-filter and extract behavior to (#398)

composable-traits

We were previously using a map `Entry -> Option<()>` but a StorageMap `Entry -> ()`
is enough as it uses `OptionQuery` by default.

I added a way to hook into enable/disable call of the filter pallet to make it
more flexible. If we want to block a pallet from being disabled, it can now be
done at the Runtime declaration.

Architecture.md (#405)

* CU-1nbetfw - move `price-feed` in `utils`

* CU-1nbetfw - add `ARCHITECTURE.md` describind the repository architecture

Add `clippy::disallowed_method` lint

parent 62f6e5b
author Hussein Ait-Lahcen <hussein.aitlahcen@gmail.com> 1640264806 +0100
committer Ben Luelo <benluelo@hotmail.com> 1641229158 -0500
gpgsig -----BEGIN PGP SIGNATURE-----

 iQGzBAABCgAdFiEEvcJAWzQ+hHD6e6hZKDJl/2mUhmAFAmHTK2YACgkQKDJl/2mU
 hmAZUgv/YlQbIMXV8utYIgxSDSTAGtW4Ruo5bXSQzDQJWKL8AMk04WJs/A2YgsV4
 v7COvbFaTEKM0BrfAbSd8RhGUI2xQmTtvzr3M7dXhTPh6UIRK1O2QU62XBwFlRiG
 m40HoP+FHnhdMeO49jiD+6JiJQZJ4YysLw3TpF4NMCLLAE+OEVUkTHkbovrawfte
 zPrw2suOz4PIhajPKlThPsyec7GfnLTRZFZcsjovSerI+BYUBIroCWtoLP3Hw873
 nCdve/HigNfwyeFVVw61coa8csqzN8CA2qzg2AFAHfsvNBil8baFJMywm+6vfV7s
 qnN+XK/GgrYZew5V00vNhKmW8h7/K0Gdyeuri/LelokXNE/PGiRrODl+066F/qCN
 U6urzh2nny1lTsbIoVMnOryk5yj3ekFd8Nsy/SmFtaGFjRvErdtZ0Qzd3zENVxie
 YCb4Msgce3UgZbQ8wLo3RaQKg+32i562ewDyWtnATG+CY+jCWeRlAqHYakTKzRrn
 91xqAEMi
 =4XKn
 -----END PGP SIGNATURE-----

CU-1kr4tya - Crowdloan rewards benchmarking (#412)

* CU-1kr4tya - crowdloan rewards benchmarking

* fix main benchmarking

* add crowdloan-rewards to runtime and generated benchmark weights

* update cargo lock

* refactor crowdloan rewards test to use 1:1 benchmarking types

* fix populate weight calculation

* make sure to remove rewards prior to populate

* use runtime prefix in benchmarking

* unused dependency

Run benchmark for develop and fix `cargo vendor` (#419)

CU-1wtx9fb Implement Constant Product AMM.

Democracy (#389)

* CU-1rpbzkw - democracy pallet

Fixed missing test cases and related dependencies

Added missing test cases

Fixed format errors and docs

Fixing docs

 CU-1rpbzkw | Fixed failing test case

CU-1rpbzkw | handle transfer_held() result

CU-1rpbzkw | added few more multi currency tests

CU-1rpbzkw | fixing fmt

Changes & fixes for benchmarking

Linting fixes

* Democracy

Co-authored-by: kaiserkarel <k.l.kubat@gmail.com>

split out dali runtime from picasso (#421)

* split out dali runtime from picasso

* cargo fm

* fix runtimes

* cargo fmt

[BondedFinance] Add benchmarks (#377)

Add email (#431)

Add rust-toolchain.toml (#435)

* Add rust-toolchain.toml
* Remove ConvertInto import

Fix clippy lints

cargo fmt

Add clippy::indexing_slicing annotation to all crates

Fix slicing warnings in curve-amm crate.

I wasn't able to fix all of the occurences or slicing; some functions take indexes directly. I feel like these should be using .get(n) and returning some sort of dispatch error instead of panicking, but I'm not knowledgeable enough about substrate to say for sure. All instances of this have been annoted with a `REVIEW: indexing` comment at the function level.

Fix and/or audit indexing warninggs in oracle crate

Fix and/or audit indexing in oracle crate

Fix bug in add_liquidity

Add type annotation

Style & formatting

Fix extra underscore in integer literal

Add clippy::disallowed_type lint

Change MockCurrencyId variants to be CONSTANT_CASE

Remove uses of dbg!() macro

rustfmt

CU-1p8545r  dutch auction (#410)

* dutch auction

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fixed tests

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fixed clippy

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fixed review comments

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* adding tests and fixing bugs

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* refactoring

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fix fmt

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fixed udeps

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fixed clippy

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

Squash

audit use of ValueQuery

audit usage of ValueQuery

audit ValueQuery in vault

audit usage of unwrap and ValueQuery in transaction-fee

Audit clippy warnings in curve-amm pallet

indexing and slicing warning have been suppressed for now; A larger refactor will be required to remove the indexing that remains.

Audit use of ValueQuery in dutch-auction

Fix compilation error in test_interest_rate_model_default

Audit/ fix clippy warnings in assets-registry and dutch-auction

Fix or temporarilly suppress various clippy warnings

rustfmt

Signed-off-by: Ben Luelo <benluelo@hotmail.com>

Audit clippy warnings in curve-amm pallet

indexing and slicing warning have been suppressed for now; A larger refactor will be required to remove the indexing that remains.

Fix compilation error in test_interest_rate_model_default

Audit/ fix clippy warnings in assets-registry and dutch-auction

Fix or temporarilly suppress various clippy warnings

rustfmt

Signed-off-by: Ben Luelo <benluelo@hotmail.com>

rustfmt

Signed-off-by: Ben Luelo <benluelo@hotmail.com>

CU-1kr4tya - Crowdloan rewards benchmarking (#412)

* CU-1kr4tya - crowdloan rewards benchmarking

* fix main benchmarking

* add crowdloan-rewards to runtime and generated benchmark weights

* update cargo lock

* refactor crowdloan rewards test to use 1:1 benchmarking types

* fix populate weight calculation

* make sure to remove rewards prior to populate

* use runtime prefix in benchmarking

* unused dependency

Run benchmark for develop and fix `cargo vendor` (#419)

Democracy (#389)

* CU-1rpbzkw - democracy pallet

Fixed missing test cases and related dependencies

Added missing test cases

Fixed format errors and docs

Fixing docs

 CU-1rpbzkw | Fixed failing test case

CU-1rpbzkw | handle transfer_held() result

CU-1rpbzkw | added few more multi currency tests

CU-1rpbzkw | fixing fmt

Changes & fixes for benchmarking

Linting fixes

* Democracy

Co-authored-by: kaiserkarel <k.l.kubat@gmail.com>

split out dali runtime from picasso (#421)

* split out dali runtime from picasso

* cargo fm

* fix runtimes

* cargo fmt

[BondedFinance] Add benchmarks (#377)

Add email (#431)

Add rust-toolchain.toml (#435)

* Add rust-toolchain.toml
* Remove ConvertInto import

Fix clippy lints

cargo fmt

Add clippy::indexing_slicing annotation to all crates

Fix slicing warnings in curve-amm crate.

I wasn't able to fix all of the occurences or slicing; some functions take indexes directly. I feel like these should be using .get(n) and returning some sort of dispatch error instead of panicking, but I'm not knowledgeable enough about substrate to say for sure. All instances of this have been annoted with a `REVIEW: indexing` comment at the function level.

Fix and/or audit indexing warninggs in oracle crate

Fix bug in add_liquidity

Style & formatting

Add clippy::disallowed_type lint

Change MockCurrencyId variants to be CONSTANT_CASE

Remove uses of dbg!() macro

rustfmt

CU-1p8545r  dutch auction (#410)

* dutch auction

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fixed tests

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fixed clippy

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fixed review comments

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* adding tests and fixing bugs

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* refactoring

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fix fmt

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fixed udeps

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fixed clippy

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

rustfmt

* Fix error in pallet-vault

* Fix clippy warnings in dutch-auction

Co-authored-by: Seun Lanlege <seun@composable.finance>
aettran pushed a commit that referenced this pull request Jan 4, 2022
aettran pushed a commit that referenced this pull request Jan 4, 2022
aettran pushed a commit that referenced this pull request Jan 4, 2022
dzmitry-lahoda pushed a commit that referenced this pull request Jan 5, 2022
* Add `clippy::disallowed_method` lint

* Fix clippy lints

* cargo fmt

* Add clippy::indexing_slicing annotation to all crates

* Fix slicing warnings in curve-amm crate.

I wasn't able to fix all of the occurences or slicing; some functions take indexes directly. I feel like these should be using .get(n) and returning some sort of dispatch error instead of panicking, but I'm not knowledgeable enough about substrate to say for sure. All instances of this have been annoted with a `REVIEW: indexing` comment at the function level.

* Fix and/or audit indexing warninggs in oracle crate

* Fix and/or audit indexing in oracle crate

* Fix bug in add_liquidity

* Add type annotation

* Style & formatting

* Fix extra underscore in integer literal

* Add clippy::disallowed_type lint

* Change MockCurrencyId variants to be CONSTANT_CASE

* Remove uses of dbg!() macro

* rustfmt

* Upgrade parachain to polkadot-v0.9.13 (#372)

* bump to 0.9.13

* cargo fmt

* bump subxt

* cargo fmt

* up simuator to 0.9.13

Signed-off-by: Dzmitry Lahoda <dzmitry@lahoda.pro>

* bump

Co-authored-by: Dzmitry Lahoda <dzmitry@lahoda.pro>

Bump picasso chain spec (#375)

* bump spec

* cargo fmt

Composable Runtime (#364)

* composable-runtime

* initial implementation

* support multiple runtimes for subcommand

* cargo fmt

CU-1nbhuu3 - upgrade price feed to match oracle (#373)

* upgrade price feed to match oracle, simplify normalization and allow more configuration

* use latest version of clap and add new required `derive` feature

* fix main

* apply clippy suggestions

adds composable chain spec (#378)

* adds composable chain spec

* cargo fmt

* fix clap

* sigh

Check runtime ci [WIP] (#379)

* Update Makefile

* Update release

* Update

* Updating release

* Added runtime check

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* remove westend-native

Co-authored-by: Seun Lanlege <seunlanlege@gmail.com>

Add a sequence diagram to explain a work of pallet-assets-registry (#380)

Implement property test for add/remove_liquidity() and exchange().
Also fix minor bug found with proptesting.

CU-1nbj6eq - Cherry develop (#384)

* dex docs, groups for lending, api (#183)

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* smallest possible unit for currencies + refactor + lending fixes / tests more clear (#186)

* make sure we allow liquidation if the source account has zero funds after

* introduce PriceableAsset capability

* refactor lending pallet + oracle mock to use smallest unit of an asset

* fix merge conflicts, make tests more clear

* simpler priceable type & upgrade runtime currency to handle it

* simplify and better documentation

* cleanup unused constraints

* Vault-index-configurable (#200)

* make VaultId an associated type

* Unmanle doc comment

* rent implementation (#189)

* implement rent and tombstoning

* clean up claim_surcharge

Also ensure that tombstoned vaults have funds returned by strategies.

* handle deletion_reward

* add delete_tombstoned functionality

* add add_surcharge

* fmt and fix doc comment

* Use NativeCurrency associated type instead of querying for native id (#202)

* Update Vault Readme (#207)

* describe vault

* sync readme with rustdoc

* Tests documentations & refactoring (#254)

* introduce composable-helpers

* refactor vault/lending tests to use composable-helpers

* apply advices

* Vault benchmarking (#270)

* fix missing runtime paramter

* add vault benchmarking

* Update CI config

Co-authored-by: Andrey Orlov <aaorlov1@gmail.com>

* CU-1kjehh6 - avoid less than expected bonus by using safe maths (#289)

* CU-1kr011f - merge allocations in StrategyOverview (#290)

Both Allocations and CapitaalStructure storage map were tied.
Which mean you couldn't have an allocation without having a StrategyOverview.
This was wrong for the case of the reserve, as the vault itself has an
allocation (the reserve) but no StrategyOverview.

Because of that, one could trigger a panic by asking for `available_funds` using
the vault id.
We fix this issue by merging the allocation inside the StrategyOverview.

* fix benchmarking

* feature gate vault benchmark

* apply udeps suggestions

* update cargo.lock

Co-authored-by: Andrey Orlov <aaorlov1@gmail.com>

Update ansible picasso (#396)

Resolve conflicting `Cargo.lock` dependencies (#390)

Resolve conflicting `Cargo.lock` dependencies (#390)

Update ansible picasso (#399)

* Update ansible

Update GitHub ansible workflow (#407)

Update GitHub ansible workflow (#408)

CU-1wef6he - add enable/disable hook to call-filter and extract behavior to (#398)

composable-traits

We were previously using a map `Entry -> Option<()>` but a StorageMap `Entry -> ()`
is enough as it uses `OptionQuery` by default.

I added a way to hook into enable/disable call of the filter pallet to make it
more flexible. If we want to block a pallet from being disabled, it can now be
done at the Runtime declaration.

Architecture.md (#405)

* CU-1nbetfw - move `price-feed` in `utils`

* CU-1nbetfw - add `ARCHITECTURE.md` describind the repository architecture

Add `clippy::disallowed_method` lint

parent 62f6e5b
author Hussein Ait-Lahcen <hussein.aitlahcen@gmail.com> 1640264806 +0100
committer Ben Luelo <benluelo@hotmail.com> 1641229158 -0500
gpgsig -----BEGIN PGP SIGNATURE-----

 iQGzBAABCgAdFiEEvcJAWzQ+hHD6e6hZKDJl/2mUhmAFAmHTK2YACgkQKDJl/2mU
 hmAZUgv/YlQbIMXV8utYIgxSDSTAGtW4Ruo5bXSQzDQJWKL8AMk04WJs/A2YgsV4
 v7COvbFaTEKM0BrfAbSd8RhGUI2xQmTtvzr3M7dXhTPh6UIRK1O2QU62XBwFlRiG
 m40HoP+FHnhdMeO49jiD+6JiJQZJ4YysLw3TpF4NMCLLAE+OEVUkTHkbovrawfte
 zPrw2suOz4PIhajPKlThPsyec7GfnLTRZFZcsjovSerI+BYUBIroCWtoLP3Hw873
 nCdve/HigNfwyeFVVw61coa8csqzN8CA2qzg2AFAHfsvNBil8baFJMywm+6vfV7s
 qnN+XK/GgrYZew5V00vNhKmW8h7/K0Gdyeuri/LelokXNE/PGiRrODl+066F/qCN
 U6urzh2nny1lTsbIoVMnOryk5yj3ekFd8Nsy/SmFtaGFjRvErdtZ0Qzd3zENVxie
 YCb4Msgce3UgZbQ8wLo3RaQKg+32i562ewDyWtnATG+CY+jCWeRlAqHYakTKzRrn
 91xqAEMi
 =4XKn
 -----END PGP SIGNATURE-----

CU-1kr4tya - Crowdloan rewards benchmarking (#412)

* CU-1kr4tya - crowdloan rewards benchmarking

* fix main benchmarking

* add crowdloan-rewards to runtime and generated benchmark weights

* update cargo lock

* refactor crowdloan rewards test to use 1:1 benchmarking types

* fix populate weight calculation

* make sure to remove rewards prior to populate

* use runtime prefix in benchmarking

* unused dependency

Run benchmark for develop and fix `cargo vendor` (#419)

CU-1wtx9fb Implement Constant Product AMM.

Democracy (#389)

* CU-1rpbzkw - democracy pallet

Fixed missing test cases and related dependencies

Added missing test cases

Fixed format errors and docs

Fixing docs

 CU-1rpbzkw | Fixed failing test case

CU-1rpbzkw | handle transfer_held() result

CU-1rpbzkw | added few more multi currency tests

CU-1rpbzkw | fixing fmt

Changes & fixes for benchmarking

Linting fixes

* Democracy

Co-authored-by: kaiserkarel <k.l.kubat@gmail.com>

split out dali runtime from picasso (#421)

* split out dali runtime from picasso

* cargo fm

* fix runtimes

* cargo fmt

[BondedFinance] Add benchmarks (#377)

Add email (#431)

Add rust-toolchain.toml (#435)

* Add rust-toolchain.toml
* Remove ConvertInto import

Fix clippy lints

cargo fmt

Add clippy::indexing_slicing annotation to all crates

Fix slicing warnings in curve-amm crate.

I wasn't able to fix all of the occurences or slicing; some functions take indexes directly. I feel like these should be using .get(n) and returning some sort of dispatch error instead of panicking, but I'm not knowledgeable enough about substrate to say for sure. All instances of this have been annoted with a `REVIEW: indexing` comment at the function level.

Fix and/or audit indexing warninggs in oracle crate

Fix and/or audit indexing in oracle crate

Fix bug in add_liquidity

Add type annotation

Style & formatting

Fix extra underscore in integer literal

Add clippy::disallowed_type lint

Change MockCurrencyId variants to be CONSTANT_CASE

Remove uses of dbg!() macro

rustfmt

CU-1p8545r  dutch auction (#410)

* dutch auction

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fixed tests

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fixed clippy

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fixed review comments

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* adding tests and fixing bugs

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* refactoring

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fix fmt

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fixed udeps

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fixed clippy

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

Squash

audit use of ValueQuery

audit usage of ValueQuery

audit ValueQuery in vault

audit usage of unwrap and ValueQuery in transaction-fee

Audit clippy warnings in curve-amm pallet

indexing and slicing warning have been suppressed for now; A larger refactor will be required to remove the indexing that remains.

Audit use of ValueQuery in dutch-auction

Fix compilation error in test_interest_rate_model_default

Audit/ fix clippy warnings in assets-registry and dutch-auction

Fix or temporarilly suppress various clippy warnings

rustfmt

Signed-off-by: Ben Luelo <benluelo@hotmail.com>

Audit clippy warnings in curve-amm pallet

indexing and slicing warning have been suppressed for now; A larger refactor will be required to remove the indexing that remains.

Fix compilation error in test_interest_rate_model_default

Audit/ fix clippy warnings in assets-registry and dutch-auction

Fix or temporarilly suppress various clippy warnings

rustfmt

Signed-off-by: Ben Luelo <benluelo@hotmail.com>

rustfmt

Signed-off-by: Ben Luelo <benluelo@hotmail.com>

CU-1kr4tya - Crowdloan rewards benchmarking (#412)

* CU-1kr4tya - crowdloan rewards benchmarking

* fix main benchmarking

* add crowdloan-rewards to runtime and generated benchmark weights

* update cargo lock

* refactor crowdloan rewards test to use 1:1 benchmarking types

* fix populate weight calculation

* make sure to remove rewards prior to populate

* use runtime prefix in benchmarking

* unused dependency

Run benchmark for develop and fix `cargo vendor` (#419)

Democracy (#389)

* CU-1rpbzkw - democracy pallet

Fixed missing test cases and related dependencies

Added missing test cases

Fixed format errors and docs

Fixing docs

 CU-1rpbzkw | Fixed failing test case

CU-1rpbzkw | handle transfer_held() result

CU-1rpbzkw | added few more multi currency tests

CU-1rpbzkw | fixing fmt

Changes & fixes for benchmarking

Linting fixes

* Democracy

Co-authored-by: kaiserkarel <k.l.kubat@gmail.com>

split out dali runtime from picasso (#421)

* split out dali runtime from picasso

* cargo fm

* fix runtimes

* cargo fmt

[BondedFinance] Add benchmarks (#377)

Add email (#431)

Add rust-toolchain.toml (#435)

* Add rust-toolchain.toml
* Remove ConvertInto import

Fix clippy lints

cargo fmt

Add clippy::indexing_slicing annotation to all crates

Fix slicing warnings in curve-amm crate.

I wasn't able to fix all of the occurences or slicing; some functions take indexes directly. I feel like these should be using .get(n) and returning some sort of dispatch error instead of panicking, but I'm not knowledgeable enough about substrate to say for sure. All instances of this have been annoted with a `REVIEW: indexing` comment at the function level.

Fix and/or audit indexing warninggs in oracle crate

Fix bug in add_liquidity

Style & formatting

Add clippy::disallowed_type lint

Change MockCurrencyId variants to be CONSTANT_CASE

Remove uses of dbg!() macro

rustfmt

CU-1p8545r  dutch auction (#410)

* dutch auction

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fixed tests

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fixed clippy

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fixed review comments

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* adding tests and fixing bugs

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* refactoring

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fix fmt

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fixed udeps

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fixed clippy

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

rustfmt

* Fix error in pallet-vault

* Fix clippy warnings in dutch-auction

Co-authored-by: Seun Lanlege <seun@composable.finance>
Signed-off-by: Dzmitry Lahoda <dzmitry@lahoda.pro>
dzmitry-lahoda pushed a commit that referenced this pull request Jan 5, 2022
* Add `clippy::disallowed_method` lint

* Fix clippy lints

* cargo fmt

* Add clippy::indexing_slicing annotation to all crates

* Fix slicing warnings in curve-amm crate.

I wasn't able to fix all of the occurences or slicing; some functions take indexes directly. I feel like these should be using .get(n) and returning some sort of dispatch error instead of panicking, but I'm not knowledgeable enough about substrate to say for sure. All instances of this have been annoted with a `REVIEW: indexing` comment at the function level.

* Fix and/or audit indexing warninggs in oracle crate

* Fix and/or audit indexing in oracle crate

* Fix bug in add_liquidity

* Add type annotation

* Style & formatting

* Fix extra underscore in integer literal

* Add clippy::disallowed_type lint

* Change MockCurrencyId variants to be CONSTANT_CASE

* Remove uses of dbg!() macro

* rustfmt

* Upgrade parachain to polkadot-v0.9.13 (#372)

* bump to 0.9.13

* cargo fmt

* bump subxt

* cargo fmt

* up simuator to 0.9.13

Signed-off-by: Dzmitry Lahoda <dzmitry@lahoda.pro>

* bump

Co-authored-by: Dzmitry Lahoda <dzmitry@lahoda.pro>

Bump picasso chain spec (#375)

* bump spec

* cargo fmt

Composable Runtime (#364)

* composable-runtime

* initial implementation

* support multiple runtimes for subcommand

* cargo fmt

CU-1nbhuu3 - upgrade price feed to match oracle (#373)

* upgrade price feed to match oracle, simplify normalization and allow more configuration

* use latest version of clap and add new required `derive` feature

* fix main

* apply clippy suggestions

adds composable chain spec (#378)

* adds composable chain spec

* cargo fmt

* fix clap

* sigh

Check runtime ci [WIP] (#379)

* Update Makefile

* Update release

* Update

* Updating release

* Added runtime check

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* Testing runtime checki ci for chachacha branch

* remove westend-native

Co-authored-by: Seun Lanlege <seunlanlege@gmail.com>

Add a sequence diagram to explain a work of pallet-assets-registry (#380)

Implement property test for add/remove_liquidity() and exchange().
Also fix minor bug found with proptesting.

CU-1nbj6eq - Cherry develop (#384)

* dex docs, groups for lending, api (#183)

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* smallest possible unit for currencies + refactor + lending fixes / tests more clear (#186)

* make sure we allow liquidation if the source account has zero funds after

* introduce PriceableAsset capability

* refactor lending pallet + oracle mock to use smallest unit of an asset

* fix merge conflicts, make tests more clear

* simpler priceable type & upgrade runtime currency to handle it

* simplify and better documentation

* cleanup unused constraints

* Vault-index-configurable (#200)

* make VaultId an associated type

* Unmanle doc comment

* rent implementation (#189)

* implement rent and tombstoning

* clean up claim_surcharge

Also ensure that tombstoned vaults have funds returned by strategies.

* handle deletion_reward

* add delete_tombstoned functionality

* add add_surcharge

* fmt and fix doc comment

* Use NativeCurrency associated type instead of querying for native id (#202)

* Update Vault Readme (#207)

* describe vault

* sync readme with rustdoc

* Tests documentations & refactoring (#254)

* introduce composable-helpers

* refactor vault/lending tests to use composable-helpers

* apply advices

* Vault benchmarking (#270)

* fix missing runtime paramter

* add vault benchmarking

* Update CI config

Co-authored-by: Andrey Orlov <aaorlov1@gmail.com>

* CU-1kjehh6 - avoid less than expected bonus by using safe maths (#289)

* CU-1kr011f - merge allocations in StrategyOverview (#290)

Both Allocations and CapitaalStructure storage map were tied.
Which mean you couldn't have an allocation without having a StrategyOverview.
This was wrong for the case of the reserve, as the vault itself has an
allocation (the reserve) but no StrategyOverview.

Because of that, one could trigger a panic by asking for `available_funds` using
the vault id.
We fix this issue by merging the allocation inside the StrategyOverview.

* fix benchmarking

* feature gate vault benchmark

* apply udeps suggestions

* update cargo.lock

Co-authored-by: Andrey Orlov <aaorlov1@gmail.com>

Update ansible picasso (#396)

Resolve conflicting `Cargo.lock` dependencies (#390)

Resolve conflicting `Cargo.lock` dependencies (#390)

Update ansible picasso (#399)

* Update ansible

Update GitHub ansible workflow (#407)

Update GitHub ansible workflow (#408)

CU-1wef6he - add enable/disable hook to call-filter and extract behavior to (#398)

composable-traits

We were previously using a map `Entry -> Option<()>` but a StorageMap `Entry -> ()`
is enough as it uses `OptionQuery` by default.

I added a way to hook into enable/disable call of the filter pallet to make it
more flexible. If we want to block a pallet from being disabled, it can now be
done at the Runtime declaration.

Architecture.md (#405)

* CU-1nbetfw - move `price-feed` in `utils`

* CU-1nbetfw - add `ARCHITECTURE.md` describind the repository architecture

Add `clippy::disallowed_method` lint

parent 62f6e5b
author Hussein Ait-Lahcen <hussein.aitlahcen@gmail.com> 1640264806 +0100
committer Ben Luelo <benluelo@hotmail.com> 1641229158 -0500
gpgsig -----BEGIN PGP SIGNATURE-----

 iQGzBAABCgAdFiEEvcJAWzQ+hHD6e6hZKDJl/2mUhmAFAmHTK2YACgkQKDJl/2mU
 hmAZUgv/YlQbIMXV8utYIgxSDSTAGtW4Ruo5bXSQzDQJWKL8AMk04WJs/A2YgsV4
 v7COvbFaTEKM0BrfAbSd8RhGUI2xQmTtvzr3M7dXhTPh6UIRK1O2QU62XBwFlRiG
 m40HoP+FHnhdMeO49jiD+6JiJQZJ4YysLw3TpF4NMCLLAE+OEVUkTHkbovrawfte
 zPrw2suOz4PIhajPKlThPsyec7GfnLTRZFZcsjovSerI+BYUBIroCWtoLP3Hw873
 nCdve/HigNfwyeFVVw61coa8csqzN8CA2qzg2AFAHfsvNBil8baFJMywm+6vfV7s
 qnN+XK/GgrYZew5V00vNhKmW8h7/K0Gdyeuri/LelokXNE/PGiRrODl+066F/qCN
 U6urzh2nny1lTsbIoVMnOryk5yj3ekFd8Nsy/SmFtaGFjRvErdtZ0Qzd3zENVxie
 YCb4Msgce3UgZbQ8wLo3RaQKg+32i562ewDyWtnATG+CY+jCWeRlAqHYakTKzRrn
 91xqAEMi
 =4XKn
 -----END PGP SIGNATURE-----

CU-1kr4tya - Crowdloan rewards benchmarking (#412)

* CU-1kr4tya - crowdloan rewards benchmarking

* fix main benchmarking

* add crowdloan-rewards to runtime and generated benchmark weights

* update cargo lock

* refactor crowdloan rewards test to use 1:1 benchmarking types

* fix populate weight calculation

* make sure to remove rewards prior to populate

* use runtime prefix in benchmarking

* unused dependency

Run benchmark for develop and fix `cargo vendor` (#419)

CU-1wtx9fb Implement Constant Product AMM.

Democracy (#389)

* CU-1rpbzkw - democracy pallet

Fixed missing test cases and related dependencies

Added missing test cases

Fixed format errors and docs

Fixing docs

 CU-1rpbzkw | Fixed failing test case

CU-1rpbzkw | handle transfer_held() result

CU-1rpbzkw | added few more multi currency tests

CU-1rpbzkw | fixing fmt

Changes & fixes for benchmarking

Linting fixes

* Democracy

Co-authored-by: kaiserkarel <k.l.kubat@gmail.com>

split out dali runtime from picasso (#421)

* split out dali runtime from picasso

* cargo fm

* fix runtimes

* cargo fmt

[BondedFinance] Add benchmarks (#377)

Add email (#431)

Add rust-toolchain.toml (#435)

* Add rust-toolchain.toml
* Remove ConvertInto import

Fix clippy lints

cargo fmt

Add clippy::indexing_slicing annotation to all crates

Fix slicing warnings in curve-amm crate.

I wasn't able to fix all of the occurences or slicing; some functions take indexes directly. I feel like these should be using .get(n) and returning some sort of dispatch error instead of panicking, but I'm not knowledgeable enough about substrate to say for sure. All instances of this have been annoted with a `REVIEW: indexing` comment at the function level.

Fix and/or audit indexing warninggs in oracle crate

Fix and/or audit indexing in oracle crate

Fix bug in add_liquidity

Add type annotation

Style & formatting

Fix extra underscore in integer literal

Add clippy::disallowed_type lint

Change MockCurrencyId variants to be CONSTANT_CASE

Remove uses of dbg!() macro

rustfmt

CU-1p8545r  dutch auction (#410)

* dutch auction

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fixed tests

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fixed clippy

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fixed review comments

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* adding tests and fixing bugs

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* refactoring

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fix fmt

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fixed udeps

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fixed clippy

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

Squash

audit use of ValueQuery

audit usage of ValueQuery

audit ValueQuery in vault

audit usage of unwrap and ValueQuery in transaction-fee

Audit clippy warnings in curve-amm pallet

indexing and slicing warning have been suppressed for now; A larger refactor will be required to remove the indexing that remains.

Audit use of ValueQuery in dutch-auction

Fix compilation error in test_interest_rate_model_default

Audit/ fix clippy warnings in assets-registry and dutch-auction

Fix or temporarilly suppress various clippy warnings

rustfmt

Signed-off-by: Ben Luelo <benluelo@hotmail.com>

Audit clippy warnings in curve-amm pallet

indexing and slicing warning have been suppressed for now; A larger refactor will be required to remove the indexing that remains.

Fix compilation error in test_interest_rate_model_default

Audit/ fix clippy warnings in assets-registry and dutch-auction

Fix or temporarilly suppress various clippy warnings

rustfmt

Signed-off-by: Ben Luelo <benluelo@hotmail.com>

rustfmt

Signed-off-by: Ben Luelo <benluelo@hotmail.com>

CU-1kr4tya - Crowdloan rewards benchmarking (#412)

* CU-1kr4tya - crowdloan rewards benchmarking

* fix main benchmarking

* add crowdloan-rewards to runtime and generated benchmark weights

* update cargo lock

* refactor crowdloan rewards test to use 1:1 benchmarking types

* fix populate weight calculation

* make sure to remove rewards prior to populate

* use runtime prefix in benchmarking

* unused dependency

Run benchmark for develop and fix `cargo vendor` (#419)

Democracy (#389)

* CU-1rpbzkw - democracy pallet

Fixed missing test cases and related dependencies

Added missing test cases

Fixed format errors and docs

Fixing docs

 CU-1rpbzkw | Fixed failing test case

CU-1rpbzkw | handle transfer_held() result

CU-1rpbzkw | added few more multi currency tests

CU-1rpbzkw | fixing fmt

Changes & fixes for benchmarking

Linting fixes

* Democracy

Co-authored-by: kaiserkarel <k.l.kubat@gmail.com>

split out dali runtime from picasso (#421)

* split out dali runtime from picasso

* cargo fm

* fix runtimes

* cargo fmt

[BondedFinance] Add benchmarks (#377)

Add email (#431)

Add rust-toolchain.toml (#435)

* Add rust-toolchain.toml
* Remove ConvertInto import

Fix clippy lints

cargo fmt

Add clippy::indexing_slicing annotation to all crates

Fix slicing warnings in curve-amm crate.

I wasn't able to fix all of the occurences or slicing; some functions take indexes directly. I feel like these should be using .get(n) and returning some sort of dispatch error instead of panicking, but I'm not knowledgeable enough about substrate to say for sure. All instances of this have been annoted with a `REVIEW: indexing` comment at the function level.

Fix and/or audit indexing warninggs in oracle crate

Fix bug in add_liquidity

Style & formatting

Add clippy::disallowed_type lint

Change MockCurrencyId variants to be CONSTANT_CASE

Remove uses of dbg!() macro

rustfmt

CU-1p8545r  dutch auction (#410)

* dutch auction

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fixed tests

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fixed clippy

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fixed review comments

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* adding tests and fixing bugs

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* refactoring

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fix fmt

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fixed udeps

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

* fixed clippy

Signed-off-by: dzmitry-lahoda <dzmitry@lahoda.pro>

rustfmt

* Fix error in pallet-vault

* Fix clippy warnings in dutch-auction

Co-authored-by: Seun Lanlege <seun@composable.finance>
Signed-off-by: Dzmitry Lahoda <dzmitry@lahoda.pro>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants