Skip to content

cosmpy.aerial.contract.__init__

cosmwasm contract functionality.

LedgerContract Objects

class LedgerContract(UserString)

Ledger contract.

__init__

def __init__(path: Optional[str],
             client: LedgerClient,
             address: Optional[Address] = None,
             digest: Optional[bytes] = None,
             schema_path: Optional[str] = None,
             code_id: Optional[int] = None)

Initialize the Ledger contract.

Arguments:

  • path: Path
  • client: Ledger client
  • address: address, defaults to None
  • digest: digest, defaults to None
  • schema_path: path to contract schema, defaults to None
  • code_id: optional int. code id of the contract stored

path

@property
def path() -> Optional[str]

Get contract path.

Returns:

contract path

digest

@property
def digest() -> Optional[bytes]

Get the contract digest.

Returns:

contract digest

code_id

@property
def code_id() -> Optional[int]

Get the code id.

Returns:

code id

address

@property
def address() -> Optional[Address]

Get the contract address.

Returns:

contract address

store

def store(sender: Wallet,
          gas_limit: Optional[int] = None,
          memo: Optional[str] = None) -> int

Store the contract.

Arguments:

  • sender: sender wallet address
  • gas_limit: transaction gas limit, defaults to None
  • memo: transaction memo, defaults to None

Raises:

  • RuntimeError: Runtime error

Returns:

code id

instantiate

def instantiate(args: Any,
                sender: Wallet,
                label: Optional[str] = None,
                gas_limit: Optional[int] = None,
                admin_address: Optional[Address] = None,
                funds: Optional[str] = None) -> Address

Instantiate the contract.

Arguments:

  • args: args
  • sender: sender wallet address
  • label: label, defaults to None
  • gas_limit: transaction gas limit, defaults to None
  • admin_address: admin address, defaults to None
  • funds: funds, defaults to None

Raises:

  • RuntimeError: Unable to extract contract code id

Returns:

contract address

upgrade

def upgrade(args: Any,
            sender: Wallet,
            new_path: str,
            gas_limit: Optional[int] = None) -> SubmittedTx

Store new contract code and migrate the current contract address.

Arguments:

  • args: args
  • sender: sender wallet address
  • new_path: path to new contract
  • gas_limit: transaction gas limit, defaults to None

Raises:

  • RuntimeError: Unable to extract contract code id

Returns:

contract address

migrate

def migrate(args: Any,
            sender: Wallet,
            new_code_id: int,
            gas_limit: Optional[int] = None) -> SubmittedTx

Migrate the current contract address to new code id.

Arguments:

  • args: args
  • sender: sender wallet address
  • new_code_id: Code id of the newly deployed contract
  • gas_limit: transaction gas limit, defaults to None

Raises:

  • RuntimeError: Unable to extract contract code id

Returns:

contract address

deploy

def deploy(args: Any,
           sender: Wallet,
           label: Optional[str] = None,
           store_gas_limit: Optional[int] = None,
           instantiate_gas_limit: Optional[int] = None,
           admin_address: Optional[Address] = None,
           funds: Optional[str] = None) -> Address

Deploy the contract.

Arguments:

  • args: args
  • sender: sender address
  • label: label, defaults to None
  • store_gas_limit: store gas limit, defaults to None
  • instantiate_gas_limit: instantiate gas limit, defaults to None
  • admin_address: admin address, defaults to None
  • funds: funds, defaults to None

Returns:

instantiate contract details

execute

def execute(args: Any,
            sender: Wallet,
            gas_limit: Optional[int] = None,
            funds: Optional[str] = None) -> SubmittedTx

execute the contract.

Arguments:

  • args: args
  • sender: sender address
  • gas_limit: transaction gas limit, defaults to None
  • funds: funds, defaults to None

Raises:

  • RuntimeError: Contract appears not to be deployed currently

Returns:

transaction details broadcast

query

def query(args: Any) -> Any

Query on contract.

Arguments:

  • args: args

Raises:

  • RuntimeError: Contract appears not to be deployed currently

Returns:

query result

data

@property
def data()

Get the contract address.

Returns:

contract address

__json__

def __json__()

Get the contract details in json.

Returns:

contract details in json