abstract-solana 0.0.0.67__tar.gz → 0.0.0.69__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of abstract-solana might be problematic. Click here for more details.

Files changed (25) hide show
  1. {abstract_solana-0.0.0.67 → abstract_solana-0.0.0.69}/PKG-INFO +1 -1
  2. {abstract_solana-0.0.0.67 → abstract_solana-0.0.0.69}/setup.py +1 -1
  3. {abstract_solana-0.0.0.67 → abstract_solana-0.0.0.69}/src/abstract_solana/pumpFun/buy_sell_pump.py +40 -31
  4. {abstract_solana-0.0.0.67 → abstract_solana-0.0.0.69}/src/abstract_solana.egg-info/PKG-INFO +1 -1
  5. {abstract_solana-0.0.0.67 → abstract_solana-0.0.0.69}/README.md +0 -0
  6. {abstract_solana-0.0.0.67 → abstract_solana-0.0.0.69}/setup.cfg +0 -0
  7. {abstract_solana-0.0.0.67 → abstract_solana-0.0.0.69}/src/abstract_solana/__init__.py +0 -0
  8. {abstract_solana-0.0.0.67 → abstract_solana-0.0.0.69}/src/abstract_solana/account_key_utils.py +0 -0
  9. {abstract_solana-0.0.0.67 → abstract_solana-0.0.0.69}/src/abstract_solana/constants.py +0 -0
  10. {abstract_solana-0.0.0.67 → abstract_solana-0.0.0.69}/src/abstract_solana/genesis_functions.py +0 -0
  11. {abstract_solana-0.0.0.67 → abstract_solana-0.0.0.69}/src/abstract_solana/index_utils.py +0 -0
  12. {abstract_solana-0.0.0.67 → abstract_solana-0.0.0.69}/src/abstract_solana/keypair_utils.py +0 -0
  13. {abstract_solana-0.0.0.67 → abstract_solana-0.0.0.69}/src/abstract_solana/log_message_functions.py +0 -0
  14. {abstract_solana-0.0.0.67 → abstract_solana-0.0.0.69}/src/abstract_solana/price_utils.py +0 -0
  15. {abstract_solana-0.0.0.67 → abstract_solana-0.0.0.69}/src/abstract_solana/pubkey_utils.py +0 -0
  16. {abstract_solana-0.0.0.67 → abstract_solana-0.0.0.69}/src/abstract_solana/pumpFun/__init__.py +0 -0
  17. {abstract_solana-0.0.0.67 → abstract_solana-0.0.0.69}/src/abstract_solana/pumpFun/pump_fun_keys.py +0 -0
  18. {abstract_solana-0.0.0.67 → abstract_solana-0.0.0.69}/src/abstract_solana/pumpFun/token_utils.py +0 -0
  19. {abstract_solana-0.0.0.67 → abstract_solana-0.0.0.69}/src/abstract_solana/signature_data_parse.py +0 -0
  20. {abstract_solana-0.0.0.67 → abstract_solana-0.0.0.69}/src/abstract_solana/utils.py +0 -0
  21. {abstract_solana-0.0.0.67 → abstract_solana-0.0.0.69}/src/abstract_solana.egg-info/SOURCES.txt +0 -0
  22. {abstract_solana-0.0.0.67 → abstract_solana-0.0.0.69}/src/abstract_solana.egg-info/dependency_links.txt +0 -0
  23. {abstract_solana-0.0.0.67 → abstract_solana-0.0.0.69}/src/abstract_solana.egg-info/requires.txt +0 -0
  24. {abstract_solana-0.0.0.67 → abstract_solana-0.0.0.69}/src/abstract_solana.egg-info/top_level.txt +0 -0
  25. {abstract_solana-0.0.0.67 → abstract_solana-0.0.0.69}/test/test_abstract_solana.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: abstract_solana
3
- Version: 0.0.0.67
3
+ Version: 0.0.0.69
4
4
  Home-page: https://github.com/AbstractEndeavors/abstract_solana
5
5
  Author: putkoff
6
6
  Author-email: partners@abstractendeavors.com
@@ -4,7 +4,7 @@ with open("README.md", "r", encoding="utf-8") as fh:
4
4
  long_description = fh.read()
