From fb571337c5343b0f22731626100d61622476e0e2 Mon Sep 17 00:00:00 2001 From: Sheng-Yan Date: Mon, 23 Jun 2025 11:15:01 +0800 Subject: [PATCH] fix: retry send_transaction --- learning-examples/manual_buy.py | 108 ++++++++++++++--------------- learning-examples/manual_sell.py | 112 +++++++++++++++---------------- 2 files changed, 107 insertions(+), 113 deletions(-) diff --git a/learning-examples/manual_buy.py b/learning-examples/manual_buy.py index 04eeaf6..22e3bdd 100644 --- a/learning-examples/manual_buy.py +++ b/learning-examples/manual_buy.py @@ -62,7 +62,7 @@ class BondingCurveState: parsed = self._STRUCT.parse(data[8:]) self.__dict__.update(parsed) - + # Convert raw bytes to Pubkey for creator field if hasattr(self, 'creator') and isinstance(self.creator, bytes): self.creator = Pubkey.from_bytes(self.creator) @@ -125,74 +125,67 @@ async def buy_token( # Calculate maximum SOL to spend with slippage max_amount_lamports = int(amount_lamports * (1 + slippage)) + + accounts = [ + AccountMeta(pubkey=PUMP_GLOBAL, is_signer=False, is_writable=False), + AccountMeta(pubkey=PUMP_FEE, is_signer=False, is_writable=True), + AccountMeta(pubkey=mint, is_signer=False, is_writable=False), + AccountMeta(pubkey=bonding_curve, is_signer=False, is_writable=True), + AccountMeta( + pubkey=associated_bonding_curve, + is_signer=False, + is_writable=True, + ), + AccountMeta( + pubkey=associated_token_account, + is_signer=False, + is_writable=True, + ), + AccountMeta(pubkey=payer.pubkey(), is_signer=True, is_writable=True), + AccountMeta(pubkey=SYSTEM_PROGRAM, is_signer=False, is_writable=False), + AccountMeta( + pubkey=SYSTEM_TOKEN_PROGRAM, is_signer=False, is_writable=False + ), + AccountMeta(pubkey=creator_vault, is_signer=False, is_writable=True), + AccountMeta( + pubkey=PUMP_EVENT_AUTHORITY, is_signer=False, is_writable=False + ), + AccountMeta(pubkey=PUMP_PROGRAM, is_signer=False, is_writable=False), + ] + + discriminator = struct.pack("