Malte Kliemann
Malte Kliemann
It's generally discouraged to "stack" `#[transactional]` usage. In some non-entry-points (like in the implementation of the `Swaps` API), we still use `#[transactional]`. We should review if and where this is...
We should write tests that verify that if a transaction fails due to insufficient funds, etc., it is no-op. This is especially important for those extrinsics that are not marked...
Many of the `ensure_*` functions in `prediction-markets` take a single object, or are clearly "centered" around one primitive object. Turn these functions into methods of that object.
Currently, `end_subsidy_phase` contains the logic for successfully moving a Rikiddo market from `CollectingSubsidy` to `Active`, but the logic for cleaning up after insufficient subsidy is contained in `prediction-markets`.
This is to prevent people from clogging up chain space. Related to zeitgeistpm/runtime-audit-2#11.
The (CPMM) pool account should auto-redeem its tokens after resolution. This means that LPs don't have to do an extra redeem after withdrawing their funds from the pool. See also...
Currently, we use the terms _pool shares_ and _pool tokens_. We should decide on one of these.
Already mentioned in #485. I don't see the use case. Let's monitor the usage of these functions on the main- and testnet and if it turns out that these functions...
Currently, `Pool` is defined as follows: ```rust #[derive(TypeInfo, Clone, Encode, Eq, Decode, PartialEq, RuntimeDebug)] pub struct Pool where MarketId: MaxEncodedLen, { pub assets: Vec, pub base_asset: Option, pub market_id: MarketId,...
To guarantee that certain security-critical invariants are maintained, we should add tests that fuzz our pallets and check if certain invariants remain intact (for example, the total weight of a...