README.md

# EthContract

A set of helper methods to help query ETH smart contracts

## Installation

If [available in Hex](https://hex.pm/docs/publish), the package can be installed
by adding `eth_contract` to your list of dependencies in `mix.exs`:

```elixir
def deps do
  [
    {:eth_contract, "~> 0.1.0"}
  ]
end
```

Documentation can be generated with [ExDoc](https://github.com/elixir-lang/ex_doc)
and published on [HexDocs](https://hexdocs.pm). Once published, the docs can
be found at [https://hexdocs.pm/eth_contract](https://hexdocs.pm/eth_contract).

## Configuration

Add your JSON RPC provider URL in config.exs

```elixir
config :ethereumex,
  url: "http://"
```

## Usage

Load and parse the ABI

```
abi = EthContract.parse_abi("crypto_kitties.json")
```

Get meta given a token_id and method name

```
EthContract.meta(%{token_id: 45, method: "getKitty", contract: "0x06012c8cf97BEaD5deAe237070F9587f8E7A266d", abi: abi})
```

This will return a map with all the meta:

```
%{                                                                                                                                                                                "birthTime" => 1511417999,
  "cooldownIndex" => 0,  
  "generation" => 0,
  "genes" => 626837621154801616088980922659877168609154386318304496692374110716999053,
  "isGestating" => false,
  "isReady" => true,
  "matronId" => 0,
  "nextActionAt" => 0,
  "sireId" => 0,
  "siringWithId" => 0
}
```