difftreelog
fix acala income fees
in: master
1 file changed
tests/src/xcm/xcmUnique.test.tsdiffbeforeafterboth441 });441 });442});442});443443444describeXCM('[XCM] Integration test: Exchanging tokens with Acala', () => {444describe.only('[XCM] Integration test: Exchanging tokens with Acala', () => {445 let alice: IKeyringPair;445 let alice: IKeyringPair;446 let randomAccount: IKeyringPair;446 let randomAccount: IKeyringPair;447447455 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 coreesponding 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) => {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 });