Skip to content

adds a check that only single ferry can happen on a deposit request gasp-1652 #794

adds a check that only single ferry can happen on a deposit request gasp-1652

adds a check that only single ferry can happen on a deposit request gasp-1652 #794

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

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

Tests failed

❌ e2eTests/reports/junit.xml-7d648e60-b312-11ef-bfe7-73d075ca44d6.xml

222 tests were completed in 624s with 131 passed, 85 failed and 6 skipped.

Test suite Passed Failed Skipped Time
test/fees/api.tx.fees.test.ts 3✅ 35s
test/parallel/assetRegistry.getTradeable.rpc.test.ts 7✅ 34s
test/parallel/feeLock.API.feePayment.parallel.test.ts 5❌ 125s
test/parallel/feeLock.API.rpcValueThresholds.test.ts 2✅ 71s
test/parallel/feeLock.API.swapValueThresholds.test.ts 3❌ 155s
test/parallel/feeLock.API.unlocking.test.ts 5❌ 119s
test/parallel/feelock.autounlock.test.ts 1❌ 35s
test/parallel/identity-pallet.API.mainUseCases.test.ts 3✅ 77s
test/parallel/metamask.transfer.test.ts 6✅ 155s
test/parallel/rolldown.withdraw.error.test.ts 1✅ 35s
test/parallel/sdk.API.rpc.test.ts 3✅ 35s
test/parallel/tips.swapOperations.test.ts 6❌ 23s
test/parallel/xyk-pallet.API.accuracy.no.connected.MGA.fees.test.ts 1❌ 47s
test/parallel/xyk-pallet.API.accuracy.tx.fees.test.ts 2❌ 71s
test/parallel/xyk-pallet.API.burnLiquidity.error.test.ts 3❌ 119s
test/parallel/xyk-pallet.API.burnLiquidity.test.ts 3❌ 143s
test/parallel/xyk-pallet.API.buyAsset.test.ts 6❌ 227s
test/parallel/xyk-pallet.API.fees.tripleTokens.test.ts 9❌ 335s
test/parallel/xyk-pallet.API.mintLiquidity.error.test.ts 5❌ 167s
test/parallel/xyk-pallet.API.mintLiquidity.test.ts 2❌ 83s
test/parallel/xyk-pallet.API.overflow.test.ts 2✅ 2❌ 6⚪ 95s
test/parallel/xyk-pallet.API.payment-info.test.ts 2✅ 4❌ 29s
test/parallel/xyk-pallet.API.pool.test.ts 6✅ 3❌ 227s
test/parallel/xyk-pallet.API.poolVestedToken.test.ts 4✅ 377s
test/parallel/xyk-pallet.API.provideLiquidity.test.ts 4❌ 107s
test/parallel/xyk-pallet.API.sellAsset.test.ts 5❌ 191s
test/parallel/xyk-pallet.API.testMGArequired.test.ts 1✅ 3❌ 155s
test/parallel/xyk-pallet.API.treasury.no.connected.mangata.test.ts 4❌ 155s
test/parallel/xyk-pallet.asset.buy.test.ts 2❌ 83s
test/parallel/xyk-pallet.asset.register.test.ts 9✅ 305s
test/parallel/xyk-pallet.asset.sell.test.ts 2❌ 83s
test/parallel/xyk-pallet.asset.transfer.test.ts 2✅ 83s
test/parallel/xyk-pallet.L1asset.register.update.test.ts 10✅ 316s
test/parallel/xyk-pallet.liquidity.test.ts 2✅ 1❌ 131s
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✅ 143s
test/parallel/xyk-pallet.pool.test.ts 2✅ 83s
test/parallel/xyk-pallet.sudo.security.test.ts 4✅ 71s
test/parallel/xyk-pallet.sudo.test.ts 2✅ 41s
test/parallel/xyk-rpc.calculate.burnAmount.test.ts 6✅ 1❌ 72s
test/parallel/xyk-rpc.calculate.by.id.test.ts 15✅ 71s
test/parallel/xyk-rpc.calculate.test.ts 2✅ 2❌ 47s
test/parallel/xyk-rpc.errors.test.ts 19✅ 23s
test/staking/candidates.staking.test.ts 4✅ 155s
test/staking/candidates2.staking.test.ts 1✅ 83s
test/staking/sudo.staking.test.ts 4✅ 71s
test/story/story.LP.test.ts 1❌ 143s

