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

Rc/0.31.0 #614

Merged
merged 215 commits into from
Oct 11, 2023

Resolving issues with main. Accpting develop.

8a69ccb
Select commit
Loading
Failed to load commit list.
Sign in for the full log view
Merged

Rc/0.31.0 #614

Resolving issues with main. Accpting develop.
8a69ccb
Select commit
Loading
Failed to load commit list.
GitHub Actions / E2E report yarn test-parallel --max-workers=10 succeeded Oct 5, 2023 in 1s

E2E report yarn test-parallel --max-workers=10 ✔️

Tests passed successfully

✔️ e2eTests/reports/junit-ac0f9d50-63bc-11ee-879f-bdf21eb41b98.xml

205 tests were completed in 2307s with 198 passed, 0 failed and 7 skipped.

Test suite Passed Failed Skipped Time
test/fees/api.tx.fees.test.ts 3✔️ 143s
test/parallel/assetRegistry.getTradeable.rpc.test.ts 7✔️ 71s
test/parallel/feeLock.API.feePayment.parallel.test.ts 5✔️ 851s
test/parallel/feeLock.API.rpcValueThresholds.test.ts 2✔️ 264s
test/parallel/feeLock.API.swapValueThresholds.test.ts 3✔️ 660s
test/parallel/feeLock.API.unlocking.test.ts 5✔️ 974s
test/parallel/feelock.autounlock.test.ts 1✔️ 282s
test/parallel/identity-pallet.API.mainUseCases.test.ts 3✔️ 215s
test/parallel/sdk.API.rpc.test.ts 3✔️ 107s
test/parallel/tips.swapOperations.test.ts 6✔️ 72s
test/parallel/xyk-pallet.API.accuracy.no.connected.MGA.fees.test.ts 1✔️ 191s
test/parallel/xyk-pallet.API.accuracy.tx.fees.test.ts 2✔️ 323s
test/parallel/xyk-pallet.API.burnLiquidity.error.test.ts 3✔️ 731s
test/parallel/xyk-pallet.API.burnLiquidity.test.ts 3✔️ 743s
test/parallel/xyk-pallet.API.buyAsset.test.ts 6✔️ 1010s
test/parallel/xyk-pallet.API.fees.tripleTokens.test.ts 7✔️ 1✖️ 866s
test/parallel/xyk-pallet.API.mintLiquidity.error.test.ts 5✔️ 986s
test/parallel/xyk-pallet.API.mintLiquidity.test.ts 2✔️ 360s
test/parallel/xyk-pallet.API.overflow.test.ts 4✔️ 6✖️ 650s
test/parallel/xyk-pallet.API.payment-info.test.ts 6✔️ 71s
test/parallel/xyk-pallet.API.pool.test.ts 9✔️ 950s
test/parallel/xyk-pallet.API.poolVestedToken.test.ts 4✔️ 962s
test/parallel/xyk-pallet.API.provideLiquidity.test.ts 4✔️ 564s
test/parallel/xyk-pallet.API.sellAsset.test.ts 5✔️ 866s
test/parallel/xyk-pallet.API.testMGArequired.test.ts 4✔️ 659s
test/parallel/xyk-pallet.API.treasury.no.connected.mangata.test.ts 4✔️ 731s
test/parallel/xyk-pallet.asset.buy.test.ts 2✔️ 407s
test/parallel/xyk-pallet.asset.register.test.ts 10✔️ 1031s
test/parallel/xyk-pallet.asset.sell.test.ts 2✔️ 407s
test/parallel/xyk-pallet.asset.transfer.test.ts 2✔️ 300s
test/parallel/xyk-pallet.liquidity.test.ts 3✔️ 434s
test/parallel/xyk-pallet.MPL.test.ts 4✔️ 722s
test/parallel/xyk-pallet.MPL.vesting.native.test.ts 3✔️ 215s
test/parallel/xyk-pallet.MPL.vesting.test.ts 2✔️ 395s
test/parallel/xyk-pallet.pool.test.ts 2✔️ 287s
test/parallel/xyk-pallet.sudo.security.test.ts 4✔️ 179s
test/parallel/xyk-pallet.sudo.test.ts 2✔️ 107s
test/parallel/xyk-rpc.calculate.burnAmount.test.ts 7✔️ 335s
test/parallel/xyk-rpc.calculate.by.id.test.ts 15✔️ 216s
test/parallel/xyk-rpc.calculate.test.ts 4✔️ 228s
test/parallel/xyk-rpc.errors.test.ts 19✔️ 71s
test/staking/candidates.staking.test.ts 4✔️ 479s
test/staking/candidates2.staking.test.ts 1✔️ 251s
test/staking/sudo.staking.test.ts 4✔️ 179s
test/story/story.LP.test.ts 1✔️ 396s

