diff --git a/packages/ckb/src/rgbpp/ckb-builder.ts b/packages/ckb/src/rgbpp/ckb-builder.ts index 427b3f17..e80b6dbc 100644 --- a/packages/ckb/src/rgbpp/ckb-builder.ts +++ b/packages/ckb/src/rgbpp/ckb-builder.ts @@ -108,8 +108,8 @@ export const appendPaymasterCellAndSignCkbTx = async ({ if (inputsCapacity <= sumOutputsCapacity) { throw new InputsCapacityNotEnoughError('The sum of inputs capacity is not enough'); } - const changeCapacity = inputsCapacity - sumOutputsCapacity - estimatedTxFee; - rawTx.outputs[rawTx.outputs.length - 1].capacity = append0x(changeCapacity.toString(16)); + const lastOutputCapacity = BigInt(rawTx.outputs[rawTx.outputs.length - 1].capacity) - estimatedTxFee; + rawTx.outputs[rawTx.outputs.length - 1].capacity = append0x(lastOutputCapacity.toString(16)); let keyMap = new Map(); keyMap.set(scriptToHash(paymasterCell.output.lock), secp256k1PrivateKey);