wip
This commit is contained in:
parent
d9395a030c
commit
291a5fed2c
@ -756,7 +756,7 @@ class SolanaAPI:
|
|||||||
|
|
||||||
if self.pk is None:
|
if self.pk is None:
|
||||||
self.pk = await get_pk()
|
self.pk = await get_pk()
|
||||||
for retry in range(3):
|
for retry in range(1):
|
||||||
try:
|
try:
|
||||||
private_key = Keypair.from_bytes(base58.b58decode(self.pk))
|
private_key = Keypair.from_bytes(base58.b58decode(self.pk))
|
||||||
async_client = AsyncClient(SOLANA_WS_URL)
|
async_client = AsyncClient(SOLANA_WS_URL)
|
||||||
@ -806,59 +806,59 @@ class SolanaAPI:
|
|||||||
# )
|
# )
|
||||||
|
|
||||||
# working - no priority fee
|
# working - no priority fee
|
||||||
# signature = private_key.sign_message(message.to_bytes_versioned(raw_transaction.message))
|
signature = private_key.sign_message(message.to_bytes_versioned(raw_transaction.message))
|
||||||
# signed_txn = VersionedTransaction.populate(raw_transaction.message, [signature])
|
signed_txn = VersionedTransaction.populate(raw_transaction.message, [signature])
|
||||||
|
# # # # # # # # # # # # # # # # # #
|
||||||
# new - not working
|
# new - not working
|
||||||
# signature = private_key.sign_message(new_message.to_bytes_versioned())
|
# signature = private_key.sign_message(new_message.to_bytes_versioned())
|
||||||
# signed_txn = VersionedTransaction.populate(new_message, [signature])
|
# signed_txn = VersionedTransaction.populate(new_message, [signature])
|
||||||
from solders.compute_budget import set_compute_unit_price, ID as COMPUTE_BUDGET_ID
|
# from solders.compute_budget import set_compute_unit_price, ID as COMPUTE_BUDGET_ID
|
||||||
|
|
||||||
priority_fee_ix = set_compute_unit_price(priority_fee)
|
# priority_fee_ix = set_compute_unit_price(priority_fee)
|
||||||
|
|
||||||
|
# # Get the current message
|
||||||
|
# msg = raw_transaction.message
|
||||||
|
|
||||||
|
# new_account_keys = msg.account_keys
|
||||||
|
# program_id_index = 0
|
||||||
|
# if COMPUTE_BUDGET_ID not in msg.account_keys:
|
||||||
|
# new_account_keys = msg.account_keys + [COMPUTE_BUDGET_ID]
|
||||||
|
# program_id_index = len(msg.account_keys) # Index of the newly added program ID
|
||||||
|
# else:
|
||||||
|
# new_account_keys = msg.account_keys
|
||||||
|
# program_id_index = msg.account_keys.index(COMPUTE_BUDGET_ID)
|
||||||
|
|
||||||
|
# # Compile the priority fee instruction
|
||||||
|
# compiled_priority_fee_ix = CompiledInstruction(
|
||||||
|
# program_id_index=program_id_index,
|
||||||
|
# accounts=bytes([]),
|
||||||
|
# data=priority_fee_ix.data
|
||||||
|
# )
|
||||||
|
|
||||||
|
# # Add priority fee instruction at the beginning
|
||||||
|
# new_instructions = [compiled_priority_fee_ix] + msg.instructions
|
||||||
|
|
||||||
|
# # Create new message with updated instructions
|
||||||
|
# new_message = Message.new_with_compiled_instructions(
|
||||||
|
# num_required_signatures=msg.header.num_required_signatures,
|
||||||
|
# num_readonly_signed_accounts=msg.header.num_readonly_signed_accounts,
|
||||||
|
# num_readonly_unsigned_accounts=msg.header.num_readonly_unsigned_accounts,
|
||||||
|
# account_keys=new_account_keys,
|
||||||
|
# recent_blockhash=msg.recent_blockhash,
|
||||||
|
# instructions=new_instructions
|
||||||
|
# )
|
||||||
|
|
||||||
|
# signature = private_key.sign_message(message.to_bytes_versioned(new_message))
|
||||||
|
# signed_txn = VersionedTransaction.populate(new_message, [signature])
|
||||||
|
# # # # # # # # # # # # # # # # # #
|
||||||
|
|
||||||
# Get the current message
|
|
||||||
msg = raw_transaction.message
|
|
||||||
|
|
||||||
new_account_keys = msg.account_keys
|
|
||||||
program_id_index = 0
|
|
||||||
if COMPUTE_BUDGET_ID not in msg.account_keys:
|
|
||||||
new_account_keys = msg.account_keys + [COMPUTE_BUDGET_ID]
|
|
||||||
program_id_index = len(msg.account_keys) # Index of the newly added program ID
|
|
||||||
else:
|
|
||||||
new_account_keys = msg.account_keys
|
|
||||||
program_id_index = msg.account_keys.index(COMPUTE_BUDGET_ID)
|
|
||||||
|
|
||||||
# Compile the priority fee instruction
|
|
||||||
compiled_priority_fee_ix = CompiledInstruction(
|
|
||||||
program_id_index=program_id_index,
|
|
||||||
accounts=bytes([]),
|
|
||||||
data=priority_fee_ix.data
|
|
||||||
)
|
|
||||||
|
|
||||||
# Add priority fee instruction at the beginning
|
|
||||||
new_instructions = [compiled_priority_fee_ix] + msg.instructions
|
|
||||||
|
|
||||||
# Create new message with updated instructions
|
|
||||||
new_message = Message.new_with_compiled_instructions(
|
|
||||||
num_required_signatures=msg.header.num_required_signatures,
|
|
||||||
num_readonly_signed_accounts=msg.header.num_readonly_signed_accounts,
|
|
||||||
num_readonly_unsigned_accounts=msg.header.num_readonly_unsigned_accounts,
|
|
||||||
account_keys=new_account_keys,
|
|
||||||
recent_blockhash=msg.recent_blockhash,
|
|
||||||
instructions=new_instructions
|
|
||||||
)
|
|
||||||
|
|
||||||
#signature = private_key.sign_message(new_message.to_bytes_versioned())
|
|
||||||
signature = private_key.sign_message(message.to_bytes_versioned(new_message))
|
|
||||||
signed_txn = VersionedTransaction.populate(new_message, [signature])
|
|
||||||
|
|
||||||
opts = TxOpts(
|
opts = TxOpts(
|
||||||
skip_preflight=False,
|
skip_preflight=False,
|
||||||
preflight_commitment=Processed,
|
preflight_commitment=Processed,
|
||||||
# max_retries=10,
|
|
||||||
# priority_fee =fee.value
|
|
||||||
)
|
)
|
||||||
|
|
||||||
# send the transaction
|
# send the transaction
|
||||||
result = await async_client.send_raw_transaction(txn=bytes(signed_txn), opts=opts )
|
result = await async_client.send_raw_transaction(txn=bytes(signed_txn), opts=opts)
|
||||||
|
|
||||||
transaction_id = json.loads(result.to_json())['result']
|
transaction_id = json.loads(result.to_json())['result']
|
||||||
notification = f"Follow Transaction Sent:\n<b>Transaction:</b> <a href='https://solscan.io/tx/{transaction_id}'>swapping {amount_to_swap:.2f} {token_name_in}</a>"
|
notification = f"Follow Transaction Sent:\n<b>Transaction:</b> <a href='https://solscan.io/tx/{transaction_id}'>swapping {amount_to_swap:.2f} {token_name_in}</a>"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user