eosrpc v0.4.1 EOSRPC.Wallet View Source

EOSRPC Wallet Wrapper for Elixir

Based on source code, since there is no documentation for this https://github.com/EOSIO/eos/blob/master/plugins/wallet_api_plugin/wallet_api_plugin.cpp

Link to this section Summary

Functions

Create a new wallet with the given name

Perform a DELETE request

Perform a DELETE request

Perform a GET request

Perform a GET request

List all public keys across all wallets

Perform a HEAD request

Perform a HEAD request

Import a private key to the wallet of the given name

List all wallets

List all key pairs across all wallets

Lock a wallet of the given name

Lock all wallets

Open an existing wallet of the given name

Perform a OPTIONS request

Perform a OPTIONS request

Perform a PATCH request

Perform a PATCH request

Perform a POST request

Perform a POST request

Perform a PUT request

Perform a PUT request

Perform request and raise in case of error

Set wallet auto lock timeout (in seconds)

Sign transaction given an array of transaction, require public keys, and chain id

Perform a TRACE request

Perform a TRACE request

Unlock a wallet with the given name and password

Link to this section Types

Link to this type option() View Source
option() ::
  {:method, Tesla.Env.method()}
  | {:url, Tesla.Env.url()}
  | {:query, Tesla.Env.query()}
  | {:headers, Tesla.Env.headers()}
  | {:body, Tesla.Env.body()}
  | {:opts, Tesla.Env.opts()}

Link to this section Functions

Create a new wallet with the given name

Perform a DELETE request.

See request!/1 or request!/2 for options definition.

delete!("/users")
delete!("/users", query: [scope: "admin"])
delete!(client, "/users")
delete!(client, "/users", query: [scope: "admin"])

Perform a DELETE request.

See request/1 or request/2 for options definition.

delete("/users")
delete("/users", query: [scope: "admin"])
delete(client, "/users")
delete(client, "/users", query: [scope: "admin"])

Perform a GET request.

See request!/1 or request!/2 for options definition.

get!("/users")
get!("/users", query: [scope: "admin"])
get!(client, "/users")
get!(client, "/users", query: [scope: "admin"])

Perform a GET request.

See request/1 or request/2 for options definition.

get("/users")
get("/users", query: [scope: "admin"])
get(client, "/users")
get(client, "/users", query: [scope: "admin"])

List all public keys across all wallets

Perform a HEAD request.

See request!/1 or request!/2 for options definition.

head!("/users")
head!("/users", query: [scope: "admin"])
head!(client, "/users")
head!(client, "/users", query: [scope: "admin"])

Perform a HEAD request.

See request/1 or request/2 for options definition.

head("/users")
head("/users", query: [scope: "admin"])
head(client, "/users")
head(client, "/users", query: [scope: "admin"])

Import a private key to the wallet of the given name

List all key pairs across all wallets

Lock a wallet of the given name

Lock all wallets

Open an existing wallet of the given name

Link to this function options!(client, url, opts) View Source

Perform a OPTIONS request.

See request!/1 or request!/2 for options definition.

options!("/users")
options!("/users", query: [scope: "admin"])
options!(client, "/users")
options!(client, "/users", query: [scope: "admin"])

Perform a OPTIONS request.

See request/1 or request/2 for options definition.

options("/users")
options("/users", query: [scope: "admin"])
options(client, "/users")
options(client, "/users", query: [scope: "admin"])

Perform a PATCH request.

See request!/1 or request!/2 for options definition.

patch!("/users", %{name: "Jon"})
patch!("/users", %{name: "Jon"}, query: [scope: "admin"])
patch!(client, "/users", %{name: "Jon"})
patch!(client, "/users", %{name: "Jon"}, query: [scope: "admin"])

Perform a PATCH request.

See request/1 or request/2 for options definition.

patch("/users", %{name: "Jon"})
patch("/users", %{name: "Jon"}, query: [scope: "admin"])
patch(client, "/users", %{name: "Jon"})
patch(client, "/users", %{name: "Jon"}, query: [scope: "admin"])

