coinbase_agentkit.action_providers.wow package

Subpackages

Submodules

coinbase_agentkit.action_providers.wow.constants module

Constants for WOW action provider.

coinbase_agentkit.action_providers.wow.schemas module

Schemas for WOW action provider.

class coinbase_agentkit.action_providers.wow.schemas.WowBuyTokenSchema(**data)

Bases: BaseModel

Input schema for buying WOW tokens.

amount_eth_in_wei: str
contract_address: str
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod validate_address(v)

Validate that the contract address is a valid Ethereum address.

Parameters:

v (str) – The contract address to validate

Returns:

The validated contract address

Return type:

str

Raises:

ValueError – If the address is not a valid Ethereum address

class coinbase_agentkit.action_providers.wow.schemas.WowCreateTokenSchema(**data)

Bases: BaseModel

Input schema for creating WOW tokens.

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

name: str
symbol: str
token_uri: str | None
class coinbase_agentkit.action_providers.wow.schemas.WowSellTokenSchema(**data)

Bases: BaseModel

Input schema for selling WOW tokens.

amount_tokens_in_wei: str
contract_address: str
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

classmethod validate_address(v)

Validate that the contract address is a valid Ethereum address.

Parameters:

v (str) – The contract address to validate

Returns:

The validated contract address

Return type:

str

Raises:

ValueError – If the address is not a valid Ethereum address

coinbase_agentkit.action_providers.wow.utils module

Utilities for WOW action provider.

coinbase_agentkit.action_providers.wow.utils.get_buy_quote(wallet_provider, token_address, amount_eth_in_wei)

Get quote for buying tokens.

Parameters:
  • wallet_provider (EvmWalletProvider) – The wallet provider to use for contract calls

  • token_address (str) – Address of the token contract, such as 0x036CbD53842c5426634e7929541eC2318f3dCF7e

  • amount_eth_in_wei (str) – Amount of ETH to buy (in wei), meaning 1 is 1 wei or 0.000000000000000001 of ETH

Returns:

The amount of tokens that would be received for the given ETH amount

Return type:

int

coinbase_agentkit.action_providers.wow.utils.get_current_supply(wallet_provider, token_address)

Get the current supply of a token.

Parameters:
  • wallet_provider (EvmWalletProvider) – The wallet provider to use for contract calls

  • token_address (str) – Address of the token contract, such as 0x036CbD53842c5426634e7929541eC2318f3dCF7e

Returns:

The current total supply of the token

Return type:

int

coinbase_agentkit.action_providers.wow.utils.get_factory_address(chain_id)

Get the Zora Wow ERC20 Factory contract address for the specified network.

Parameters:

chain_id (str) – The chain ID to get the contract address for. Valid networks are: base-sepolia, base-mainnet.

Returns:

The contract address for the specified network.

Return type:

str

Raises:

ValueError – If the specified network is not supported.

coinbase_agentkit.action_providers.wow.utils.get_sell_quote(wallet_provider, token_address, amount_tokens_in_wei)

Get quote for selling tokens.

Parameters:
  • wallet_provider (EvmWalletProvider) – The wallet provider to use for contract calls

  • token_address (str) – Address of the token contract, such as 0x036CbD53842c5426634e7929541eC2318f3dCF7e

  • amount_tokens_in_wei (str) – Amount of tokens to sell (in wei), meaning 1 is 1 wei or 0.000000000000000001 of the token

Returns:

The amount of ETH that would be received for the given token amount

Return type:

int

coinbase_agentkit.action_providers.wow.wow_action_provider module

WOW action provider.

class coinbase_agentkit.action_providers.wow.wow_action_provider.WowActionProvider

Bases: ActionProvider[EvmWalletProvider]

Provides actions for interacting with WOW protocol.

buy_token(wallet_provider, args)

Buy WOW tokens with ETH.

Parameters:
  • wallet_provider (EvmWalletProvider) – The wallet provider to buy tokens from.

  • args (dict[str, Any]) – Input arguments containing contract_address and amount_eth_in_wei.

Returns:

A message containing the purchase details or error message.

Return type:

str

create_token(wallet_provider, args)

Create a new WOW token using the factory contract.

Parameters:
  • wallet_provider (EvmWalletProvider) – Provider for wallet operations.

  • args (dict[str, Any]) – Input arguments containing name, symbol, and optional token_uri.

Returns:

A message containing the creation details or error message.

Return type:

str

sell_token(wallet_provider, args)

Sell WOW tokens for ETH.

Parameters:
  • wallet_provider (EvmWalletProvider) – The wallet provider to sell tokens from.

  • args (dict[str, Any]) – Input arguments containing contract_address and amount_tokens_in_wei.

Returns:

A message containing the sell details or error message.

Return type:

str

supports_network(network)

Check if network is supported by WOW protocol.

Parameters:

network (Network) – The network to check support for.

Returns:

True if network is supported, False otherwise.

Return type:

bool

coinbase_agentkit.action_providers.wow.wow_action_provider.wow_action_provider()

Create a new WowActionProvider instance.

Return type:

WowActionProvider

Module contents

WOW action provider for memecoin interactions.