✅ 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
	TypeError: Cannot read properties of undefined (reading 'multiswapSellAsset')
❌ gasless- GIVEN a correct config for gasless swaps WHEN the user runs unlock-fee THEN fees are not charged for token unlockFee
	TypeError: Cannot read properties of undefined (reading 'multiswapSellAsset')
❌ gasless- High-value swaps are rejected from the txn pool if they would fail before the percentage fee is charged
	Error: expect(received).rejects.toThrow(expected)
❌ gasless- For low-value swaps, token reservation status and pallet storage are altered in accordance with the timeout mechanism
	TypeError: Cannot read properties of undefined (reading 'multiswapSellAsset')
❌ gasless- High-value swaps when successful are not charged txn fee or token locked, but the percentage fee is charged
	TypeError: Cannot read properties of undefined (reading 'multiswapSellAsset')

✅ 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
	TypeError: Cannot read properties of undefined (reading 'multiswapSellAsset')
❌ 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
	TypeError: Cannot read properties of undefined (reading 'multiswapSellAsset')
❌ 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
	TypeError: Cannot read properties of undefined (reading 'multiswapSellAsset')
❌ 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 )
	TypeError: Cannot read properties of undefined (reading 'multiswapSellAsset')
❌ 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
	TypeError: Cannot read properties of undefined (reading 'multiswapSellAsset')
❌ gasless- GIVEN some locked tokens and lastFeeLockBlock is lower than current block WHEN release feeLock is requested THEN the tokens are unlocked
	TypeError: Cannot read properties of undefined (reading 'multiswapSellAsset')
❌ gasless- GIVEN a lock WHEN the period is N THEN the tokens can not be unlocked before that period
	TypeError: Cannot read properties of undefined (reading 'multiswapSellAsset')

❌ test/parallel/feelock.autounlock.test.ts

❌ [gasless] Happy path: automatic-unlock
	TypeError: Cannot read properties of undefined (reading 'multiswapSellAsset')

✅ 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
	TypeError: Cannot read properties of undefined (reading 'sellAsset')
  ❌ multiswapBuyAsset tips operations are forbidden
	TypeError: Cannot read properties of undefined (reading 'sellAsset')
  ❌ sellAsset tips operations are forbidden
	TypeError: Cannot read properties of undefined (reading 'sellAsset')
  ❌ buyAsset tips operations are forbidden
	TypeError: Cannot read properties of undefined (reading 'sellAsset')
  ❌ transfer tips operations are allowed
	TypeError: Cannot read properties of undefined (reading 'sellAsset')
  ❌ mint tips operations are allowed
	TypeError: Cannot read properties of undefined (reading 'sellAsset')

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

❌ xyk-pallet - Assets substracted are incremented by 1 - SellAsset
	TypeError: Cannot read properties of undefined (reading 'multiswapSellAsset')

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

❌ xyk-pallet - Calculate required MGA fee - CreatePool
	TypeError: Cannot read properties of undefined (reading '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
	TypeError: Cannot read properties of undefined (reading 'createPool')
  ❌ Burn someone else liquidities
	TypeError: Cannot read properties of undefined (reading 'createPool')

❌ 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]
	TypeError: Cannot read properties of undefined (reading 'multiswapBuyAsset')
  ❌ Burning liquidities provides Burn and settle
	TypeError: Cannot read properties of undefined (reading 'mintLiquidity')
  ❌ Burning liquidities generates a Liquidity burned event
	TypeError: Cannot read properties of undefined (reading 'mintLiquidity')

❌ test/parallel/xyk-pallet.API.buyAsset.test.ts

xyk-pallet - Buy assets tests: BuyAssets Errors:
  ❌ Buy assets that does not belong to any pool
	TypeError: Cannot read properties of undefined (reading 'multiswapBuyAsset')
  ❌ Buy more assets than exists in the pool
	TypeError: Cannot read properties of undefined (reading 'multiswapBuyAsset')
  ❌ Buy all assets from the the pool
	TypeError: Cannot read properties of undefined (reading 'multiswapBuyAsset')
  ❌ Buy assets with a high expectation: maxInput -1
	TypeError: Cannot read properties of undefined (reading 'multiswapBuyAsset')
xyk-pallet - Buy assets tests: Buying assets you can
  ❌ Leave only one asset in the pool
	TypeError: Cannot read properties of undefined (reading 'multiswapBuyAsset')
  ❌ Buy from a wallet I own into a wallet I do not own
	TypeError: Cannot read properties of undefined (reading 'multiswapBuyAsset')

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

