Metadata-Version: 2.4
Name: cryptocom-tools-wallet
Version: 2.0.0
Summary: Wallet management tools for Crypto.com blockchain operations including signing and transactions
Author-email: "Crypto.com" <support@crypto.com>
License-Expression: MIT
Project-URL: Homepage, https://github.com/crypto-com/agent-client-py
Project-URL: Documentation, https://github.com/crypto-com/agent-client-py
Project-URL: Repository, https://github.com/crypto-com/agent-client-py
Project-URL: Bug Tracker, https://github.com/crypto-com/agent-client-py/issues
Keywords: blockchain,crypto,wallet,web3,crypto.com
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Office/Business :: Financial
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: cryptocom-tools-core>=2.0.0
Requires-Dist: crypto-com-developer-platform-client>=0.1.0
Requires-Dist: eth-account>=0.13.0
Requires-Dist: web3>=6.0.0
Requires-Dist: pydantic>=2.0.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
Requires-Dist: black>=23.0.0; extra == "dev"
Requires-Dist: ruff>=0.1.0; extra == "dev"
Requires-Dist: mypy>=1.0.0; extra == "dev"
Requires-Dist: basedpyright>=1.21.0; extra == "dev"
Dynamic: license-file

# cryptocom-tools-wallet

Wallet management tools for Crypto.com blockchain operations. Part of the Crypto.com tools ecosystem.

## Overview

This package provides framework-agnostic wallet management tools for blockchain operations. It handles wallet creation, storage, and state management without any dependencies on specific AI frameworks like LangChain or LangGraph.

## Features

- Create new wallets
- Manage multiple wallets
- Switch between active wallets
- Delete wallets from session
- Get wallet balances
- Wallet state management

## Installation

```bash
pip install cryptocom-tools-wallet
```

For development:

```bash
pip install -e .
```

## Usage

### Basic Wallet Operations

```python
from cryptocom_tools_wallet import CreateWalletTool, WalletState

# Initialize wallet state
state = WalletState()

# Create wallet tool with explicit dependency injection
create_tool = CreateWalletTool()

# Create a new wallet (returns WalletCredentials)
result = create_tool.execute(state=state)
print(f"Created wallet: {result.address}")
```

### Wallet State Management

```python
from cryptocom_tools_wallet import WalletState, WalletRegistry

# Initialize state
state = WalletState()

# Register a wallet
state.register_wallet("0x123...")

# Set active wallet
state.set_active_wallet("0x123...")

# Get active wallet
active = state.get_active_wallet()

# List all wallets
wallets = state.list_wallets()
```

## Framework Adapters

This package is designed to work with framework adapters from `cryptocom-tool-adapters`:

```python
# With LangGraph adapter
from cryptocom_tool_adapters import to_langgraph_tool

create_wallet_lg = to_langgraph_tool(
    create_tool,
    state_extractor=lambda s: {"state": s.get("wallet_state")}
)

# With OpenAI SDK adapter
from cryptocom_tool_adapters import to_openai_function

create_wallet_openai = to_openai_function(
    create_tool,
    context={"state": wallet_state}
)
```

## Development

```bash
# Install with dev dependencies
pip install -e ".[dev]"

# Run tests
pytest

# Type checking
basedpyright

# Linting
ruff check .

# Formatting
black .
```

## License

MIT