✔️ test/fees/api.tx.fees.test.ts

✔️ Fees : Transfers are about 5~ MGX
✔️ Fees : Transfers are about 0.005~ KSM
✔️ Fees : Transfers are about 0.5~ TUR

✔️ test/parallel/assetRegistry.getTradeable.rpc.test.ts

AssetRegistry RPC -
  ✔️ GIVEN a token that does not exist on the asset registry THEN it won't be returned in RPC
  ✔️ GIVEN a token that does exist on the asset registry AND name is empty and symbol is empty and operation disabled is not set THEN it won't be returned in RPC
  ✔️ GIVEN a token that does exist on the asset registry AND name is not empty and symbol is empty and operation disabled is not set THEN it won't be returned in RPC
  ✔️ GIVEN a token that does exist on the asset registry AND name is not empty and symbol is not empty and operation disabled is not set THEN its returned in RPC
  ✔️ GIVEN a token that does exist on the asset registry AND name is not empty and symbol is not empty and operation disabled is false THEN its returned in RPC
  ✔️ GIVEN a token that does exist on the asset registry AND name is not empty and symbol is not empty and operation disabled is true THEN its not returned in RPC
  ✔️ GIVEN a token that belongs to a pool WHEN pool is not disabled THEN the token is not filtered

✔️ test/parallel/feeLock.API.feePayment.parallel.test.ts

✔️ gasless- GIVEN a feeLock configured WHEN a swap happens THEN fees are not charged but locked instead
✔️ gasless- GIVEN a correct config for gasless swaps WHEN the user runs unlock-fee THEN fees are not charged for token unlockFee
✔️ gasless- High-value swaps are rejected from the txn pool if they would fail before the percentage fee is charged
✔️ gasless- For low-value swaps, token reservation status and pallet storage are altered in accordance with the timeout mechanism
✔️ gasless- High-value swaps when successful are not charged txn fee or token locked, but the percentage fee is charged

✔️ test/parallel/feeLock.API.rpcValueThresholds.test.ts

✔️ gasless- isFree depends on the token and the sell valuation
✔️ gasless- isFree works same as multiswap of two

✔️ test/parallel/feeLock.API.swapValueThresholds.test.ts

✔️ gasless- Given a feeLock correctly configured WHEN the user swaps two tokens defined in the thresholds AND swapValue > threshold THEN the extrinsic is correctly submitted AND No locks AND no fees
✔️ gasless- Given a feeLock correctly configured WHEN the user swaps two tokens defined in the thresholds AND the user has enough MGAs AND swapValue < threshold THEN some MGAs will be locked
✔️ gasless- Given a feeLock correctly configured WHEN the user swaps two tokens that are not defined in the thresholds AND the user has not enough MGAs AND swapValue > threshold THEN the extrinsic can not be submited

✔️ test/parallel/feeLock.API.unlocking.test.ts

✔️ gasless- GIVEN some locked tokens and no more free MGX WHEN another tx is submitted AND lock period did not finished THEN the operation can not be submitted
✔️ gasless- GIVEN some locked tokens and no more free MGX WHEN another tx is submitted AND lock period finished THEN the operation can be submitted ( unlock before locking )
✔️ gasless- GIVEN some locked tokens WHEN querying accountFeeLockData THEN the amount matches with locked tokens AND lastFeeLockBlock matches with the block when tokens were locked
✔️ gasless- GIVEN some locked tokens and lastFeeLockBlock is lower than current block WHEN release feeLock is requested THEN the tokens are unlocked
✔️ gasless- GIVEN a lock WHEN the period is N THEN the tokens can not be unlocked before that period