Perform a POST request.

See request!/1 or request!/2 for options definition.

post!("/users", %{name: "Jon"})
post!("/users", %{name: "Jon"}, query: [scope: "admin"])
post!(client, "/users", %{name: "Jon"})
post!(client, "/users", %{name: "Jon"}, query: [scope: "admin"])

Perform a POST request.

See request/1 or request/2 for options definition.

post("/users", %{name: "Jon"})
post("/users", %{name: "Jon"}, query: [scope: "admin"])
post(client, "/users", %{name: "Jon"})
post(client, "/users", %{name: "Jon"}, query: [scope: "admin"])

Perform a PUT request.

See request!/1 or request!/2 for options definition.

put!("/users", %{name: "Jon"})
put!("/users", %{name: "Jon"}, query: [scope: "admin"])
put!(client, "/users", %{name: "Jon"})
put!(client, "/users", %{name: "Jon"}, query: [scope: "admin"])

Perform a PUT request.

See request/1 or request/2 for options definition.

put("/users", %{name: "Jon"})
put("/users", %{name: "Jon"}, query: [scope: "admin"])
put(client, "/users", %{name: "Jon"})
put(client, "/users", %{name: "Jon"}, query: [scope: "admin"])
Link to this function request!(client \\ %Tesla.Client{}, options) View Source
request!(Tesla.Env.client(), [option()]) :: Tesla.Env.t() | no_return()

Perform request and raise in case of error.

This is similar to request/2 behaviour from Tesla 0.x

See request/2 for list of available options.

Link to this function request(client \\ %Tesla.Client{}, options) View Source

Perform a request

Options:

  • :method - the request method, one of [:head, :get, :delete, :trace, :options, :post, :put, :patch]
  • :url - either full url e.g. “http://example.com/some/path” or just “/some/path” if using Tesla.Middleware.BaseUrl
  • :query - a keyword list of query params, e.g. [page: 1, per_page: 100]
  • :headers - a keyworld list of headers, e.g. [{"content-type", "text/plain"}]
  • :body - depends on used middleware:

    • by default it can be a binary
    • if using e.g. JSON encoding middleware it can be a nested map
    • if adapter supports it it can be a Stream with any of the above
  • :opts - custom, per-request middleware or adapter options

Examples:

ExampleApi.request(method: :get, url: "/users/path")

You can also use shortcut methods like:

ExampleApi.get("/users/1")

or

ExampleApi.post(client, "/users", %{name: "Jon"})

Set wallet auto lock timeout (in seconds)

Link to this function sign_transaction!(transaction, keys) View Source
Link to this function sign_transaction!(transaction, keys, chain_id) View Source
Link to this function sign_transaction(transaction, keys) View Source

Sign transaction given an array of transaction, require public keys, and chain id

transaction structure like this json:

{
  "signatures": [],
  "compression": "none",
  "transaction": {
    "context_free_actions": [],
    "delay_sec": 0,
    "expiration": "2018-09-25T06:28:49",
    "max_cpu_usage_ms": 0,
    "net_usage_words": 0,
    "ref_block_num": 32697,
    "ref_block_prefix": 32649123,
    "transaction_extensions": []
    "actions": [
      {
        "account": "eosio",
        "name": "transfer",
        "authorization": [
          {
            "actor": "eosio",
            "permission": "active"
          }
        ],
        "data": "0000000050a430550000000000003ab60a000000000000000045434f0000000000"
      }
    ]
  }
}

keys a list of public keys chain_id the chain id, a field from chain_info

Link to this function sign_transaction(transaction, keys, chain_id) View Source

Perform a TRACE request.

See request!/1 or request!/2 for options definition.

trace!("/users")
trace!("/users", query: [scope: "admin"])
trace!(client, "/users")
trace!(client, "/users", query: [scope: "admin"])

Perform a TRACE request.

See request/1 or request/2 for options definition.

trace("/users")
trace("/users", query: [scope: "admin"])
trace(client, "/users")
trace(client, "/users", query: [scope: "admin"])

Unlock a wallet with the given name and password