abstract-solana 0.0.0.70__tar.gz → 0.0.0.72__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.
- {abstract_solana-0.0.0.70 → abstract_solana-0.0.0.72}/PKG-INFO +1 -1
- {abstract_solana-0.0.0.70 → abstract_solana-0.0.0.72}/setup.py +1 -1
- {abstract_solana-0.0.0.70 → abstract_solana-0.0.0.72}/src/abstract_solana/keypair_utils.py +5 -2
- {abstract_solana-0.0.0.70 → abstract_solana-0.0.0.72}/src/abstract_solana/pumpFun/buy_sell_pump.py +17 -14
- {abstract_solana-0.0.0.70 → abstract_solana-0.0.0.72}/src/abstract_solana.egg-info/PKG-INFO +1 -1
- {abstract_solana-0.0.0.70 → abstract_solana-0.0.0.72}/README.md +0 -0
- {abstract_solana-0.0.0.70 → abstract_solana-0.0.0.72}/setup.cfg +0 -0
- {abstract_solana-0.0.0.70 → abstract_solana-0.0.0.72}/src/abstract_solana/__init__.py +0 -0
- {abstract_solana-0.0.0.70 → abstract_solana-0.0.0.72}/src/abstract_solana/account_key_utils.py +0 -0
- {abstract_solana-0.0.0.70 → abstract_solana-0.0.0.72}/src/abstract_solana/constants.py +0 -0
- {abstract_solana-0.0.0.70 → abstract_solana-0.0.0.72}/src/abstract_solana/genesis_functions.py +0 -0
- {abstract_solana-0.0.0.70 → abstract_solana-0.0.0.72}/src/abstract_solana/index_utils.py +0 -0
- {abstract_solana-0.0.0.70 → abstract_solana-0.0.0.72}/src/abstract_solana/log_message_functions.py +0 -0
- {abstract_solana-0.0.0.70 → abstract_solana-0.0.0.72}/src/abstract_solana/price_utils.py +0 -0
- {abstract_solana-0.0.0.70 → abstract_solana-0.0.0.72}/src/abstract_solana/pubkey_utils.py +0 -0
- {abstract_solana-0.0.0.70 → abstract_solana-0.0.0.72}/src/abstract_solana/pumpFun/__init__.py +0 -0
- {abstract_solana-0.0.0.70 → abstract_solana-0.0.0.72}/src/abstract_solana/pumpFun/pump_fun_keys.py +0 -0
- {abstract_solana-0.0.0.70 → abstract_solana-0.0.0.72}/src/abstract_solana/pumpFun/token_utils.py +0 -0
- {abstract_solana-0.0.0.70 → abstract_solana-0.0.0.72}/src/abstract_solana/signature_data_parse.py +0 -0
- {abstract_solana-0.0.0.70 → abstract_solana-0.0.0.72}/src/abstract_solana/utils.py +0 -0
- {abstract_solana-0.0.0.70 → abstract_solana-0.0.0.72}/src/abstract_solana.egg-info/SOURCES.txt +0 -0
- {abstract_solana-0.0.0.70 → abstract_solana-0.0.0.72}/src/abstract_solana.egg-info/dependency_links.txt +0 -0
- {abstract_solana-0.0.0.70 → abstract_solana-0.0.0.72}/src/abstract_solana.egg-info/requires.txt +0 -0
- {abstract_solana-0.0.0.70 → abstract_solana-0.0.0.72}/src/abstract_solana.egg-info/top_level.txt +0 -0
- {abstract_solana-0.0.0.70 → abstract_solana-0.0.0.72}/test/test_abstract_solana.py +0 -0
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
from abstract_security import *
|
|
2
2
|
from solders.keypair import Keypair
|
|
3
3
|
import base58
|
|
4
|
-
def load_from_private_key(env_key='AMM_P'):
|
|
5
|
-
|
|
4
|
+
def load_from_private_key(env_key='AMM_P',path=None):
|
|
5
|
+
if path:
|
|
6
|
+
env_value = get_env_value(path=path,key=env_key)
|
|
7
|
+
else:
|
|
8
|
+
env_value = get_env_value(key=env_key)
|
|
6
9
|
if env_value:
|
|
7
10
|
return Keypair.from_base58_string(env_value)
|
|
8
11
|
|
{abstract_solana-0.0.0.70 → abstract_solana-0.0.0.72}/src/abstract_solana/pumpFun/buy_sell_pump.py
RENAMED
|
@@ -88,7 +88,7 @@ def pump_fun_sell(mint: str,payer_pubkey:Pubkey, token_balance: Optional[Union[i
|
|
|
88
88
|
buy=False)
|
|
89
89
|
|
|
90
90
|
def pump_fun_buy(mint: str,payer_pubkey:Pubkey, sol_in: float = 0.001, slippage: int = 25) -> bool:
|
|
91
|
-
mint,amount,token_balance,token_price,token_account,token_account_instructions = get_all_buy_sell_info(mint,payer_pubkey,sol_in=sol_in,buy=True
|
|
91
|
+
mint,amount,token_balance,token_price,token_account,token_account_instructions = get_all_buy_sell_info(mint,payer_pubkey,sol_in=sol_in,buy=True)
|
|
92
92
|
if not mint:
|
|
93
93
|
return mint
|
|
94
94
|
return buildTxn(mint=mint,
|
|
@@ -115,33 +115,36 @@ async def confirm_txn(txn_sig, max_retries=20, retry_interval=3):
|
|
|
115
115
|
print(f"Failed to confirm transaction after {max_retries} attempts.")
|
|
116
116
|
return txn_sig
|
|
117
117
|
|
|
118
|
-
async def complete_txn(txn, payer_keypair):
|
|
118
|
+
async def complete_txn(txn, payer_keypair,confirm=True):
|
|
119
119
|
txn_sig = await sendTransaction(txn=txn, payer_keypair=payer_keypair, skip_preflight=True) # Await this async call
|
|
120
120
|
print("Transaction Signature", txn_sig)
|
|
121
|
-
confirm
|
|
121
|
+
if confirm:
|
|
122
|
+
confirm = await confirm_txn(txn_sig) # Await confirmation
|
|
122
123
|
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
124
|
+
while not confirm:
|
|
125
|
+
print("Waiting for transaction confirmation...")
|
|
126
|
+
await asyncio.sleep(1) # Use asyncio.sleep instead of time.sleep to avoid blocking
|
|
127
|
+
confirm = await confirm_txn(txn_sig) # Await confirmation check again
|
|
128
|
+
if confirm:
|
|
129
|
+
return confirm
|
|
130
|
+
print("Transaction confirmed:", confirm)
|
|
131
|
+
return confirm
|
|
132
|
+
return txn_sig
|
|
133
|
+
def buy_pump(mint: str, payer_keypair: Pubkey, sol_in=None, slippage=None,confirm=True):
|
|
131
134
|
sol_in = sol_in or 0.001
|
|
132
135
|
slippage = slippage or 25
|
|
133
136
|
payer_pubkey = get_pubkey(payer_keypair.pubkey())
|
|
134
137
|
txn = pump_fun_buy(mint=mint, payer_pubkey=payer_pubkey, sol_in=sol_in, slippage=slippage)
|
|
135
|
-
completed = asyncio.run(complete_txn(txn, payer_keypair)) # Await here since `complete_txn` is async
|
|
138
|
+
completed = asyncio.run(complete_txn(txn, payer_keypair,confirm=confirm)) # Await here since `complete_txn` is async
|
|
136
139
|
if not completed:
|
|
137
140
|
print("Buy transaction failed")
|
|
138
141
|
return completed
|
|
139
142
|
|
|
140
|
-
def sell_pump(mint:str, payer_keypair:Pubkey, token_balance=None, slippage=None):
|
|
143
|
+
def sell_pump(mint:str, payer_keypair:Pubkey, token_balance=None, slippage=None,confirm=True):
|
|
141
144
|
slippage = slippage or 25
|
|
142
145
|
payer_pubkey = get_pubkey(payer_keypair.pubkey())
|
|
143
146
|
txn = pump_fun_sell(mint=mint, payer_pubkey=payer_pubkey, token_balance=token_balance, slippage=slippage)
|
|
144
|
-
completed = asyncio.run(complete_txn(txn, payer_keypair))
|
|
147
|
+
completed = asyncio.run(complete_txn(txn, payer_keypair,confirm=confirm))
|
|
145
148
|
if not completed:
|
|
146
149
|
print("sell transaction failed")
|
|
147
150
|
return completed
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{abstract_solana-0.0.0.70 → abstract_solana-0.0.0.72}/src/abstract_solana/account_key_utils.py
RENAMED
|
File without changes
|
|
File without changes
|
{abstract_solana-0.0.0.70 → abstract_solana-0.0.0.72}/src/abstract_solana/genesis_functions.py
RENAMED
|
File without changes
|
|
File without changes
|
{abstract_solana-0.0.0.70 → abstract_solana-0.0.0.72}/src/abstract_solana/log_message_functions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{abstract_solana-0.0.0.70 → abstract_solana-0.0.0.72}/src/abstract_solana/pumpFun/__init__.py
RENAMED
|
File without changes
|
{abstract_solana-0.0.0.70 → abstract_solana-0.0.0.72}/src/abstract_solana/pumpFun/pump_fun_keys.py
RENAMED
|
File without changes
|
{abstract_solana-0.0.0.70 → abstract_solana-0.0.0.72}/src/abstract_solana/pumpFun/token_utils.py
RENAMED
|
File without changes
|
{abstract_solana-0.0.0.70 → abstract_solana-0.0.0.72}/src/abstract_solana/signature_data_parse.py
RENAMED
|
File without changes
|
|
File without changes
|
{abstract_solana-0.0.0.70 → abstract_solana-0.0.0.72}/src/abstract_solana.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{abstract_solana-0.0.0.70 → abstract_solana-0.0.0.72}/src/abstract_solana.egg-info/requires.txt
RENAMED
|
File without changes
|
{abstract_solana-0.0.0.70 → abstract_solana-0.0.0.72}/src/abstract_solana.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|