View Source Tezex.Rpc (tezex v3.0.1)

Send transactions to the Tezos network.

send_operation/4 is the main function, see tests for usage.

Summary

Types

@type encoded_private_key() :: <<_::32, _::_*8>>
@type operation() :: map()
Link to this type

preapplied_operations()

View Source
@type preapplied_operations() :: map()
@type t() :: %Tezex.Rpc{
  chain_id: binary(),
  endpoint: binary(),
  headers: Finch.Request.headers(),
  opts: Finch.request_opts()
}
@type transaction() :: map()

Functions

Link to this function

fill_operation_fee(operation, preapplied_operations, opts \\ [])

View Source
@spec fill_operation_fee(
  operation(),
  [preapplied_operations()],
  gas_limit: non_neg_integer(),
  storage_limit: non_neg_integer(),
  gas_reserve: non_neg_integer(),
  burn_reserve: non_neg_integer()
) :: operation()
Link to this function

forge_and_sign_operation(operation, encoded_private_key)

View Source
@spec forge_and_sign_operation(operation(), encoded_private_key()) ::
  {:ok, nonempty_binary()} | {:error, nonempty_binary()}

Sign the forged operation and returns the forged operation+signature payload to be injected.

Link to this function

get_balance(rpc, address)

View Source
@spec get_balance(t(), nonempty_binary()) ::
  {:ok, pos_integer()}
  | {:error, Finch.Error.t()}
  | {:error, Jason.DecodeError.t()}
Link to this function

get_block(rpc, hash \\ "head")

View Source
@spec get_block(t(), nonempty_binary()) ::
  {:ok, map()} | {:error, Finch.Error.t()} | {:error, Jason.DecodeError.t()}
Link to this function

get_block_at_offset(rpc, offset)

View Source
@spec get_block_at_offset(t(), integer()) ::
  {:ok, map()} | {:error, Finch.Error.t()} | {:error, Jason.DecodeError.t()}
Link to this function

get_counter_for_account(rpc, address)

View Source
@spec get_counter_for_account(t(), nonempty_binary()) ::
  integer() | {:error, :not_integer} | {:error, Finch.Error.t()}
Link to this function

get_next_counter_for_account(rpc, address)

View Source
@spec get_next_counter_for_account(t(), nonempty_binary()) :: integer()
Link to this function

inject_operation(rpc, payload)

View Source
@spec inject_operation(t(), any()) ::
  {:ok, any()} | {:error, Finch.Error.t()} | {:error, Jason.DecodeError.t()}
Link to this function

preapply_operation(rpc, operation, encoded_private_key, protocol)

View Source
@spec preapply_operation(t(), map(), encoded_private_key(), any()) ::
  {:ok, any()}
  | {:error, Finch.Error.t()}
  | {:error, Jason.DecodeError.t()}
  | {:error, term()}

Simulate the application of the operations with the context of the given block and return the result of each operation application.

Link to this function

prepare_operation(transactions, wallet_address, counter, branch)

View Source
@spec prepare_operation(
  [transaction()],
  nonempty_binary(),
  integer(),
  nonempty_binary()
) :: operation()
Link to this function

send_operation(rpc, transactions, wallet_address, encoded_private_key, opts \\ [])

View Source
@spec send_operation(
  t(),
  [transaction()] | transaction(),
  nonempty_binary(),
  encoded_private_key(),
  offset: non_neg_integer(),
  storage_limit: non_neg_integer()
) :: {:ok, any()} | {:error, Finch.Error.t()} | {:error, Jason.DecodeError.t()}

Send an operation to a Tezos RPC node.