5
5
  setuptools.setup(
6
6
  name='abstract_solana',
7
- version='0.0.0.67',
7
+ version='0.0.0.69',
8
8
  author='putkoff',
9
9
  author_email='partners@abstractendeavors.com',
10
10
  description="",
@@ -13,30 +13,6 @@ from ..constants import PUMP_FUN_PROGRAM_PUBKEY,LAMPORTS_PER_SOL,UNIT_PRICE,UNIT
13
13
  from solders.compute_budget import set_compute_unit_limit, set_compute_unit_price
14
14
  from .token_utils import get_token_balance,check_existing_token_account,get_token_price
15
15
  from .pump_fun_keys import getKeys
16
- async def confirm_txn(txn_sig, max_retries=20, retry_interval=3):
17
- retries = 0
18
- while retries < max_retries:
19
- txn_res = getTransaction(signature=str(txn_sig))
20
- print(txn_res)
21
- if txn_res:
22
- print(txn_res)
23
- print(f"\n\nhttps://solscan.io/tx/{str(txn_sig)}")
24
- return txn_res
25
- retries += 1
26
- print(f"Retrying... ({retries}/{max_retries})")
27
- await asyncio.sleep(retry_interval)
28
- print(f"Failed to confirm transaction after {max_retries} attempts.")
29
- return txn_sig
30
- def complete_txn(txn, payer_keypair):
31
- txn_sig = sendTransaction(txn=txn,payer_keypair=payer_keypair, skip_preflight=True)
32
- print("Transaction Signature", txn_sig)
33
- confirm = asyncio.run(confirm_txn(txn_sig))
34
- while not confirm:
35
- print("Waiting for transaction confirmation...")
36
- time.sleep(1) # Wait for 1 second before checking again
37
- confirm = confirm_txn(txn_sig)
38
- print("Transaction confirmed:", confirm)
39
- return confirm
40
16
  def buildTxn(mint,payer_pubkey, amount, slippage, token_account,sol_in=0,token_price=0,token_balance=0,token_account_instructions=None,close_token_account=False,buy=True):
41
17
  # Get keys for the transaction, pass the token account's pubkey instead of the AccountMeta object
42
18
  keys = getKeys(mint, token_account=token_account, payer_pubkey=payer_pubkey,buy=buy)
@@ -126,22 +102,55 @@ def pump_fun_buy(mint: str,payer_pubkey:Pubkey, sol_in: float = 0.001, slippage:
126
102
  token_account_instructions=token_account_instructions,
127
103
  buy=True)
128
104
  return True
105
+ async def confirm_txn(txn_sig, max_retries=20, retry_interval=3):
106
+ retries = 0
107
+ while retries < max_retries:
108
+ txn_res = getTransaction(signature=str(txn_sig))
109
+ if txn_res:
110
+ print(f"\n\nhttps://solscan.io/tx/{str(txn_sig)}")
111
+ return txn_res
112
+ retries += 1
113
+ print(f"Retrying... ({retries}/{max_retries})")
114
+ await asyncio.sleep(retry_interval)
115
+ print(f"Failed to confirm transaction after {max_retries} attempts.")
116
+ return txn_sig
117
+ async def complete_txn(txn, payer_keypair):
118
+ txn_sig = await sendTransaction(txn=txn, payer_keypair=payer_keypair, skip_preflight=True) # Await this async call
119
+ print("Transaction Signature", txn_sig)
120
+ confirm = await confirm_txn(txn_sig) # Await confirmation
129
121
 
130
- def buy_pump(mint:str, payer_keypair:Pubkey,sol_in=None,slippage=None):
122
+ while not confirm:
123
+ print("Waiting for transaction confirmation...")
124
+ await asyncio.sleep(1) # Use asyncio.sleep instead of time.sleep to avoid blocking
125
+ confirm = await confirm_txn(txn_sig) # Await confirmation check again
126
+
127
+ print("Transaction confirmed:", confirm)
128
+ return confirm
129
+
130
+ async def buy_pump_sync(mint: str, payer_keypair: Pubkey, sol_in=None, slippage=None):
131
131
  sol_in = sol_in or 0.001
132
132
  slippage = slippage or 25
133
133
  payer_pubkey = get_pubkey(payer_keypair.pubkey())
134
- txn = pump_fun_buy(mint=mint, payer_pubkey=payer_pubkey,sol_in=sol_in,slippage=slippage)
135
- completed = complete_txn(txn, payer_keypair)
134
+ txn = pump_fun_buy(mint=mint, payer_pubkey=payer_pubkey, sol_in=sol_in, slippage=slippage)
135
+
136
+ completed = await complete_txn(txn, payer_keypair) # Await here since `complete_txn` is async
136
137
  if not completed:
137
138
  print("Buy transaction failed")
138
139
  return completed
139
-
140
- def sell_pump(mint:str, payer_keypair:Pubkey, token_balance=None, slippage=None):
140
+
141
+
142
+ async def sell_pump_sync(mint: str, payer_keypair: Pubkey, token_balance=None, slippage=None):
141
143
  slippage = slippage or 25
142
144
  payer_pubkey = get_pubkey(payer_keypair.pubkey())
143
145
  txn = pump_fun_sell(mint=mint, payer_pubkey=payer_pubkey, token_balance=token_balance, slippage=slippage)
144
- completed = complete_txn(txn, payer_keypair)
146
+
147
+ completed = await complete_txn(txn, payer_keypair) # Await here since `complete_txn` is async
145
148
  if not completed:
146
- print("sell transaction failed")
149
+ print("Sell transaction failed")
147
150
  return completed
151
+
152
+ def buy_pump(mint: str, payer_keypair: Pubkey, sol_in=None, slippage=None):
153
+ return asyncio.run(buy_pump_sync(mint, payer_keypair, sol_in, slippage))
154
+
155
+ def sell_pump(mint: str, payer_keypair: Pubkey, token_balance=None, slippage=None):
156
+ return asyncio.run(sell_pump_sync(mint, payer_keypair, token_balance, slippage))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: abstract_solana
3
- Version: 0.0.0.67
3
+ Version: 0.0.0.69
4
4
  Home-page: https://github.com/AbstractEndeavors/abstract_solana
5
5
  Author: putkoff
6
6
  Author-email: partners@abstractendeavors.com