difftreelog
Merge pull request #889 from UniqueNetwork/fix/acala-xcm-test-config
in: master
2 files changed
tests/src/xcm/xcmQuartz.test.tsdiffbeforeafterboth--- a/tests/src/xcm/xcmQuartz.test.ts
+++ b/tests/src/xcm/xcmQuartz.test.ts
@@ -455,6 +455,13 @@
let balanceQuartzForeignTokenMiddle: bigint;
let balanceQuartzForeignTokenFinal: bigint;
+ // computed by a test transfer from prod Quartz to prod Karura.
+ // 2 QTZ sent https://quartz.subscan.io/xcm_message/kusama-f60d821b049f8835a3005ce7102285006f5b61e9
+ // 1.919176000000000000 QTZ received (you can check Karura's chain state in the corresponding block)
+ const expectedKaruraIncomeFee = 2000000000000000000n - 1919176000000000000n;
+
+ const KARURA_BACKWARD_TRANSFER_AMOUNT = TRANSFER_AMOUNT - expectedKaruraIncomeFee;
+
before(async () => {
await usingPlaygrounds(async (helper, privateKey) => {
alice = await privateKey('//Alice');
@@ -474,10 +481,10 @@
};
const metadata = {
- name: 'QTZ',
+ name: 'Quartz',
symbol: 'QTZ',
decimals: 18,
- minimalBalance: 1n,
+ minimalBalance: 1000000000000000000n,
};
await helper.getSudo().assetRegistry.registerForeignAsset(alice, destination, metadata);
@@ -545,19 +552,28 @@
await usingKaruraPlaygrounds(karuraUrl, async (helper) => {
await helper.wait.newBlocks(3);
+
balanceQuartzForeignTokenMiddle = await helper.tokens.accounts(randomAccount.address, {ForeignAsset: 0});
balanceKaruraTokenMiddle = await helper.balance.getSubstrate(randomAccount.address);
const karFees = balanceKaruraTokenInit - balanceKaruraTokenMiddle;
const qtzIncomeTransfer = balanceQuartzForeignTokenMiddle - balanceQuartzForeignTokenInit;
+ const karUnqFees = TRANSFER_AMOUNT - qtzIncomeTransfer;
console.log(
'[Quartz -> Karura] transaction fees on Karura: %s KAR',
helper.util.bigIntToDecimals(karFees, KARURA_DECIMALS),
);
+ console.log(
+ '[Quartz -> Karura] transaction fees on Karura: %s QTZ',
+ helper.util.bigIntToDecimals(karUnqFees),
+ );
console.log('[Quartz -> Karura] income %s QTZ', helper.util.bigIntToDecimals(qtzIncomeTransfer));
expect(karFees == 0n).to.be.true;
- expect(qtzIncomeTransfer == TRANSFER_AMOUNT).to.be.true;
+ expect(
+ karUnqFees == expectedKaruraIncomeFee,
+ 'Karura took different income fee, check the Karura foreign asset config',
+ ).to.be.true;
});
});
@@ -584,7 +600,7 @@
ForeignAsset: 0,
};
- await helper.xTokens.transfer(randomAccount, id, TRANSFER_AMOUNT, destination, 'Unlimited');
+ await helper.xTokens.transfer(randomAccount, id, KARURA_BACKWARD_TRANSFER_AMOUNT, destination, 'Unlimited');
balanceKaruraTokenFinal = await helper.balance.getSubstrate(randomAccount.address);
balanceQuartzForeignTokenFinal = await helper.tokens.accounts(randomAccount.address, id);
@@ -598,7 +614,7 @@
console.log('[Karura -> Quartz] outcome %s QTZ', helper.util.bigIntToDecimals(qtzOutcomeTransfer));
expect(karFees > 0, 'Negative fees KAR, looks like nothing was transferred').to.be.true;
- expect(qtzOutcomeTransfer == TRANSFER_AMOUNT).to.be.true;
+ expect(qtzOutcomeTransfer == KARURA_BACKWARD_TRANSFER_AMOUNT).to.be.true;
});
await helper.wait.newBlocks(3);
@@ -609,7 +625,7 @@
console.log('[Karura -> Quartz] actually delivered %s QTZ', helper.util.bigIntToDecimals(actuallyDelivered));
- const qtzFees = TRANSFER_AMOUNT - actuallyDelivered;
+ const qtzFees = KARURA_BACKWARD_TRANSFER_AMOUNT - actuallyDelivered;
console.log('[Karura -> Quartz] transaction fees on Quartz: %s QTZ', helper.util.bigIntToDecimals(qtzFees));
expect(qtzFees == 0n).to.be.true;
});
tests/src/xcm/xcmUnique.test.tsdiffbeforeafterboth455 let balanceUniqueForeignTokenMiddle: bigint;455 let balanceUniqueForeignTokenMiddle: bigint;456 let balanceUniqueForeignTokenFinal: bigint;456 let balanceUniqueForeignTokenFinal: bigint;457458 // computed by a test transfer from prod Unique to prod Acala.459 // 2 UNQ sent https://unique.subscan.io/xcm_message/polkadot-bad0b68847e2398af25d482e9ee6f9c1f9ec2a48460 // 1.898970000000000000 UNQ received (you can check Acala's chain state in the corresponding block)461 const expectedAcalaIncomeFee = 2000000000000000000n - 1898970000000000000n;462463 const ACALA_BACKWARD_TRANSFER_AMOUNT = TRANSFER_AMOUNT - expectedAcalaIncomeFee;457464458 before(async () => {465 before(async () => {459 await usingPlaygrounds(async (helper, privateKey) => {466 await usingPlaygrounds(async (helper, privateKey) => {474 };481 };475482476 const metadata = {483 const metadata = {477 name: 'UNQ',484 name: 'Unique Network',478 symbol: 'UNQ',485 symbol: 'UNQ',479 decimals: 18,486 decimals: 18,480 minimalBalance: 1n,487 minimalBalance: 1250000000000000000n,481 };488 };482489483 await helper.getSudo().assetRegistry.registerForeignAsset(alice, destination, metadata);490 await helper.getSudo().assetRegistry.registerForeignAsset(alice, destination, metadata);552559553 const acaFees = balanceAcalaTokenInit - balanceAcalaTokenMiddle;560 const acaFees = balanceAcalaTokenInit - balanceAcalaTokenMiddle;554 const unqIncomeTransfer = balanceUniqueForeignTokenMiddle - balanceUniqueForeignTokenInit;561 const unqIncomeTransfer = balanceUniqueForeignTokenMiddle - balanceUniqueForeignTokenInit;562 const acaUnqFees = TRANSFER_AMOUNT - unqIncomeTransfer;555563556 console.log(564 console.log(557 '[Unique -> Acala] transaction fees on Acala: %s ACA',565 '[Unique -> Acala] transaction fees on Acala: %s ACA',558 helper.util.bigIntToDecimals(acaFees, ACALA_DECIMALS),566 helper.util.bigIntToDecimals(acaFees, ACALA_DECIMALS),559 );567 );568 console.log(569 '[Unique -> Acala] transaction fees on Acala: %s UNQ',570 helper.util.bigIntToDecimals(acaUnqFees),571 );560 console.log('[Unique -> Acala] income %s UNQ', helper.util.bigIntToDecimals(unqIncomeTransfer));572 console.log('[Unique -> Acala] income %s UNQ', helper.util.bigIntToDecimals(unqIncomeTransfer));561 expect(acaFees == 0n).to.be.true;573 expect(acaFees == 0n).to.be.true;562 expect(unqIncomeTransfer == TRANSFER_AMOUNT).to.be.true;574 expect(575 acaUnqFees == expectedAcalaIncomeFee,576 'Acala took different income fee, check the Acala foreign asset config',577 ).to.be.true;563 });578 });564 });579 });586 ForeignAsset: 0,601 ForeignAsset: 0,587 };602 };588603589 await helper.xTokens.transfer(randomAccount, id, TRANSFER_AMOUNT, destination, 'Unlimited');604 await helper.xTokens.transfer(randomAccount, id, ACALA_BACKWARD_TRANSFER_AMOUNT, destination, 'Unlimited');590 balanceAcalaTokenFinal = await helper.balance.getSubstrate(randomAccount.address);605 balanceAcalaTokenFinal = await helper.balance.getSubstrate(randomAccount.address);591 balanceUniqueForeignTokenFinal = await helper.tokens.accounts(randomAccount.address, id);606 balanceUniqueForeignTokenFinal = await helper.tokens.accounts(randomAccount.address, id);592607600 console.log('[Acala -> Unique] outcome %s UNQ', helper.util.bigIntToDecimals(unqOutcomeTransfer));615 console.log('[Acala -> Unique] outcome %s UNQ', helper.util.bigIntToDecimals(unqOutcomeTransfer));601616602 expect(acaFees > 0, 'Negative fees ACA, looks like nothing was transferred').to.be.true;617 expect(acaFees > 0, 'Negative fees ACA, looks like nothing was transferred').to.be.true;603 expect(unqOutcomeTransfer == TRANSFER_AMOUNT).to.be.true;618 expect(unqOutcomeTransfer == ACALA_BACKWARD_TRANSFER_AMOUNT).to.be.true;604 });619 });605620606 await helper.wait.newBlocks(3);621 await helper.wait.newBlocks(3);611626612 console.log('[Acala -> Unique] actually delivered %s UNQ', helper.util.bigIntToDecimals(actuallyDelivered));627 console.log('[Acala -> Unique] actually delivered %s UNQ', helper.util.bigIntToDecimals(actuallyDelivered));613628614 const unqFees = TRANSFER_AMOUNT - actuallyDelivered;629 const unqFees = ACALA_BACKWARD_TRANSFER_AMOUNT - actuallyDelivered;615 console.log('[Acala -> Unique] transaction fees on Unique: %s UNQ', helper.util.bigIntToDecimals(unqFees));630 console.log('[Acala -> Unique] transaction fees on Unique: %s UNQ', helper.util.bigIntToDecimals(unqFees));616 expect(unqFees == 0n).to.be.true;631 expect(unqFees == 0n).to.be.true;617 });632 });