Skip to content

fixes the symbol naming for liq pools (#860) #813

fixes the symbol naming for liq pools (#860)

fixes the symbol naming for liq pools (#860) #813

GitHub Actions / E2E report yarn test-parallel --max-workers=10 failed Dec 8, 2024 in 1s

E2E report yarn test-parallel --max-workers=10 ❌

Tests failed

❌ e2eTests/reports/junit.xml-f1724e50-b5ab-11ef-b9c9-519914722421.xml

220 tests were completed in 756s with 189 passed, 19 failed and 12 skipped.

Test suite Passed Failed Skipped Time
test/fees/api.tx.fees.test.ts 3✅ 29s
test/parallel/assetRegistry.getTradeable.rpc.test.ts 7✅ 30s
test/parallel/feeLock.API.feePayment.parallel.test.ts 5✅ 293s
test/parallel/feeLock.API.rpcValueThresholds.test.ts 2❌ 53s
test/parallel/feeLock.API.swapValueThresholds.test.ts 1✅ 2❌ 179s
test/parallel/feeLock.API.unlocking.test.ts 4✅ 1❌ 377s
test/parallel/feelock.autounlock.test.ts 1✅ 120s
test/parallel/identity-pallet.API.mainUseCases.test.ts 3✅ 83s
test/parallel/metamask.transfer.test.ts 6✅ 155s
test/parallel/rolldown.withdraw.error.test.ts 1✅ 29s
test/parallel/sdk.API.rpc.test.ts 3✅ 41s
test/parallel/tips.swapOperations.test.ts 4✅ 23s
test/parallel/xyk-pallet.API.accuracy.no.connected.MGA.fees.test.ts 1✅ 59s
test/parallel/xyk-pallet.API.accuracy.tx.fees.test.ts 1✅ 1❌ 83s
test/parallel/xyk-pallet.API.burnLiquidity.error.test.ts 2✅ 1❌ 191s
test/parallel/xyk-pallet.API.burnLiquidity.test.ts 3✅ 227s
test/parallel/xyk-pallet.API.buyAsset.test.ts 1✅ 5❌ 287s
test/parallel/xyk-pallet.API.fees.tripleTokens.test.ts 7✅ 2❌ 431s
test/parallel/xyk-pallet.API.mintLiquidity.error.test.ts 4✅ 1❌ 275s
test/parallel/xyk-pallet.API.mintLiquidity.test.ts 2✅ 107s
test/parallel/xyk-pallet.API.overflow.test.ts 4✅ 6⚪ 119s
test/parallel/xyk-pallet.API.payment-info.test.ts 4✅ 2⚪ 47s
test/parallel/xyk-pallet.API.pool.test.ts 9✅ 287s
test/parallel/xyk-pallet.API.poolVestedToken.test.ts 4✅ 382s
test/parallel/xyk-pallet.API.provideLiquidity.test.ts 4⚪ 9s
test/parallel/xyk-pallet.API.sellAsset.test.ts 4✅ 1❌ 275s
test/parallel/xyk-pallet.API.testMGArequired.test.ts 3✅ 1❌ 179s
test/parallel/xyk-pallet.API.treasury.no.connected.mangata.test.ts 4✅ 209s
test/parallel/xyk-pallet.asset.buy.test.ts 1✅ 1❌ 119s
test/parallel/xyk-pallet.asset.register.test.ts 9✅ 305s
test/parallel/xyk-pallet.asset.sell.test.ts 2✅ 119s
test/parallel/xyk-pallet.asset.transfer.test.ts 2✅ 83s
test/parallel/xyk-pallet.L1asset.register.update.test.ts 10✅ 323s
test/parallel/xyk-pallet.liquidity.test.ts 3✅ 143s
test/parallel/xyk-pallet.MPL.test.ts 4✅ 311s
test/parallel/xyk-pallet.MPL.vesting.native.test.ts 3✅ 83s
test/parallel/xyk-pallet.MPL.vesting.test.ts 2✅ 146s
test/parallel/xyk-pallet.pool.test.ts 2✅ 83s
test/parallel/xyk-pallet.sudo.security.test.ts 4✅ 65s
test/parallel/xyk-pallet.sudo.test.ts 2✅ 47s
test/parallel/xyk-rpc.calculate.burnAmount.test.ts 6✅ 1❌ 71s
test/parallel/xyk-rpc.calculate.by.id.test.ts 15✅ 71s
test/parallel/xyk-rpc.calculate.test.ts 4✅ 71s
test/parallel/xyk-rpc.errors.test.ts 19✅ 23s
test/staking/candidates.staking.test.ts 4✅ 155s
test/staking/candidates2.staking.test.ts 1✅ 95s
test/staking/sudo.staking.test.ts 4✅ 71s
test/story/story.LP.test.ts 1✅ 149s

✅ test/fees/api.tx.fees.test.ts

✅ Fees : Transfers are about 4~ MGX
✅ Fees : UPD You can no longer pay fees to KSM
✅ Fees : UPD You can no longer pay fees to 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
	Error: expect(received).toBeTruthy()
❌ gasless- isFree works same as multiswap of two
	Error: expect(received).toBeTruthy()

❌ 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
	Error: expect(received).toEqual(expected) // deep equality
❌ 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
	Error: expect(received).rejects.toThrow(expected)

❌ 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
	Error: expect(received).rejects.toThrow(expected)
✅ 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/metamask.transfer.test.ts

Tests with Metamask signing: Test that with current data, txs can be signed
  ✅ GIVEN sign extrinsic by using privateKey of another ethUser THEN receive error
  ✅ Transfer tokens with an incorrect chainId - must fail
  ✅ Transfer tokens
  ✅ Mint liquidity
  ✅ Burn liquidity
  ✅ Create batch function

✅ test/parallel/rolldown.withdraw.error.test.ts

Rolldown withdraw error
  ✅ withdrawing token which does not exist should return correct error

✅ 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
  ✅ 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
	TypeError: Cannot read properties of undefined (reading '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
	Error: createType(Call):: Call: failed decoding market.burnLiquidity:: Struct: failed on args: {"pool_id":"u32","liquidity_burn_amount":"u128","min_first_asset_amount":"u128","min_second_asset_amount":"u128"}:: Struct: failed on pool_id: u32:: u32: Negative number passed to unsigned type
  ✅ 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
	Error: createType(Call):: Call: failed decoding market.multiswapAssetBuy:: Struct: failed on args: {"swap_pool_list":"Vec<u32>","asset_id_out":"u32","asset_amount_out":"u128","asset_id_in":"u32","max_amount_in":"u128"}:: Struct: failed on swap_pool_list: Vec<u32>:: u32: Input too large. Found input with 53 bits, expected 32
  ❌ Buy more assets than exists in the pool
	Error: expect(received).toEqual(expected) // deep equality
  ❌ Buy all assets from the the pool
	Error: expect(received).toEqual(expected) // deep equality
  ❌ Buy assets with a high expectation: maxInput -1
	Error:   --- TX Mapping issue ---
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
	Error:   --- TX Mapping issue ---

❌ test/parallel/xyk-pallet.API.fees.tripleTokens.test.ts

xyk-pallet -
  ✅ User can pay a Tx with only MGA
  ✅ User can pay a Tx with only ETH
✅ User can't pay a Tx with only Arbitrum-Eth
✅ GIVEN User has enough GASP & enough ETH THEN Fees are charged in GASP
✅ GIVEN User has a very limited amount of GASP & enough ETH THEN Fees are charged in ETH
✅ GIVEN User has a very limited GASP & a very limited ETH AND we have GASP-tok1 pool WHEN the Tx is a swap tok1 to tok2 above the “threshold” THEN operation succeed
❌ GIVEN User has a very limited GASP & a very limited ETH AND we have GASP-tok1 pool WHEN the Tx is a swap tok2 to tok1 above the “threshold” THEN operation succeed
	Error: thrown: Object {
❌ GIVEN User has a very limited amount of GASP & a minimal amount of Eth AND the Tx is a swap below the “threshold” THEN we receive client error
	Error: expect(received).toContain(expected) // indexOf
✅ User, when paying with eth, have to pay 1/30000 eth per GASP spent.

❌ 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
	Error: createType(Call):: Call: failed decoding market.multiswapAsset:: Struct: failed on args: {"swap_pool_list":"Vec<u32>","asset_id_in":"u32","asset_amount_in":"u128","asset_id_out":"u32","min_amount_out":"u128"}:: Struct: failed on swap_pool_list: Vec<u32>:: Expected array/hex input to Vec<*> decoding, found object: "014f"
  ✅ 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 non-zero is returned
✅ GIVEN a paymentInfo request, WHEN extrinsic is multiswapBuyAsset THEN non-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
	Error:   --- TX Mapping issue ---
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
	Error: expect(received).toHaveLength(expected)
✅ 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
	Error: expect(received).toEqual(expected) // deep equality
✅ 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 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.L1asset.register.update.test.ts

✅ Asset can be created by a sudo user
✅ Asset can't be created by a regular user
✅ GIVEN Create one asset with the same address but different chains THEN Operations pass
✅ GIVEN Create one asset with the same address and same chain THEN Operation fail
✅ GIVEN 2 assets which have been created by registerAsset and registerL1Asset THEN Their IDs are consistent
update L1AssetData-
  ✅ Asset can be updated by a sudo user
  ✅ Asset can't be updated by a regular user
  ✅ GIVEN Update asset so that addresses match but chains are different from existing ones THEN Operation pass
  ✅ GIVEN Update asset so so that addresses & chain matches with some existing ones THEN Operation fail
  ✅ GIVEN An asset created by registerAsset AND It has been updated by updateL1Asset THEN It is now accessible through IdToL1Asset

✅ 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
	Error: thrown: "Tx([0x04e223d5add4da137793623c495d8ed5e149dd785e03a19a212ce33692259a6c]) Transaction error"

✅ 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]

Annotations

Check failure on line 0 in e2eTests/reports/junit.xml-f1724e50-b5ab-11ef-b9c9-519914722421.xml

See this annotation in the file changed.

@github-actions github-actions / E2E report yarn test-parallel --max-workers=10

test/parallel/feeLock.API.rpcValueThresholds.test.ts ► gasless- isFree depends on the token and the sell valuation

Failed test found in:
  e2eTests/reports/junit.xml-f1724e50-b5ab-11ef-b9c9-519914722421.xml
Error:
  Error: expect(received).toBeTruthy()
Raw output
Error: expect(received).toBeTruthy()

Received: false
    at /home/runner/_work/mangata-node/mangata-node/e2eTests/test/parallel/feeLock.API.rpcValueThresholds.test.ts:134:18
    at Generator.next (<anonymous>)
    at fulfilled (/home/runner/_work/mangata-node/mangata-node/e2eTests/test/parallel/feeLock.API.rpcValueThresholds.test.ts:4:58)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)

Check failure on line 0 in e2eTests/reports/junit.xml-f1724e50-b5ab-11ef-b9c9-519914722421.xml

See this annotation in the file changed.

@github-actions github-actions / E2E report yarn test-parallel --max-workers=10

test/parallel/feeLock.API.rpcValueThresholds.test.ts ► gasless- isFree works same as multiswap of two

Failed test found in:
  e2eTests/reports/junit.xml-f1724e50-b5ab-11ef-b9c9-519914722421.xml
Error:
  Error: expect(received).toBeTruthy()
Raw output
Error: expect(received).toBeTruthy()

Received: false
    at /home/runner/_work/mangata-node/mangata-node/e2eTests/test/parallel/feeLock.API.rpcValueThresholds.test.ts:232:18
    at Generator.next (<anonymous>)
    at fulfilled (/home/runner/_work/mangata-node/mangata-node/e2eTests/test/parallel/feeLock.API.rpcValueThresholds.test.ts:4:58)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)

Check failure on line 0 in e2eTests/reports/junit.xml-f1724e50-b5ab-11ef-b9c9-519914722421.xml

See this annotation in the file changed.

@github-actions github-actions / E2E report yarn test-parallel --max-workers=10

test/parallel/feeLock.API.swapValueThresholds.test.ts ► 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

Failed test found in:
  e2eTests/reports/junit.xml-f1724e50-b5ab-11ef-b9c9-519914722421.xml
Error:
  Error: expect(received).toEqual(expected) // deep equality
Raw output
Error: expect(received).toEqual(expected) // deep equality

Expected: -1
Received: 14
    at /home/runner/_work/mangata-node/mangata-node/e2eTests/test/parallel/feeLock.API.swapValueThresholds.test.ts:214:5
    at Generator.next (<anonymous>)
    at fulfilled (/home/runner/_work/mangata-node/mangata-node/e2eTests/test/parallel/feeLock.API.swapValueThresholds.test.ts:4:58)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)

Check failure on line 0 in e2eTests/reports/junit.xml-f1724e50-b5ab-11ef-b9c9-519914722421.xml

See this annotation in the file changed.

@github-actions github-actions / E2E report yarn test-parallel --max-workers=10

test/parallel/feeLock.API.swapValueThresholds.test.ts ► 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 ca...

Failed test found in:
  e2eTests/reports/junit.xml-f1724e50-b5ab-11ef-b9c9-519914722421.xml
Error:
  Error: expect(received).rejects.toThrow(expected)
Raw output
Error: expect(received).rejects.toThrow(expected)

Expected substring: "1010: Invalid Transaction: Fee lock processing has failed either due to not enough funds to reserve or an unexpected error"
Received message:   "1010: Invalid Transaction: Inability to pay some fees , e.g. account balance too low"

      232 |       new BN(0),
      233 |     ).catch((reason) => {
    > 234 |       throw new Error(reason.data);
          |             ^
      235 |     }),
      236 |   ).rejects.toThrow(feeLockErrors.FeeLockingFail);
      237 | });

      at test/parallel/feeLock.API.swapValueThresholds.test.ts:234:13
    at Object.toThrow (/home/runner/_work/mangata-node/mangata-node/e2eTests/node_modules/expect/build/index.js:218:22)
    at /home/runner/_work/mangata-node/mangata-node/e2eTests/test/parallel/feeLock.API.swapValueThresholds.test.ts:236:13
    at Generator.next (<anonymous>)
    at fulfilled (/home/runner/_work/mangata-node/mangata-node/e2eTests/test/parallel/feeLock.API.swapValueThresholds.test.ts:4:58)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)

