-
Notifications
You must be signed in to change notification settings - Fork 102
Open
Description
Currently, the code does not provide any functionality for optimizing Gas fees, which are a critical factor when performing transactions on Solana. Users have no way to estimate Gas costs or customize Gas fees, which can lead to inefficient transactions and higher costs.
To improve the user experience and efficiency of transactions, I recommend adding the following Gas optimization features:
- Automatic Gas Estimation: Automatically estimate Gas fees for transactions and provide optimization suggestions.
- Custom Gas Fees: Allow users to manually set Gas fees for transactions.
Here’s an example of how Gas optimization could be implemented:
async def estimate_gas(self, tx: Transaction) -> int:
"""
Estimate the Gas fee for a transaction.
Args:
tx (Transaction): The transaction to estimate Gas for.
Returns:
int: Estimated Gas fee.
"""
gas = await self.connection.estimate_gas(tx)
logger.info(f"Estimated Gas: {gas}")
return gas
async def send_transaction_with_custom_gas(self, tx: Transaction, gas_limit: Optional[int] = None) -> str:
"""
Send a transaction with a custom Gas limit.
Args:
tx (Transaction): The transaction to send.
gas_limit (Optional[int]): Custom Gas limit (optional).
Returns:
str: Transaction signature.
"""
if gas_limit:
tx.set_gas_limit(gas_limit)
return await self.connection.send_transaction(tx)
Metadata
Metadata
Assignees
Labels
No labels