xyk-pallet -
  ❌ User can pay a Tx with only MGA
	TypeError: Cannot read properties of undefined (reading 'mintLiquidity')
  ❌ User can pay a Tx with only ETH
	TypeError: Cannot read properties of undefined (reading 'mintLiquidity')
❌ User can't pay a Tx with only Arbitrum-Eth
	Error: expect(received).rejects.toThrow(expected)
❌ GIVEN User has enough GASP & enough ETH THEN Fees are charged in GASP
	TypeError: Cannot read properties of undefined (reading 'mintLiquidity')
❌ GIVEN User has a very limited amount of GASP & enough ETH THEN Fees are charged in ETH
	TypeError: Cannot read properties of undefined (reading 'mintLiquidity')
❌ 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
	TypeError: Cannot read properties of undefined (reading 'sellAsset')
❌ 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
	TypeError: Cannot read properties of undefined (reading 'sellAsset')
❌ 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.
	TypeError: Cannot read properties of undefined (reading 'mintLiquidity')

❌ 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
	TypeError: Cannot read properties of undefined (reading 'mintLiquidity')
  ❌ Mint liquidity when not enough assetX for minting Yamount
	TypeError: Cannot read properties of undefined (reading 'mintLiquidity')
  ❌ Mint liquidity assets that does not belong to any pool
	TypeError: Cannot read properties of undefined (reading 'mintLiquidity')
  ❌ Mint liquidity more assets than I own
	TypeError: Cannot read properties of undefined (reading 'mintLiquidity')
  ❌ Min liquidity, SecondAssetAmount parameter expectation not met
	TypeError: Cannot read properties of undefined (reading 'mintLiquidity')

❌ 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
	TypeError: Cannot read properties of undefined (reading 'mintLiquidity')
  ❌ Expect an event when liquidity is minted
	TypeError: Cannot read properties of undefined (reading 'mintLiquidity')

❌ 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.
	TypeError: Cannot read properties of undefined (reading 'multiswapSellAsset')
  ❌ Buy [100] assets to a wallet with Max-1000,1000 => overflow.
	TypeError: Cannot read properties of undefined (reading 'multiswapBuyAsset')
  ⚪ 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.
	TypeError: Cannot read properties of undefined (reading 'sellAsset')
✅ 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
	TypeError: Cannot read properties of undefined (reading 'compoundRewards')
❌ GIVEN a paymentInfo request, WHEN extrinsic is provideLiquidityWithId THEN non-zero is returned
	TypeError: Cannot read properties of undefined (reading 'provideLiquidityWithConversion')
❌ 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
	TypeError: Cannot read properties of undefined (reading 'buyAsset')

❌ 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
	TypeError: Cannot read properties of undefined (reading 'mintLiquidity')
  ❌ be burn
	TypeError: Cannot read properties of undefined (reading 'mintLiquidity')
xyk-pallet - Pool opeations: Simmetry
  ✅ GetBalance x-y and y-x pool
  ❌ Minting x-y and y-x pool
	TypeError: Cannot read properties of undefined (reading 'mintLiquidity')
  ✅ 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
	TypeError: Cannot read properties of undefined (reading 'provideLiquidityWithConversion')
❌ A user without any liq token, can use provideLiquidityWithConversion to mint some tokens.
	TypeError: Cannot read properties of undefined (reading 'provideLiquidityWithConversion')
❌ A user without any liq token, can use provideLiquidityWithConversion to mint some tokens on a promoted pool.
	TypeError: Cannot read properties of undefined (reading 'provideLiquidityWithConversion')
❌ A user who uses provideLiquidityWithConversion and other who do manually a swap + mint, gets the similar ratio of liquidity tokens.
	TypeError: Cannot read properties of undefined (reading 'provideLiquidityWithConversion')

❌ test/parallel/xyk-pallet.API.sellAsset.test.ts

xyk-pallet - Sell assets tests: SellAsset Errors:
  ❌ Sell assets that does not belong to any pool
	TypeError: Cannot read properties of undefined (reading 'multiswapSellAsset')
  ❌ Try sell more assets than owned
	TypeError: Cannot read properties of undefined (reading 'multiswapSellAsset')
  ❌ Sell assets with a high expectation: limit +1
	TypeError: Cannot read properties of undefined (reading 'multiswapSellAsset')