Check failure on line 0 in e2eTests/reports/junit.xml-f1724e50-b5ab-11ef-b9c9-519914722421.xml

See this annotation in the file changed.

@github-actions github-actions / E2E report yarn test-parallel --max-workers=10

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

Failed test found in:
  e2eTests/reports/junit.xml-f1724e50-b5ab-11ef-b9c9-519914722421.xml
Error:
  Error: expect(received).rejects.toThrow(expected)
Raw output
Error: expect(received).rejects.toThrow(expected)

Expected substring: "1010: Invalid Transaction: Fee lock processing has failed either due to not enough funds to reserve or an unexpected error"
Received message:   "1010: Invalid Transaction: Inability to pay some fees , e.g. account balance too low"

      127 |       new BN(0),
      128 |     ).catch((reason) => {
    > 129 |       throw new Error(reason.data);
          |             ^
      130 |     }),
      131 |   ).rejects.toThrow(feeLockErrors.FeeLockingFail);
      132 | });

      at test/parallel/feeLock.API.unlocking.test.ts:129:13
    at Object.toThrow (/home/runner/_work/mangata-node/mangata-node/e2eTests/node_modules/expect/build/index.js:218:22)
    at /home/runner/_work/mangata-node/mangata-node/e2eTests/test/parallel/feeLock.API.unlocking.test.ts:131:13
    at Generator.next (<anonymous>)
    at fulfilled (/home/runner/_work/mangata-node/mangata-node/e2eTests/test/parallel/feeLock.API.unlocking.test.ts:4:58)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)

