Rujira.Contracts (rujira_ex v0.0.1)

Copy Markdown View Source

Convenience methods for querying CosmWasm smart contracts.

Summary

Types

t()

@type t() :: %Rujira.Contracts{
  address: String.t(),
  id: String.t(),
  info: Cosmwasm.Wasm.V1.ContractInfo.t() | nil
}

Functions

build_address(t1, t2, t3)

@spec build_address(binary(), String.t(), non_neg_integer() | String.t()) ::
  {:ok, String.t()} | {:error, term()}

build_address!(t1, t2, t3)

@spec build_address!(binary(), String.t(), non_neg_integer() | String.t()) ::
  String.t()

by_code(t1)

@spec by_code(integer()) :: {:ok, [t()]} | {:error, GRPC.RPCError.t()}

by_codes(code_ids)

@spec by_codes([integer()]) :: {:ok, [t()]} | {:error, GRPC.RPCError.t()}

code(t1)

@spec code(integer()) ::
  {:ok, Cosmwasm.Wasm.V1.QueryCodeResponse} | {:error, GRPC.RPCError.t()}

code_info(t1)

@spec code_info(non_neg_integer()) ::
  {:ok, Cosmwasm.Wasm.V1.CodeInfoResponse.t()} | {:error, GRPC.RPCError.t()}

codes()

@spec codes() ::
  {:ok, [Cosmwasm.Wasm.V1.CodeInfoResponse.t()]} | {:error, GRPC.RPCError.t()}

from_id(id)

@spec from_id(String.t()) :: {:ok, t()}

get(t1)

@spec get({module(), String.t() | t()} | struct()) ::
  {:ok, struct()} | {:error, any()}

info(t1)

@spec info(String.t()) ::
  {:ok, Cosmwasm.Wasm.V1.ContractInfo.t()} | {:error, GRPC.RPCError.t()}

list(t1, t2)

@spec list(module(), [integer()]) :: {:ok, [struct()]} | {:error, GRPC.RPCError.t()}

paginate(result, key, limit, next_fn)

@spec paginate(
  {:ok, map()} | {:error, any()},
  String.t(),
  pos_integer(),
  (list() -> {:ok, list()} | {:error, any()})
) :: {:ok, list()} | {:error, any()}

Paginates through a smart contract query result set.

query_state_all(t1)

@spec query_state_all(String.t()) :: {:ok, map()} | {:error, GRPC.RPCError.t()}

Queries the full, raw contract state at an address

query_state_raw(address, query)

@spec query_state_raw(String.t(), binary()) ::
  {:ok, term()} | {:error, :not_found} | {:error, GRPC.RPCError.t()}

query_state_smart(address, query)

@spec query_state_smart(String.t(), map()) ::
  {:ok, map()} | {:error, GRPC.RPCError.t()}

query_state_smart(address, query, opts)

@spec query_state_smart(String.t(), map(), keyword()) ::
  {:ok, map()} | {:error, GRPC.RPCError.t()}

query_state_smart_with_retry(address, query)

@spec query_state_smart_with_retry(String.t(), map()) ::
  {:ok, map()} | {:error, term()}

stream_state_all(address)

@spec stream_state_all(String.t()) :: Enumerable.t()

Streams the current contract state

version(t1)

@spec version(String.t()) ::
  {:ok, %{contract: String.t(), version: String.t()} | nil} | {:error, term()}