✔️ test/parallel/feelock.autounlock.test.ts

✔️ [gasless] Happy path: automatic-unlock

✔️ test/parallel/identity-pallet.API.mainUseCases.test.ts

Identity pallet tests: Main use cases
  ✔️ Check setter & getters for identity pallet and reserves 5k mgas
  ✔️ Check that a user can unset the name with identity pallet and tokens are unreserved
  ✔️ Check that a user can sub one address

✔️ test/parallel/sdk.API.rpc.test.ts

SDK tests for rpc functions
  ✔️ Calculate Sell / buy / id
  ✔️ Get Burn amount , maxInstant burn amount
  ✔️ Calculate balanced sell amount

✔️ test/parallel/tips.swapOperations.test.ts

Tips - Tips are not allowed for swaps
  ✔️ multiswapSellAsset tips operations are forbidden
  ✔️ multiswapBuyAsset tips operations are forbidden
  ✔️ sellAsset tips operations are forbidden
  ✔️ buyAsset tips operations are forbidden
  ✔️ transfer tips operations are allowed
  ✔️ mint tips operations are allowed

✔️ test/parallel/xyk-pallet.API.accuracy.no.connected.MGA.fees.test.ts

✔️ xyk-pallet - Assets substracted are incremented by 1 - SellAsset

✔️ test/parallel/xyk-pallet.API.accuracy.tx.fees.test.ts

✔️ xyk-pallet - Calculate required MGA fee - CreatePool
✔️ xyk-pallet - Calculate required MGA fee - BuyAsset

✔️ test/parallel/xyk-pallet.API.burnLiquidity.error.test.ts

xyk-pallet - Burn liquidity tests: BurnLiquidity Errors:
  ✔️ Burn liquidity assets that does not belong to any pool
  ✔️ Burn liquidity  for more assets than the liquidity pool has issued
  ✔️ Burn someone else liquidities

✔️ test/parallel/xyk-pallet.API.burnLiquidity.test.ts

xyk-pallet - Burn liquidity tests: when burning liquidity you can
  ✔️ Get affected after a transaction that devaluates X wallet & pool states with [0,0]
  ✔️ Burning liquidities provides Burn and settle
  ✔️ Burning liquidities generates a Liquidity burned event

✔️ test/parallel/xyk-pallet.API.buyAsset.test.ts

xyk-pallet - Buy assets tests: BuyAssets Errors:
  ✔️ Buy assets that does not belong to any pool
  ✔️ Buy more assets than exists in the pool
  ✔️ Buy all assets from the the pool
  ✔️ Buy assets with a high expectation: maxInput -1
xyk-pallet - Buy assets tests: Buying assets you can
  ✔️ Leave only one asset in the pool
  ✔️ Buy from a wallet I own into a wallet I do not own

✔️ test/parallel/xyk-pallet.API.fees.tripleTokens.test.ts

✔️ xyk-pallet - Check required fee - User with MGX only
✔️ xyk-pallet - Check required fee - User with KSM only
✔️ xyk-pallet - Check required fee - User with TUR only
✔️ xyk-pallet - Check required fee - User with some MGA, very few KSM and very few TUR
✔️ xyk-pallet - Check required fee - User with very few MGA, some KSM and very few TUR
✔️ xyk-pallet - Check required fee - User with very few MGA, very few KSM and some TUR
✔️ xyk-pallet - Check required fee - User with very few  MGA, very few KSM and very few TUR, operation fails
✖️ BUG under discussion:xyk-pallet - when minting all MGX should pay fees with ksm ?- Check required fee - User with very few MGA, some KSM and very few TUR

✔️ test/parallel/xyk-pallet.API.mintLiquidity.error.test.ts

