4
0
Fork 0

Contract tx_receipt returns tuple, modified tests

contracts
hswick 7 years ago
parent 0bb04f362e
commit d0355acb3e
  1. 5
      lib/exw3.ex
  2. 24
      test/exw3_test.exs

@ -203,15 +203,16 @@ defmodule ExW3 do
receipt = ExW3.tx_receipt tx_hash
events = get(contract_agent, :events)
logs = receipt["logs"]
Enum.map logs, fn log ->
formatted_logs = Enum.map logs, fn log ->
topic = Enum.at log["topics"], 0
event = Map.get events, topic
if event do
Enum.zip(event[:names], ExW3.decode_event(log["data"], event[:signature])) |> Enum.into %{}
Enum.zip(event[:names], ExW3.decode_event(log["data"], event[:signature])) |> Enum.into(%{})
else
nil
end
end
{:ok, {receipt, formatted_logs}}
end
end

@ -50,19 +50,13 @@ defmodule EXW3Test do
storage = ExW3.Contract.at context[:simple_storage_abi], contract_address
{:ok, result} = ExW3.Contract.method(storage, :get)
{:ok, result} = ExW3.Contract.method storage, :get
assert result == 0
{:ok, tx_hash} = ExW3.Contract.method(storage, :set, [1], %{from: Enum.at(context[:accounts], 0)})
receipt = ExW3.tx_receipt tx_hash
#IO.inspect receipt
#IO.inspect ExW3.block receipt["blockNumber"]
{:ok, result} = ExW3.Contract.method(storage, :get)
{:ok, result} = ExW3.Contract.method storage, :get
assert result == 1
@ -86,15 +80,15 @@ defmodule EXW3Test do
%{from: Enum.at(context[:accounts], 0)}
)
receipt = ExW3.Contract.tx_receipt(event_tester, tx_hash)
IO.inspect receipt
#topic = Map.get(Enum.at(logs, 0), "topics")
{:ok, {receipt, logs}} = ExW3.Contract.tx_receipt(event_tester, tx_hash)
#assert String.slice(Enum.at(topic, 0), 2..-1) == ExW3.encode_event("Simple(uint256,bytes32)")
data =
logs
|> Enum.at(0)
|> Map.get("data")
|> ExW3.bytes_to_string()
#:timer.sleep(2000)
assert data == "Hello, World!"
end

Loading…
Cancel
Save