Check failure on line 0 in e2eTests/reports/junit.xml-f1724e50-b5ab-11ef-b9c9-519914722421.xml

See this annotation in the file changed.

@github-actions github-actions / E2E report yarn test-parallel --max-workers=10

test/parallel/xyk-pallet.API.accuracy.tx.fees.test.ts ► xyk-pallet - Calculate required MGA fee - BuyAsset

Failed test found in:
  e2eTests/reports/junit.xml-f1724e50-b5ab-11ef-b9c9-519914722421.xml
Error:
  TypeError: Cannot read properties of undefined (reading 'buyAsset')
Raw output
TypeError: Cannot read properties of undefined (reading 'buyAsset')
    at /home/runner/_work/mangata-node/mangata-node/e2eTests/test/parallel/xyk-pallet.API.accuracy.tx.fees.test.ts:140:6
    at Generator.next (<anonymous>)
    at fulfilled (/home/runner/_work/mangata-node/mangata-node/e2eTests/test/parallel/xyk-pallet.API.accuracy.tx.fees.test.ts:4:58)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)

Check failure on line 0 in e2eTests/reports/junit.xml-f1724e50-b5ab-11ef-b9c9-519914722421.xml

See this annotation in the file changed.

@github-actions github-actions / E2E report yarn test-parallel --max-workers=10

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