xyk-pallet - Mint liquidity tests: MintLiquidity Errors:
  ✔️ Mint liquidity when not enough assetY for minting Xamount
  ✔️ Mint liquidity when not enough assetX for minting Yamount
  ✔️ Mint liquidity assets that does not belong to any pool
  ✔️ Mint liquidity more assets than I own
  ✔️ Min liquidity, SecondAssetAmount parameter expectation not met

✔️ test/parallel/xyk-pallet.API.mintLiquidity.test.ts

xyk-pallet - Mint liquidity tests: with minting you can
  ✔️ Add all the wallet assets to the pool
  ✔️ Expect an event when liquidity is minted

✔️ test/parallel/xyk-pallet.API.overflow.test.ts

xyk-pallet - Check operations are not executed because of overflow in asset token
  ✔️ Create pool of [MAX,MAX]: OverFlow [a+b] - liquidityAsset calculation
  ✔️ Minting Max+1 tokens operation fails
  ✖️ Transfer [MAX] assets to other user when that user has 1 asset. Max+1 => overflow.
xyk-pallet - Operate with a pool close to overflow
  ✔️ Sell [MAX -2] assets to a wallet with Max-1000,1000 => overflow.
  ✔️ Buy [100] assets to a wallet with Max-1000,1000 => overflow.
  ✖️ Mint liquidities [1000] assets to a wallet with Max-1000,1000 => overflow.
  ✖️ [BUG] Burn liquidities [MAX -1] assets to a wallet wich is full => overflow. NOT  a bug https://trello.com/c/J3fzuwH5
xyk-pallet - Operate with a user account close to overflow
  ✖️ Sell a few assets to a wallet that is full => overflow. NOT A BUG: https://trello.com/c/J3fzuwH5
  ✖️ Buy a few assets to a wallet that is full  => overflow. NOT A BUG: https://trello.com/c/J3fzuwH5
xyk-pallet - Operate with a highly unbalanced pool [mg - newAsset]
  ✖️ [BUG] Buy a few assets to a wallet linked to MGA  => overflow.

✔️ test/parallel/xyk-pallet.API.payment-info.test.ts

✔️ GIVEN a paymentInfo request, WHEN extrinsic is sellAsset  THEN zero is returned.
✔️ GIVEN a paymentInfo request, WHEN extrinsic is multiswapBuyAsset THEN  zero is returned
✔️ GIVEN a paymentInfo request, WHEN extrinsic is mintLiquidityEvent THEN non-zero is returned
✔️ GIVEN a paymentInfo request, WHEN extrinsic is compoundRewards THEN non-zero is returned
✔️ GIVEN a paymentInfo request, WHEN extrinsic is provideLiquidityWithId THEN non-zero is returned
✔️ GIVEN a paymentInfo request, WHEN extrinsic is a batch with a sell/buy operation THEN non-zero is returned AND the extrinsic will fail because sell/buy are forbidden in batches tx

✔️ test/parallel/xyk-pallet.API.pool.test.ts

xyk-pallet - Poll creation: Errors:
  ✔️ Create x-y and y-x pool
  ✔️ Create pool with zero
  ✔️ Not enough assets
xyk-pallet - Pool tests: a pool can:
  ✔️ be minted
  ✔️ be burn
xyk-pallet - Pool opeations: Simmetry
  ✔️ GetBalance x-y and y-x pool
  ✔️ Minting x-y and y-x pool
  ✔️ Burning x-y and y-x pool
  ✔️ GetLiquidityAssetID x-y and y-x pool

✔️ test/parallel/xyk-pallet.API.poolVestedToken.test.ts

xyk-pallet - Vested token tests: which action you can do with vesting token
  ✔️ xyk-pallet- check that vested liqidity tokens can not be used for burning or transfering
  ✔️ xyk-pallet- check that unlocking tokens are free to use when the relock time is done
  ✔️ xyk-pallet- check that all unlocking vesting tokens can be burned
  ✔️ xyk-pallet- check that if pool not promoted then the extrinsic failed

✔️ test/parallel/xyk-pallet.API.provideLiquidity.test.ts

