Describe the bug
When wrapping a Soroban transaction in a fee-bump transaction you're required to match the inner tx base fee which effectively doubles the quote price of the transaction.
If I try and use a smaller outer fee when fee-bumping via something like
TransactionBuilder.buildFeeBumpTransaction(keypair, (10_000).toString(), transaction, Networks.TESTNET); I get an error Invalid baseFee, it should be at least 20916858 stroops.
We're kinda retrofitting the current fee as a "per operation" construct as Soroban transactions can only have the one operation. I'm unsure if this is a Core, Horizon or JS SDK bug but requiring a doubling of your fee to fee-bump isn't ideal.
What version are you on?
v12.0.0
Additional context
Tested this by modifying js-stellar-basehttps://github.com/stellar/js-stellar-base/compare/master...inner-fee-fix By removing the throw and more manually setting the fee I can get a much smaller fee to submit successfully. So in this case I think the JS SDK is trying to be too smart
TransactionBuilder.buildFeeBumpTransaction also 2x the fee (in order to cover both the inner ops and the outer fee-bump "op")
In most cases this is useful and helpful, but in the Soroban instance this really doesn't work. I'm not sure exactly what the answer here is but likely it's creating a smarter error or just removing it altogether and then allowing the TransactionBuilder.buildFeeBumpTransaction fee field to actually set the fee for the whole tx vs per op. Or maybe a new TransactionBuilder altogether that's custom built for handling wrapping Soroban transctions.
Full context on Discord https://discord.com/channels/897514728459468821/1245935726424752220
Describe the bug When wrapping a Soroban transaction in a fee-bump transaction you're required to match the inner tx base fee which effectively doubles the quote price of the transaction.
Here's an example
If I try and use a smaller outer fee when fee-bumping via something like
TransactionBuilder.buildFeeBumpTransaction(keypair, (10_000).toString(), transaction, Networks.TESTNET);
I get an errorInvalid baseFee, it should be at least 20916858 stroops.
We're kinda retrofitting the current fee as a "per operation" construct as Soroban transactions can only have the one operation. I'm unsure if this is a Core, Horizon or JS SDK bug but requiring a doubling of your fee to fee-bump isn't ideal.
What version are you on? v12.0.0
Additional context Tested this by modifying
js-stellar-base
https://github.com/stellar/js-stellar-base/compare/master...inner-fee-fix By removing the throw and more manually setting the fee I can get a much smaller fee to submit successfully. So in this case I think the JS SDK is trying to be too smartTransactionBuilder.buildFeeBumpTransaction
also 2x the fee (in order to cover both the inner ops and the outer fee-bump "op")In most cases this is useful and helpful, but in the Soroban instance this really doesn't work. I'm not sure exactly what the answer here is but likely it's creating a smarter error or just removing it altogether and then allowing the
TransactionBuilder.buildFeeBumpTransaction
fee field to actually set the fee for the whole tx vs per op. Or maybe a newTransactionBuilder
altogether that's custom built for handling wrapping Soroban transctions.