Failed test found in:
  e2eTests/reports/junit.xml-f1724e50-b5ab-11ef-b9c9-519914722421.xml
Error:
  Error: createType(Call):: Call: failed decoding market.burnLiquidity:: Struct: failed on args: {"pool_id":"u32","liquidity_burn_amount":"u128","min_first_asset_amount":"u128","min_second_asset_amount":"u128"}:: Struct: failed on pool_id: u32:: u32: Negative number passed to unsigned type
Raw output
Error: createType(Call):: Call: failed decoding market.burnLiquidity:: Struct: failed on args: {"pool_id":"u32","liquidity_burn_amount":"u128","min_first_asset_amount":"u128","min_second_asset_amount":"u128"}:: Struct: failed on pool_id: u32:: u32: Negative number passed to unsigned type
    at createTypeUnsafe (/home/runner/_work/mangata-node/mangata-node/e2eTests/node_modules/@polkadot/types-create/create/type.js:51:22)
    at TypeRegistry.createTypeUnsafe (/home/runner/_work/mangata-node/mangata-node/e2eTests/node_modules/@polkadot/types/create/registry.js:226:16)
    at extrinsicFn (/home/runner/_work/mangata-node/mangata-node/e2eTests/node_modules/@polkadot/types/metadata/decorate/extrinsics/createUnchecked.js:13:25)
    at Object.decorated [as burnLiquidity] (/home/runner/_work/mangata-node/mangata-node/e2eTests/node_modules/@polkadot/api/base/Decorate.js:488:50)
    at Function.burnLiquidity (/home/runner/_work/mangata-node/mangata-node/e2eTests/utils/market.ts:32:26)
    at /home/runner/_work/mangata-node/mangata-node/e2eTests/utils/tx.ts:700:12
    at Generator.next (<anonymous>)
    at fulfilled (/home/runner/_work/mangata-node/mangata-node/e2eTests/utils/tx.ts:10:58)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)