✔️ Function provideLiquidityWithConversion does not work with non-mga paired token
✔️ A user without any liq token, can use provideLiquidityWithConversion to mint some tokens.
✔️ A user without any liq token, can use provideLiquidityWithConversion to mint some tokens on a promoted pool.
✔️ A user who uses provideLiquidityWithConversion and other who do manually a swap + mint, gets the similar ratio of liquidity tokens.

✔️ test/parallel/xyk-pallet.API.sellAsset.test.ts

xyk-pallet - Sell assets tests: SellAsset Errors:
  ✔️ Sell assets that does not belong to any pool
  ✔️ Try sell more assets than owned
  ✔️ Sell assets with a high expectation: limit +1
xyk-pallet - Sell assets tests: Selling Assets you can
  ✔️ Sell assets with a high expectation: limit - OK
  ✔️ Sell assets from a wallet I own into a wallet I do not own: limit

✔️ test/parallel/xyk-pallet.API.testMGArequired.test.ts

Wallets unmodified
  ✔️ xyk-pallet - User Balance - Creating a pool requires paying fees
  ✔️ xyk-pallet - User Balance - mint liquidity requires paying fees
✔️ xyk-pallet - User Balance - Selling an asset does not require paying fees
✔️ xyk-pallet - User Balance - Buying an asset does not require paying fees

✔️ test/parallel/xyk-pallet.API.treasury.no.connected.mangata.test.ts

xyk-pallet - treasury tests [No Mangata]: on treasury we store
  ✔️ assets won when assets are sold - 5 [no connected to MGA]
  ✔️ assets won when assets are sold - 1 [rounding] [no connected to MGA]
  ✔️ assets won when assets are bought - 2 [no connected to MGA]
  ✔️ assets won when assets are bought - 1 [no connected to MGA]

✔️ test/parallel/xyk-pallet.asset.buy.test.ts

✔️ xyk-pallet - AssetsOperation: buyAsset [maxAmountIn = 1M], buy asset
✔️ xyk-pallet - AssetsOperation: buyAsset [maxAmountIn = 1M], sell a bought asset

✔️ test/parallel/xyk-pallet.asset.register.test.ts

✔️ register new asset from sudo user
✔️ try to register a new asset from non-sudo user, expect to fail
✔️ register new asset and then update it by sudo user
✔️ register new asset and then update it by non sudo user, expect to fail
✔️ register new asset and then update it without the location
✔️ register new asset and then update it without fee
✔️ register asset and then try to register new one with the same assetId, expect to conflict
✔️ register asset with xyk disabled and try to create a pool, expect to fail
✔️ register asset with xyk undefined and try to create a pool, expect success
✔️ register asset with xyk enabled and try to create a pool, expect success

✔️ test/parallel/xyk-pallet.asset.sell.test.ts

✔️ xyk-pallet - AssetsOperation: sellAsset [minAmountOut = 0] , first to second currency
✔️ xyk-pallet - AssetsOperation: sellAsset [minAmountOut = 0], sell an already sold asset

✔️ test/parallel/xyk-pallet.asset.transfer.test.ts

✔️ xyk-pallet - AssetsOperation: transferAsset
✔️ xyk-pallet - AssetsOperation: transferAll

✔️ test/parallel/xyk-pallet.liquidity.test.ts

✔️ xyk-pallet - Liqudity : Burn part of the liquidity
✔️ xyk-pallet - Liqudity : Burn all the liquidity
✔️ xyk-pallet - LiquidityOperation: mintLiquidity

✔️ test/parallel/xyk-pallet.MPL.test.ts

MPL: Delegator
  ✔️ join as delegator > verify account balances are reserved +  mpl storage
MPL: Collators
  ✔️ join as collator > verify account balances are reserved + mpl checks
  ✔️ join as collator + activate  > acount balances are reserved + mpl checks
MPL: Collators - Activated liq
  ✔️ join as collator with activated liq. > verify account balances are reserved + mpl checks

✔️ test/parallel/xyk-pallet.MPL.vesting.native.test.ts

