abstract-solana 0.0.0.38__tar.gz → 0.0.0.40__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.38 → abstract_solana-0.0.0.40}/PKG-INFO +1 -1
  2. {abstract_solana-0.0.0.38 → abstract_solana-0.0.0.40}/setup.py +1 -1
  3. {abstract_solana-0.0.0.38 → abstract_solana-0.0.0.40}/src/abstract_solana/pumpFun/buy_sell_pump.py +26 -28
  4. {abstract_solana-0.0.0.38 → abstract_solana-0.0.0.40}/src/abstract_solana.egg-info/PKG-INFO +1 -1
  5. {abstract_solana-0.0.0.38 → abstract_solana-0.0.0.40}/test/test_abstract_solana.py +2 -1
  6. {abstract_solana-0.0.0.38 → abstract_solana-0.0.0.40}/README.md +0 -0
  7. {abstract_solana-0.0.0.38 → abstract_solana-0.0.0.40}/setup.cfg +0 -0
  8. {abstract_solana-0.0.0.38 → abstract_solana-0.0.0.40}/src/abstract_solana/__init__.py +0 -0
  9. {abstract_solana-0.0.0.38 → abstract_solana-0.0.0.40}/src/abstract_solana/account_key_utils.py +0 -0
  10. {abstract_solana-0.0.0.38 → abstract_solana-0.0.0.40}/src/abstract_solana/constants.py +0 -0
  11. {abstract_solana-0.0.0.38 → abstract_solana-0.0.0.40}/src/abstract_solana/genesis_functions.py +0 -0
  12. {abstract_solana-0.0.0.38 → abstract_solana-0.0.0.40}/src/abstract_solana/index_utils.py +0 -0
  13. {abstract_solana-0.0.0.38 → abstract_solana-0.0.0.40}/src/abstract_solana/keypair_utils.py +0 -0
  14. {abstract_solana-0.0.0.38 → abstract_solana-0.0.0.40}/src/abstract_solana/log_message_functions.py +0 -0
  15. {abstract_solana-0.0.0.38 → abstract_solana-0.0.0.40}/src/abstract_solana/price_utils.py +0 -0
  16. {abstract_solana-0.0.0.38 → abstract_solana-0.0.0.40}/src/abstract_solana/pubkey_utils.py +0 -0
  17. {abstract_solana-0.0.0.38 → abstract_solana-0.0.0.40}/src/abstract_solana/pumpFun/__init__.py +0 -0
  18. {abstract_solana-0.0.0.38 → abstract_solana-0.0.0.40}/src/abstract_solana/pumpFun/pump_fun_keys.py +0 -0
  19. {abstract_solana-0.0.0.38 → abstract_solana-0.0.0.40}/src/abstract_solana/pumpFun/token_utils.py +0 -0
  20. {abstract_solana-0.0.0.38 → abstract_solana-0.0.0.40}/src/abstract_solana/signature_data_parse.py +0 -0
  21. {abstract_solana-0.0.0.38 → abstract_solana-0.0.0.40}/src/abstract_solana/utils.py +0 -0
  22. {abstract_solana-0.0.0.38 → abstract_solana-0.0.0.40}/src/abstract_solana.egg-info/SOURCES.txt +0 -0
  23. {abstract_solana-0.0.0.38 → abstract_solana-0.0.0.40}/src/abstract_solana.egg-info/dependency_links.txt +0 -0
  24. {abstract_solana-0.0.0.38 → abstract_solana-0.0.0.40}/src/abstract_solana.egg-info/requires.txt +0 -0
  25. {abstract_solana-0.0.0.38 → abstract_solana-0.0.0.40}/src/abstract_solana.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: abstract_solana
3
- Version: 0.0.0.38
3
+ Version: 0.0.0.40
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.38',
7
+ version='0.0.0.40',
8
8
  author='putkoff',
9
9
  author_email='partners@abstractendeavors.com',
10
10
  description="",
@@ -1,5 +1,7 @@
1
1
  import struct,base58,time
2
+ from typing import Optional,Union
2
3
  from solders.hash import Hash