Check failure on line 0 in e2eTests/reports/junit.xml-f1724e50-b5ab-11ef-b9c9-519914722421.xml

See this annotation in the file changed.

@github-actions github-actions / E2E report yarn test-parallel --max-workers=10

test/parallel/xyk-pallet.API.buyAsset.test.ts ► xyk-pallet - Buy assets tests: BuyAssets Errors: ► Buy assets that does not belong to any pool

Failed test found in:
  e2eTests/reports/junit.xml-f1724e50-b5ab-11ef-b9c9-519914722421.xml
Error:
  Error: createType(Call):: Call: failed decoding market.multiswapAssetBuy:: Struct: failed on args: {"swap_pool_list":"Vec<u32>","asset_id_out":"u32","asset_amount_out":"u128","asset_id_in":"u32","max_amount_in":"u128"}:: Struct: failed on swap_pool_list: Vec<u32>:: u32: Input too large. Found input with 53 bits, expected 32
Raw output
Error: createType(Call):: Call: failed decoding market.multiswapAssetBuy:: Struct: failed on args: {"swap_pool_list":"Vec<u32>","asset_id_out":"u32","asset_amount_out":"u128","asset_id_in":"u32","max_amount_in":"u128"}:: Struct: failed on swap_pool_list: Vec<u32>:: u32: Input too large. Found input with 53 bits, expected 32
    at createTypeUnsafe (/home/runner/_work/mangata-node/mangata-node/e2eTests/node_modules/@polkadot/types-create/create/type.js:51:22)
    at TypeRegistry.createTypeUnsafe (/home/runner/_work/mangata-node/mangata-node/e2eTests/node_modules/@polkadot/types/create/registry.js:226:16)
    at extrinsicFn (/home/runner/_work/mangata-node/mangata-node/e2eTests/node_modules/@polkadot/types/metadata/decorate/extrinsics/createUnchecked.js:13:25)
    at Object.decorated [as multiswapAssetBuy] (/home/runner/_work/mangata-node/mangata-node/e2eTests/node_modules/@polkadot/api/base/Decorate.js:488:50)
    at Function.multiswapAssetBuy (/home/runner/_work/mangata-node/mangata-node/e2eTests/utils/market.ts:73:26)
    at /home/runner/_work/mangata-node/mangata-node/e2eTests/utils/tx.ts:636:12
    at Generator.next (<anonymous>)
    at fulfilled (/home/runner/_work/mangata-node/mangata-node/e2eTests/utils/tx.ts:10:58)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)