xyk-pallet - Sell assets tests: Selling Assets you can
  ❌ Sell assets with a high expectation: limit - OK
	TypeError: Cannot read properties of undefined (reading 'multiswapSellAsset')
  ❌ Sell assets from a wallet I own into a wallet I do not own: limit
	TypeError: Cannot read properties of undefined (reading 'multiswapSellAsset')

❌ 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
	Error: expect(received).rejects.toThrow(expected)
❌ xyk-pallet - User Balance - Selling an asset does not require paying fees
	Error: TypeError: Cannot read properties of undefined (reading 'multiswapSellAsset')
❌ xyk-pallet - User Balance - Buying an asset does not require paying fees
	Error:

❌ 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]
	TypeError: Cannot read properties of undefined (reading 'multiswapSellAsset')
  ❌ assets won when assets are sold - 1 [rounding] [no connected to MGA]
	TypeError: Cannot read properties of undefined (reading 'multiswapSellAsset')
  ❌ assets won when assets are bought - 2 [no connected to MGA]
	TypeError: Cannot read properties of undefined (reading 'multiswapBuyAsset')
  ❌ assets won when assets are bought - 1 [no connected to MGA]
	TypeError: Cannot read properties of undefined (reading 'multiswapBuyAsset')

❌ test/parallel/xyk-pallet.asset.buy.test.ts

❌ xyk-pallet - AssetsOperation: buyAsset [maxAmountIn = 1M], buy asset
	TypeError: Cannot read properties of undefined (reading 'multiswapBuyAsset')
❌ xyk-pallet - AssetsOperation: buyAsset [maxAmountIn = 1M], sell a bought asset
	TypeError: Cannot read properties of undefined (reading 'multiswapBuyAsset')

✅ 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
	TypeError: Cannot read properties of undefined (reading 'multiswapSellAsset')
❌ xyk-pallet - AssetsOperation: sellAsset [minAmountOut = 0], sell an already sold asset
	TypeError: Cannot read properties of undefined (reading 'multiswapSellAsset')

✅ 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
	TypeError: Cannot read properties of undefined (reading '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([0xe5416364de2086c6905fe1a0914e2a42d1fb8d4fa473b4058320370f3bcdfabb]) 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
	TypeError: Cannot read properties of undefined (reading 'multiswapSellAsset')
❌ xyk-rpc - calculate_buy_price matches with the real buy
	TypeError: Cannot read properties of undefined (reading 'multiswapBuyAsset')

✅ 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]
	TypeError: Cannot read properties of undefined (reading 'multiswapSellAsset')

Annotations

Check failure on line 0 in e2eTests/reports/junit.xml-7d648e60-b312-11ef-bfe7-73d075ca44d6.xml

See this annotation in the file changed.

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

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

Failed test found in:
  e2eTests/reports/junit.xml-7d648e60-b312-11ef-bfe7-73d075ca44d6.xml
Error:
  TypeError: Cannot read properties of undefined (reading 'multiswapSellAsset')
Raw output
TypeError: Cannot read properties of undefined (reading 'multiswapSellAsset')
    at multiswapSellAsset (/home/runner/_work/mangata-node/mangata-node/e2eTests/node_modules/gasp-sdk/index.js:4648:25)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)

Check failure on line 0 in e2eTests/reports/junit.xml-7d648e60-b312-11ef-bfe7-73d075ca44d6.xml

See this annotation in the file changed.

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

test/parallel/feeLock.API.feePayment.parallel.test.ts ► gasless- GIVEN a correct config for gasless swaps WHEN the user runs unlock-fee THEN fees are not charged for token unlockFee

Failed test found in:
  e2eTests/reports/junit.xml-7d648e60-b312-11ef-bfe7-73d075ca44d6.xml
Error:
  TypeError: Cannot read properties of undefined (reading 'multiswapSellAsset')
Raw output
TypeError: Cannot read properties of undefined (reading 'multiswapSellAsset')
    at multiswapSellAsset (/home/runner/_work/mangata-node/mangata-node/e2eTests/node_modules/gasp-sdk/index.js:4648:25)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)

Check failure on line 0 in e2eTests/reports/junit.xml-7d648e60-b312-11ef-bfe7-73d075ca44d6.xml

See this annotation in the file changed.

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

