LiskArchive/lisk-dex-core

Troubleshoot and fix: Transaction ran out of fee (token transfer)

Closed this issue · 1 comments

Expected behavior

The node and commands work properly.

Actual behavior

We get the following error:

2023-10-23T12:27:20.201Z DEBUG emilio-Latitude-7490 application 602475 [commandName=transfer moduleName=token] Executing command.verify
2023-10-23T12:27:20.201Z DEBUG emilio-Latitude-7490 application 602475 [commandName=transfer moduleName=token] Executed command.verify
2023-10-23T12:27:20.202Z DEBUG emilio-Latitude-7490 application 602475 [moduleName=auth] Executing beforeCommandExecute
2023-10-23T12:27:20.202Z DEBUG emilio-Latitude-7490 application 602475 [moduleName=auth] Executed beforeCommandExecute
2023-10-23T12:27:20.202Z DEBUG emilio-Latitude-7490 application 602475 [moduleName=fee] Executing beforeCommandExecute
2023-10-23T12:27:20.202Z DEBUG emilio-Latitude-7490 application 602475 [moduleName=fee] Executed beforeCommandExecute
2023-10-23T12:27:20.202Z DEBUG emilio-Latitude-7490 application 602475 [commandName=transfer] Executing command.execute
2023-10-23T12:27:20.206Z DEBUG emilio-Latitude-7490 application 602475 [moduleName=token commandName=transfer err=Transaction ran out of fee. trace=Error: Transaction ran out of fee.
    at FeeMethod._deductFeeFromKey (/home/emilio/code/Lisk/dex-core-2/node_modules/lisk-framework/src/modules/fee/method.ts:65:10)
    at FeeMethod.payFee (/home/emilio/code/Lisk/dex-core-2/node_modules/lisk-framework/src/modules/fee/method.ts:47:8)
    at InternalMethod.initializeUserAccount (/home/emilio/code/Lisk/dex-core-2/node_modules/lisk-framework/src/modules/token/internal_method.ts:43:19)
    at TransferCommand.execute (/home/emilio/code/Lisk/dex-core-2/node_modules/lisk-framework/src/modules/token/commands/transfer.ts:77:31)
    at async StateMachine.executeTransaction (/home/emilio/code/Lisk/dex-core-2/node_modules/lisk-framework/src/state_machine/state_machine.ts:182:4)
    at async ABIHandler.executeTransaction (/home/emilio/code/Lisk/dex-core-2/node_modules/lisk-framework/src/abi_handler/abi_handler.ts:458:18)
    at async Consensus._executeBlock (/home/emilio/code/Lisk/dex-core-2/node_modules/lisk-framework/src/engine/consensus/consensus.ts:1002:26)
    at async Consensus._executeValidated (/home/emilio/code/Lisk/dex-core-2/node_modules/lisk-framework/src/engine/consensus/consensus.ts:614:18)
    at async /home/emilio/code/Lisk/dex-core-2/node_modules/lisk-framework/src/engine/consensus/consensus.ts:562:4
    at async Mutex.runExclusive (/home/emilio/code/Lisk/dex-core-2/node_modules/@liskhq/lisk-utils/src/job_handlers/mutex.ts:37:11)] Command execution failed
2023-10-23T12:27:20.207Z DEBUG emilio-Latitude-7490 application 602475 [moduleName=fee] Executing afterCommandExecute

Steps to reproduce

Send the following createPool transaction from lskkq73xxzrmzxusw3ot53swq9an5qqt7orzpubku

{
        module: 'dex',
        command: 'createPool',
        fee: BigInt(2000000000),
        params: {
            tokenID0: '0400000000000000',
            tokenID1: '0400001100000000',
            feeTier: 100,
            tickInitialPrice: 1,
            initialPosition: {
                tickLower: -887272,
                tickUpper: 887272,
                amount0Desired: '100000000',
                amount1Desired: BigInt(1),
            },
            maxTimestampValid: BigInt(100000000000),
        }
    }

Which version(s) does this affect? (Environment, OS, etc...)

Current development version, running on Ubuntu 22.04.3 LTS (x86_64)

This was confirmed to be related to the devnet configuration which will become obsolete in a few days, so closing it.