Check failure on line 0 in e2eTests/reports/junit.xml-f1724e50-b5ab-11ef-b9c9-519914722421.xml

See this annotation in the file changed.

@github-actions github-actions / E2E report yarn test-parallel --max-workers=10

test/parallel/xyk-pallet.API.buyAsset.test.ts ► xyk-pallet - Buy assets tests: BuyAssets Errors: ► Buy more assets than exists in the pool

Failed test found in:
  e2eTests/reports/junit.xml-f1724e50-b5ab-11ef-b9c9-519914722421.xml
Error:
  Error: expect(received).toEqual(expected) // deep equality
Raw output
Error: expect(received).toEqual(expected) // deep equality

Expected: "NotEnoughReserve"
Received: "ExcesiveInputAmount"
    at /home/runner/_work/mangata-node/mangata-node/e2eTests/test/parallel/xyk-pallet.API.buyAsset.test.ts:143:34
    at processTicksAndRejections (node:internal/process/task_queues:95:5)

Check failure on line 0 in e2eTests/reports/junit.xml-f1724e50-b5ab-11ef-b9c9-519914722421.xml

See this annotation in the file changed.

@github-actions github-actions / E2E report yarn test-parallel --max-workers=10

test/parallel/xyk-pallet.API.buyAsset.test.ts ► xyk-pallet - Buy assets tests: BuyAssets Errors: ► Buy all assets from the the pool

Failed test found in:
  e2eTests/reports/junit.xml-f1724e50-b5ab-11ef-b9c9-519914722421.xml
Error:
  Error: expect(received).toEqual(expected) // deep equality
Raw output
Error: expect(received).toEqual(expected) // deep equality

Expected: "NotEnoughReserve"
Received: "ExcesiveInputAmount"
    at /home/runner/_work/mangata-node/mangata-node/e2eTests/test/parallel/xyk-pallet.API.buyAsset.test.ts:164:34
    at processTicksAndRejections (node:internal/process/task_queues:95:5)

Check failure on line 0 in e2eTests/reports/junit.xml-f1724e50-b5ab-11ef-b9c9-519914722421.xml

See this annotation in the file changed.

@github-actions github-actions / E2E report yarn test-parallel --max-workers=10

test/parallel/xyk-pallet.API.buyAsset.test.ts ► xyk-pallet - Buy assets tests: BuyAssets Errors: ► Buy assets with a high expectation: maxInput -1

Failed test found in:
  e2eTests/reports/junit.xml-f1724e50-b5ab-11ef-b9c9-519914722421.xml
Error:
  Error:   --- TX Mapping issue --- 
Raw output
Error:   --- TX Mapping issue --- 
    at getEventResultFromMangataTx (/home/runner/_work/mangata-node/mangata-node/e2eTests/utils/txHandler.ts:169:11)
    at /home/runner/_work/mangata-node/mangata-node/e2eTests/test/parallel/xyk-pallet.API.buyAsset.test.ts:191:29
    at processTicksAndRejections (node:internal/process/task_queues:95:5)