test/parallel/feeLock.API.feePayment.parallel.test.ts ► gasless- High-value swaps are rejected from the txn pool if they would fail before the percentage fee is charged

Failed test found in:
  e2eTests/reports/junit.xml-7d648e60-b312-11ef-bfe7-73d075ca44d6.xml
Error:
  Error: expect(received).rejects.toThrow(expected)
Raw output
Error: expect(received).rejects.toThrow(expected)

Expected substring: "1010: Invalid Transaction: The swap prevalidation has failed"
Received message:   ""

      56 |     ).catch((reason) => {
      57 |       exception = true;
    > 58 |       throw new Error(reason.data);
         |             ^
      59 |     }),
      60 |   ).rejects.toThrow(reason);
      61 |

      at test/parallel/feeLock.API.feePayment.parallel.test.ts:58: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.feePayment.parallel.test.ts:60:13
    at Generator.next (<anonymous>)
    at /home/runner/_work/mangata-node/mangata-node/e2eTests/test/parallel/feeLock.API.feePayment.parallel.test.ts:7:71
    at new Promise (<anonymous>)
    at __awaiter (/home/runner/_work/mangata-node/mangata-node/e2eTests/test/parallel/feeLock.API.feePayment.parallel.test.ts:3:12)
    at checkErrorSellAsset (/home/runner/_work/mangata-node/mangata-node/e2eTests/test/parallel/feeLock.API.feePayment.parallel.test.ts:39:12)
    at /home/runner/_work/mangata-node/mangata-node/e2eTests/test/parallel/feeLock.API.feePayment.parallel.test.ts:177:9
    at Generator.next (<anonymous>)
    at /home/runner/_work/mangata-node/mangata-node/e2eTests/test/parallel/feeLock.API.feePayment.parallel.test.ts:7:71
    at new Promise (<anonymous>)
    at __awaiter (/home/runner/_work/mangata-node/mangata-node/e2eTests/test/parallel/feeLock.API.feePayment.parallel.test.ts:3:12)
    at Object.<anonymous> (/home/runner/_work/mangata-node/mangata-node/e2eTests/test/parallel/feeLock.API.feePayment.parallel.test.ts:176:133)
    at Promise.then.completed (/home/runner/_work/mangata-node/mangata-node/e2eTests/node_modules/jest-circus/build/utils.js:298:28)
    at new Promise (<anonymous>)
    at callAsyncCircusFn (/home/runner/_work/mangata-node/mangata-node/e2eTests/node_modules/jest-circus/build/utils.js:231:10)
    at _callCircusTest (/home/runner/_work/mangata-node/mangata-node/e2eTests/node_modules/jest-circus/build/run.js:316:40)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)
    at _runTest (/home/runner/_work/mangata-node/mangata-node/e2eTests/node_modules/jest-circus/build/run.js:252:3)
    at _runTestsForDescribeBlock (/home/runner/_work/mangata-node/mangata-node/e2eTests/node_modules/jest-circus/build/run.js:126:9)
    at run (/home/runner/_work/mangata-node/mangata-node/e2eTests/node_modules/jest-circus/build/run.js:71:3)
    at runAndTransformResultsToJestFormat (/home/runner/_work/mangata-node/mangata-node/e2eTests/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
    at jestAdapter (/home/runner/_work/mangata-node/mangata-node/e2eTests/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
    at runTestInternal (/home/runner/_work/mangata-node/mangata-node/e2eTests/node_modules/jest-runner/build/runTest.js:367:16)
    at runTest (/home/runner/_work/mangata-node/mangata-node/e2eTests/node_modules/jest-runner/build/runTest.js:444:34)
    at Object.worker (/home/runner/_work/mangata-node/mangata-node/e2eTests/node_modules/jest-runner/build/testWorker.js:106:12)

Check failure on line 0 in e2eTests/reports/junit.xml-7d648e60-b312-11ef-bfe7-73d075ca44d6.xml

See this annotation in the file changed.

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

test/parallel/feeLock.API.feePayment.parallel.test.ts ► gasless- For low-value swaps, token reservation status and pallet storage are altered in accordance with the timeout mechanism

Failed test found in:
  e2eTests/reports/junit.xml-7d648e60-b312-11ef-bfe7-73d075ca44d6.xml
Error:
  TypeError: Cannot read properties of undefined (reading 'multiswapSellAsset')
Raw output
TypeError: Cannot read properties of undefined (reading 'multiswapSellAsset')
    at multiswapSellAsset (/home/runner/_work/mangata-node/mangata-node/e2eTests/node_modules/gasp-sdk/index.js:4648:25)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)

Check failure on line 0 in e2eTests/reports/junit.xml-7d648e60-b312-11ef-bfe7-73d075ca44d6.xml

See this annotation in the file changed.

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

test/parallel/feeLock.API.feePayment.parallel.test.ts ► gasless- High-value swaps when successful are not charged txn fee or token locked, but the percentage fee is charged

Failed test found in:
  e2eTests/reports/junit.xml-7d648e60-b312-11ef-bfe7-73d075ca44d6.xml
Error:
  TypeError: Cannot read properties of undefined (reading 'multiswapSellAsset')
Raw output
TypeError: Cannot read properties of undefined (reading 'multiswapSellAsset')
    at multiswapSellAsset (/home/runner/_work/mangata-node/mangata-node/e2eTests/node_modules/gasp-sdk/index.js:4648:25)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)