4
+ from solders.keypair import Keypair
3
5
  from solders.instruction import Instruction
4
6
  from solana.rpc.types import TokenAccountOpts,TxOpts
5
7
  from solana.transaction import Transaction
@@ -59,9 +61,9 @@ def confirm_txn(txn_sig, max_retries=20, retry_interval=3):
59
61
  time.sleep(retry_interval)
60
62
  print("Max retries reached. Transaction confirmation failed.")
61
63
  return None
62
- def buildTxn(mint, amount, slippage, token_account_pubkey,sol_in=0,token_price=0,token_balance=0,token_account_instructions=None,close_token_account=False,buy=True):
64
+ def buildTxn(mint,payer_pubkey, amount, slippage, token_account_pubkey,sol_in=0,token_price=0,token_balance=0,token_account_instructions=None,close_token_account=False,buy=True):
63
65
  # Get keys for the transaction, pass the token account's pubkey instead of the AccountMeta object
64
- keys = getKeys(get_coin_data(mint), token_account_pubkey, owner,buy=buy)
66
+ keys = getKeys(get_coin_data(mint), token_account_pubkey, payer_pubkey,buy=buy)
65
67
  slippage_adjustment = 1 - (slippage / 100)
66
68
  sol_change = sol_in if buy else float(token_balance) * float(token_price)
67
69
  sol_change_with_slippage = sol_change * slippage_adjustment