Vesting-native
  ✔️ As a user, I can use MGX vested to move tokens to MPL pallet
  ✔️ As a user, I can use MGX vested from MPL to staking
  ✔️ As a user, I can revert MGX vested from MPL to vesting pallet

✔️ test/parallel/xyk-pallet.MPL.vesting.test.ts

Vesting
  ✔️ As a user, I can use vested tokens to mint
  ✔️ As a user, I can activate vesting-minted tokens only if reserved

✔️ test/parallel/xyk-pallet.pool.test.ts

✔️ xyk-pallet - Pool tests: createPool and validate liq token
✔️ xyk-pallet - Pool tests: createPool

✔️ test/parallel/xyk-pallet.sudo.security.test.ts

✔️ xyk-pallet - SecurityTests - Only sudo can perform actions [tokens.create]
✔️ xyk-pallet - SecurityTests - Only sudo can perform actions [tokens.create to itself]
✔️ xyk-pallet - SecurityTests - Only sudo can perform actions [tokens.mint]
✔️ xyk-pallet - SecurityTests - Only sudo can perform actions [tokens.mint to itself]

✔️ test/parallel/xyk-pallet.sudo.test.ts

✔️ xyk-pallet - Sudo tests: Sudo Issue an asset
✔️ xyk-pallet - Sudo tests: Sudo Issue two  different assets to the same account

✔️ test/parallel/xyk-rpc.calculate.burnAmount.test.ts

xyk-rpc - calculate get_burn amount: OK
  ✔️ validate parameters - burn from pool [firstIdx->0,secondIdx->1,amount->1000,expected->1000]
  ✔️ validate parameters - burn from pool [firstIdx->1,secondIdx->0,amount->1000,expected->1000]
  ✔️ validate parameters - burn from pool [firstIdx->0,secondIdx->1,amount->10000,expected->10000]
  ✔️ validate parameters - burn from pool [firstIdx->0,secondIdx->1,amount->100000,expected->100000]
xyk-rpc - calculate get_burn amount: Missing requirements
  ✔️ validate parameters - get_burn from not generated pool [soldTokenId->0,boughtTokenId->1,amount->1000,expected->0]
  ✔️ validate parameters - get_burn from not created assets
xyk-rpc - calculate get_burn amount: RPC result matches with burn amount
  ✔️ validate get_burn_amount that matches with real burn operation

✔️ test/parallel/xyk-rpc.calculate.by.id.test.ts

xyk-rpc - calculate_buy_price_by_id, calculate_sell_price_by_id
  ✔️ validate parameters - buy [soldTokenId->0,boughtTokenId->1,amount->0,expected->1]
  ✔️ validate parameters - buy [soldTokenId->0,boughtTokenId->1,amount->1,expected->0]
  ✔️ validate parameters - buy [soldTokenId->1,boughtTokenId->2,amount->0,expected->1]
  ✔️ validate parameters - buy [soldTokenId->1,boughtTokenId->2,amount->1,expected->2]
  ✔️ validate parameters - buy [soldTokenId->2,boughtTokenId->1,amount->1,expected->0]
  ✔️ validate parameters - buy [soldTokenId->2,boughtTokenId->3,amount->1,expected->3]
  ✔️ validate parameters - buy [soldTokenId->3,boughtTokenId->2,amount->1,expected->3]
  ✔️ validate parameters - buy [soldTokenId->3,boughtTokenId->2,amount->2,expected->0]
  ✔️ validate parameters - sell [soldTokenId->0,boughtTokenId->1,amount->0,expected->0]
  ✔️ validate parameters - sell [soldTokenId->0,boughtTokenId->1,amount->1,expected->0]
  ✔️ validate parameters - sell [soldTokenId->1,boughtTokenId->2,amount->0,expected->0]
  ✔️ validate parameters - sell [soldTokenId->1,boughtTokenId->2,amount->1,expected->0]
  ✔️ validate parameters - sell [soldTokenId->2,boughtTokenId->1,amount->1,expected->0]
  ✔️ validate parameters - sell [soldTokenId->3,boughtTokenId->2,amount->1,expected->0]
  ✔️ validate parameters - sell [soldTokenId->2,boughtTokenId->3,amount->1,expected->0]