Check failure on line 0 in e2eTests/reports/junit.xml-7d648e60-b312-11ef-bfe7-73d075ca44d6.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 swapValue > threshold THEN the extrinsic is correctly submitted AND No locks AND no fees

Failed test found in:
  e2eTests/reports/junit.xml-7d648e60-b312-11ef-bfe7-73d075ca44d6.xml
Error:
  TypeError: Cannot read properties of undefined (reading 'multiswapSellAsset')
Raw output
TypeError: Cannot read properties of undefined (reading 'multiswapSellAsset')
    at multiswapSellAsset (/home/runner/_work/mangata-node/mangata-node/e2eTests/node_modules/gasp-sdk/index.js:4648:25)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)

Check failure on line 0 in e2eTests/reports/junit.xml-7d648e60-b312-11ef-bfe7-73d075ca44d6.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-7d648e60-b312-11ef-bfe7-73d075ca44d6.xml
Error:
  TypeError: Cannot read properties of undefined (reading 'multiswapSellAsset')
Raw output
TypeError: Cannot read properties of undefined (reading 'multiswapSellAsset')
    at multiswapSellAsset (/home/runner/_work/mangata-node/mangata-node/e2eTests/node_modules/gasp-sdk/index.js:4648:25)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)

Check failure on line 0 in e2eTests/reports/junit.xml-7d648e60-b312-11ef-bfe7-73d075ca44d6.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-7d648e60-b312-11ef-bfe7-73d075ca44d6.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:   ""

      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-7d648e60-b312-11ef-bfe7-73d075ca44d6.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-7d648e60-b312-11ef-bfe7-73d075ca44d6.xml
Error:
  TypeError: Cannot read properties of undefined (reading 'multiswapSellAsset')
Raw output
TypeError: Cannot read properties of undefined (reading 'multiswapSellAsset')
    at multiswapSellAsset (/home/runner/_work/mangata-node/mangata-node/e2eTests/node_modules/gasp-sdk/index.js:4648:25)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)

Check failure on line 0 in e2eTests/reports/junit.xml-7d648e60-b312-11ef-bfe7-73d075ca44d6.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 finished THEN the operation can be submitted ( unlock before locking )

Failed test found in:
  e2eTests/reports/junit.xml-7d648e60-b312-11ef-bfe7-73d075ca44d6.xml
Error:
  TypeError: Cannot read properties of undefined (reading 'multiswapSellAsset')
Raw output
TypeError: Cannot read properties of undefined (reading 'multiswapSellAsset')
    at multiswapSellAsset (/home/runner/_work/mangata-node/mangata-node/e2eTests/node_modules/gasp-sdk/index.js:4648:25)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)

Check failure on line 0 in e2eTests/reports/junit.xml-7d648e60-b312-11ef-bfe7-73d075ca44d6.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 WHEN querying accountFeeLockData THEN the amount matches with locked tokens AND lastFeeLockBlock matches with the block when tokens were locked

Failed test found in:
  e2eTests/reports/junit.xml-7d648e60-b312-11ef-bfe7-73d075ca44d6.xml
Error:
  TypeError: Cannot read properties of undefined (reading 'multiswapSellAsset')
Raw output
TypeError: Cannot read properties of undefined (reading 'multiswapSellAsset')
    at multiswapSellAsset (/home/runner/_work/mangata-node/mangata-node/e2eTests/node_modules/gasp-sdk/index.js:4648:25)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)