@@ -76,25 +78,21 @@ def buildTxn(mint, amount, slippage, token_account_pubkey,sol_in=0,token_price=0
76
78
  blockHash = getLatestBlockhash(commitment="processed")
77
79
  recent_blockhash = get_any_value(blockHash.json(),'blockhash')
78
80
  recent_blockhash = Hash.from_string(recent_blockhash)
79
- txn = Transaction(recent_blockhash=recent_blockhash, fee_payer=owner)
81
+ txn = Transaction(recent_blockhash=recent_blockhash, fee_payer=payer_pubkey)
80
82
  txn.add(set_compute_unit_price(UNIT_PRICE))
81
83
  txn.add(set_compute_unit_limit(UNIT_BUDGET))
82
84
  if buy and token_account_instructions:
83
85
  txn.add(token_account_instructions)
84
86
  txn.add(swap_instruction)
85
87
  if buy == False and close_token_account:
86
- close_account_instructions = close_account(CloseAccountParams(PUMP_FUN_PROGRAM_PUBKEY, token_account_pubkey, owner, owner))
88
+ close_account_instructions = close_account(CloseAccountParams(PUMP_FUN_PROGRAM_PUBKEY, token_account_pubkey, payer_pubkey, payer_pubkey))
87
89
  txn.add(close_account_instructions)
88
90
  txn.sign(payer_keypair)
89
- txn_sig = sendTransaction(txn, payer_keypair, TxOpts(skip_preflight=True))
90
- print("Transaction Signature", txn_sig)
91
- confirm = confirm_txn(txn_sig)
92
- print(confirm)
93
- def get_all_buy_sell_info(mint,payer_keypair=None,token_balance=None):
91
+ return txn
92
+
93
+ def get_all_buy_sell_info(mint,payer_pubkey,token_balance=None,sol_in=0):
94
94
  try:
95
- payer_keypair = payer_keypair or load_from_private_key()
96
- payer_pubkey = payer_keypair.pubkey()
97
- print("Owner Public Key:", owner)
95
+ print("Owner Public Key:", payer_pubkey)
98
96
  mint_str = str(mint)
99
97
  if not get_pubkey(mint_str).is_on_curve():
100
98
  print('Mint public key is not on curve')
@@ -102,13 +100,13 @@ def get_all_buy_sell_info(mint,payer_keypair=None,token_balance=None):
102
100
  coin_data = get_pump_fun_data(mint_str)
103
101
  print("Coin Data:", coin_data)
104
102
  # Get coin data
105
- coin_data = get_coin_data(mint_str)
103
+
106
104
  print(coin_data)
107
105
  if not coin_data:
108
106
  print("Failed to retrieve coin data...")
109
107
  return False
110
108
  mint_pubkey = get_pubkey(mint_str)
111
- token_account, token_account_instructions = check_existing_token_account(owner, mint_pubkey)
109
+ token_account, token_account_instructions = check_existing_token_account(payer_pubkey, mint_pubkey)
112
110
  token_account_pubkey = get_pubkey(token_account)
113
111
  # Ensure the token_account is a valid Pubkey
114
112
  if not isinstance(token_account_pubkey, Pubkey):
@@ -132,22 +130,22 @@ def get_all_buy_sell_info(mint,payer_keypair=None,token_balance=None):
132
130
  except Exception as e:
133
131
  print(e)
134
132
 
135
- def pump_fun_sell(mint_str: str, token_balance: Optional[Union[int, float]] = None, slippage: int = 25, close_token_account: bool = True) -> bool:
136
- mint,amount,token_balance,token_price,token_account_pubkey,token_account_instructions = get_all_buy_sell_info(mint,payer_keypair,token_balance)
137
- buildTxn(mint=mint,
138
- amount=amount,
139
- slippage=slippage,
140
- sol_in=0,
141
- token_balance=token_balance,
142
- token_price=token_price,
143
- token_account_pubkey=token_account_pubkey,
144
- token_account_instructions=token_account_instructions,
145
- buy=False)
133
+ def pump_fun_sell(mint: str,payer_pubkey:Pubkey, token_balance: Optional[Union[int, float]] = None, slippage: int = 25, close_token_account: bool = True) -> bool:
134
+ mint,amount,token_balance,token_price,token_account_pubkey,token_account_instructions = get_all_buy_sell_info(mint,payer_pubkey,token_balance=token_balance)
135
+ return buildTxn(mint=mint,
136
+ amount=amount,
137
+ slippage=slippage,
138
+ sol_in=0,
139
+ token_balance=token_balance,
140
+ token_price=token_price,
141
+ token_account_pubkey=token_account_pubkey,
142
+ token_account_instructions=token_account_instructions,
143
+ buy=False)
146
144
 
147
- def pump_fun_buy(mint_str: str, sol_in: float = 0.001, slippage: int = 25) -> bool:
148
- mint,amount,token_balance,token_price,token_account_pubkey,token_account_instructions = get_all_buy_sell_info(mint,payer_keypair)
145
+ def pump_fun_buy(mint: str,payer_pubkey:Pubkey, sol_in: float = 0.001, slippage: int = 25) -> bool:
146
+ mint,amount,token_balance,token_price,token_account_pubkey,token_account_instructions = get_all_buy_sell_info(mint,payer_pubkey,sol_in=sol_in)
149
147
  # Build the transaction
150
- buildTxn(mint=mint,
148
+ return buildTxn(mint=mint,
151
149
  amount=amount,
152
150
  slippage=slippage,
153
151
  sol_in=sol_in,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: abstract_solana
3
- Version: 0.0.0.38
3
+ Version: 0.0.0.40
4
4
  Home-page: https://github.com/AbstractEndeavors/abstract_solana
5
5
  Author: putkoff
6
6
  Author-email: partners@abstractendeavors.com
@@ -1,7 +1,8 @@
1
1
  from abstract_solana import pump_fun_sell,load_from_private_key,sendTransaction,load_from_private_key
2
2
  payer_keypair = load_from_private_key()
3
+ payer_pubkey = payer_keypair.pubkey()
3
4
  mint_str = "3bb6QmvustnZ627Kg2QvwTSi8gmxp7Y6orwXUokEwUyV"
4
- txn = pump_fun_sell(mint=mint_str, token_balance=None, slippage=25)
5
+ txn = pump_fun_sell(mint=mint_str,payer_pubkey=payer_pubkey, token_balance=None, slippage=25)
5
6
  txn_sig = sendTransaction(txn, payer_keypair, TxOpts(skip_preflight=True))
6
7
  print("Transaction Signature", txn_sig)
7
8
  confirm = confirm_txn(txn_sig)