Commit before cuna
This commit is contained in:
109
python_scripts/README.md
Normal file
109
python_scripts/README.md
Normal file
@@ -0,0 +1,109 @@
|
||||
# PacaBotManager Python Client
|
||||
|
||||
A Python script to interact with your PacaBotManager contract on BSC mainnet using web3.py.
|
||||
|
||||
## Setup
|
||||
|
||||
1. **Install dependencies:**
|
||||
```bash
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
2. **Set up environment variables:**
|
||||
Create a `.env` file in the project root:
|
||||
```env
|
||||
PRIVATE_KEY=your_private_key_here_without_0x_prefix
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
### Basic Usage
|
||||
```bash
|
||||
python python_scripts/pacabotmanager_client.py
|
||||
```
|
||||
|
||||
### Available Functions
|
||||
|
||||
The script provides these main functions:
|
||||
|
||||
#### 1. View Functions (Read-only)
|
||||
```python
|
||||
# Get contract owners
|
||||
client.get_owner() # Bot manager owner
|
||||
client.get_paca_owner() # PACA contract owner
|
||||
|
||||
# Get user stakes
|
||||
stakes = client.get_stakes("0x41970Ce76b656030A79E7C1FA76FC4EB93980255")
|
||||
```
|
||||
|
||||
#### 2. Write Functions (Requires gas fees)
|
||||
```python
|
||||
# Clear all stakes for a user
|
||||
client.clear_stakes("0x41970Ce76b656030A79E7C1FA76FC4EB93980255")
|
||||
|
||||
# Clear all vestings for a user
|
||||
client.clear_vesting("0x41970Ce76b656030A79E7C1FA76FC4EB93980255")
|
||||
|
||||
# Execute multiple calls atomically
|
||||
calls = [
|
||||
{
|
||||
'target': paca_address,
|
||||
'callData': encoded_clear_stakes_call
|
||||
},
|
||||
{
|
||||
'target': paca_address,
|
||||
'callData': encoded_clear_vesting_call
|
||||
}
|
||||
]
|
||||
client.multi_call_atomic(calls)
|
||||
```
|
||||
|
||||
## Contract Addresses
|
||||
|
||||
- **PacaBotManager**: `0x4E5d3cD7743934b61041ba2ac3E9df39a0A26dcC`
|
||||
- **PACA BSC**: `0x3fF44D639a4982A4436f6d737430141aBE68b4E1`
|
||||
- **Network**: BSC Mainnet (Chain ID: 56)
|
||||
|
||||
## Safety Notes
|
||||
|
||||
⚠️ **WARNING**: The `clear_stakes` and `clear_vesting` functions affect real funds on mainnet!
|
||||
|
||||
- Only the bot manager owner can call these functions
|
||||
- Always test on a fork first if possible
|
||||
- Double-check user addresses before calling
|
||||
- These operations are irreversible
|
||||
|
||||
## Example Output
|
||||
|
||||
```
|
||||
🐍 PacaBotManager Python Client
|
||||
========================================
|
||||
🔑 Using account: 0xYourAddress
|
||||
💰 Balance: 0.295 BNB
|
||||
🤖 PacaBotManager: 0x4E5d3cD7743934b61041ba2ac3E9df39a0A26dcC
|
||||
🔗 PACA Contract: 0x3fF44D639a4982A4436f6d737430141aBE68b4E1
|
||||
🌐 Network: BSC Mainnet
|
||||
|
||||
📊 Getting stakes for user: 0x41970Ce76b656030A79E7C1FA76FC4EB93980255
|
||||
📈 User has 2 stakes:
|
||||
📌 Stake 1:
|
||||
Amount: 100.0 ETH
|
||||
Complete: False
|
||||
Status: 🟢 ACTIVE
|
||||
|
||||
📌 Stake 2:
|
||||
Amount: 20.357851028442383 ETH
|
||||
Complete: False
|
||||
Status: 🟢 ACTIVE
|
||||
|
||||
💎 Summary:
|
||||
Total Stakes: 2
|
||||
Active Stakes: 2
|
||||
Total Active Amount: 120.357851028442383 ETH
|
||||
```
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
- **"PRIVATE_KEY not found"**: Make sure your `.env` file exists and contains `PRIVATE_KEY=your_key`
|
||||
- **Gas estimation failed**: The function might be reverting (not authorized, invalid params, etc.)
|
||||
- **Insufficient funds**: Make sure you have enough BNB for gas fees
|
||||
Reference in New Issue
Block a user