✔️ test/parallel/xyk-rpc.calculate.test.ts

✔️ xyk-rpc - calculate_sell_price and calculate_buy_price matches, 1000,1000
✔️ xyk-rpc - calculate_sell_price and calculate_buy_price matches, 2000,1000
✔️ xyk-rpc - calculate_sell_price matches with the real sell
✔️ xyk-rpc - calculate_buy_price matches with the real buy

✔️ test/parallel/xyk-rpc.errors.test.ts

✔️ xyk-rpc - calculate_sell_price validates parameters - Negative params
✔️ xyk-rpc - calculate_sell_price validates parameters - Negative params
✔️ xyk-rpc - calculate_sell_price validates parameters - Negative params
✔️ xyk-rpc - calculate_sell_price validates parameters - Zeroes [inputReserve->1,outputReserve->1,amount->0,expected->0]
✔️ xyk-rpc - calculate_sell_price validates parameters - Zeroes [inputReserve->0,outputReserve->0,amount->0,expected->0]
✔️ xyk-rpc - calculate_sell_price validates parameters - Zeroes [inputReserve->0,outputReserve->1,amount->1,expected->1]
✔️ xyk-rpc - calculate_sell_price validates parameters - Zeroes [inputReserve->0,outputReserve->0,amount->1,expected->0]
✔️ xyk-rpc - calculate_buy_price validates parameters - Zeroes [inputReserve->1,outputReserve->1,amount->0,expected->1]
✔️ xyk-rpc - calculate_buy_price validates parameters - Zeroes [inputReserve->0,outputReserve->0,amount->0,expected->0]
✔️ xyk-rpc - calculate_buy_price validates parameters - Zeroes [inputReserve->0,outputReserve->1,amount->1,expected->0]
✔️ xyk-rpc - calculate_buy_price validates parameters - Zeroes [inputReserve->0,outputReserve->0,amount->1,expected->0]
✔️ xyk-rpc - calculate_buy_price validates parameters - Zeroes [inputReserve->1,outputReserve->0,amount->0,expected->0]
✔️ validate parameters: negative asset ids [soldTokenId->-1,boughtTokenId->0,amount->0,expected->createType(TokenId):: u32: Negative number passed to unsigned type]
✔️ validate parameters: negative asset ids [soldTokenId->0,boughtTokenId->-1,amount->0,expected->createType(TokenId):: u32: Negative number passed to unsigned type]
✔️ RPC big numbers : negative asset ids [amount->100000000]
✔️ RPC big numbers : negative asset ids [amount->100000000000000]
✔️ RPC big numbers : negative asset ids [amount->10000000000000000000000]
xyk-rpc - calculate_buy_price_by_id:No pool assotiated with the assets
  ✔️ validate parameters [soldTokenId->0,boughtTokenId->1,amount->0,expected->0]
  ✔️ validate parameters [soldTokenId->1,boughtTokenId->0,amount->1,expected->0]

✔️ test/staking/candidates.staking.test.ts

Test candidates actions
  ✔️ A user can become a candidate by joining as candidate
  ✔️ A user can only join as candidate with one staking token at the same time
  ✔️ A user can not join as candidate with a token that is not enabled ( or MGX )
  ✔️ A candidate can select an aggregator by update_candidate_aggregator

✔️ test/staking/candidates2.staking.test.ts

Test candidates actions: Collision by liq token
  ✔️ A candidate can join to the aggregator list when no more candidate joined with the same staking token

✔️ test/staking/sudo.staking.test.ts

Test sudo actions
  ✔️ Test that noSudo users cannot do specific operations: addStakingLiquidityToken
  ✔️ Test that noSudo users cannot do specific operations: removeStakingLiquidityToken
  ✔️ Test that noSudo users cannot do specific operations: setCollatorCommission
  ✔️ Test that noSudo users cannot do specific operations: setTotalSelected

✔️ test/story/story.LP.test.ts

Story tests > LP
  ✔️ Pool wins over 0.3% tokens when 10 swaps are done in the pool [Token - MGA]