Bugfix/liq tokens mgx 434 v2 #1148
This check has been archived and is scheduled for deletion.
Learn more about checks retention
GitHub Actions / E2E report yarn test-parallel --max-workers=10
succeeded
Sep 28, 2023 in 0s
E2E report yarn test-parallel --max-workers=10 ✔️
✔️ e2eTests/reports/junit-b519a7c0-5e0c-11ee-8c5b-f5d31c9b3fe4.xml
194 tests were completed in 2057s with 187 passed, 0 failed and 7 skipped.
✔️ 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/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/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/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]
Loading