Skip to content

Commit 0a22e66

Browse files
authored
Fix Swap priority fee set in transaction (#106)
1 parent 9c8fd54 commit 0a22e66

File tree

1 file changed

+13
-10
lines changed
  • pkg/code/server/grpc/transaction/v2

1 file changed

+13
-10
lines changed

pkg/code/server/grpc/transaction/v2/swap.go

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,11 @@ func (s *transactionServer) Swap(streamer transactionpb.Transaction_SwapServer)
214214
// Section: Transaction construction
215215
//
216216

217+
computeUnitLimit, _ := compute_budget.DecompileSetComputeUnitLimitIxnData(jupiterSwapIxns.ComputeBudgetInstructions[0].Data)
218+
219+
computeUnitPrice, _ := compute_budget.DecompileSetComputeUnitPriceIxnData(jupiterSwapIxns.ComputeBudgetInstructions[1].Data)
220+
computeUnitPrice = uint64(s.conf.swapPriorityFeeMultiple.Get(ctx) * float64(computeUnitPrice))
221+
217222
swapNonce, err := common.NewRandomAccount()
218223
if err != nil {
219224
log.WithError(err).Warn("failure generating swap nonce")
@@ -272,11 +277,14 @@ func (s *transactionServer) Swap(streamer transactionpb.Transaction_SwapServer)
272277
},
273278
).ToLegacyInstruction()
274279

275-
var ixns []solana.Instruction
276-
ixns = append(ixns, jupiterSwapIxns.ComputeBudgetInstructions...)
277-
ixns = append(ixns, preSwapIxn, jupiterSwapIxns.SwapInstruction, postSwapIxn)
278-
279-
txn := solana.NewTransaction(s.swapSubsidizer.PublicKey().ToBytes(), ixns...)
280+
txn := solana.NewTransaction(
281+
s.swapSubsidizer.PublicKey().ToBytes(),
282+
compute_budget.SetComputeUnitLimit(computeUnitLimit),
283+
compute_budget.SetComputeUnitPrice(computeUnitPrice),
284+
preSwapIxn,
285+
jupiterSwapIxns.SwapInstruction,
286+
postSwapIxn,
287+
)
280288

281289
blockhash, err := s.data.GetBlockchainLatestBlockhash(ctx)
282290
if err != nil {
@@ -289,11 +297,6 @@ func (s *transactionServer) Swap(streamer transactionpb.Transaction_SwapServer)
289297
// Section: Server parameters
290298
//
291299

292-
computeUnitLimit, _ := compute_budget.DecompileSetComputeUnitLimitIxnData(jupiterSwapIxns.ComputeBudgetInstructions[0].Data)
293-
294-
computeUnitPrice, _ := compute_budget.DecompileSetComputeUnitPriceIxnData(jupiterSwapIxns.ComputeBudgetInstructions[1].Data)
295-
computeUnitPrice = uint64(s.conf.swapPriorityFeeMultiple.Get(ctx) * float64(computeUnitPrice))
296-
297300
var protoSwapIxnAccounts []*commonpb.InstructionAccount
298301
for _, ixnAccount := range jupiterSwapIxns.SwapInstruction.Accounts {
299302
protoSwapIxnAccounts = append(protoSwapIxnAccounts, &commonpb.InstructionAccount{

0 commit comments

Comments
 (0)