Skip to content

Commit d12589e

Browse files
committed
Fix raise on missing values
1 parent 4e188fc commit d12589e

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

lib/ethers/transaction.ex

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,8 @@ defmodule Ethers.Transaction do
200200
tx
201201
|> Map.from_struct()
202202
|> Map.new(fn
203+
{k, nil} -> {k, nil}
204+
{k, ""} -> {k, nil}
203205
{k, v} when k in @integer_type_values -> {k, Utils.hex_to_integer!(v)}
204206
{k, v} when k in @binary_type_values -> {k, Utils.hex_decode!(v)}
205207
{k, v} -> {k, v}

test/ethers/transaction_test.exs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,5 +55,13 @@ defmodule Ethers.TransactionTest do
5555
assert is_binary(decoded.signature_r)
5656
assert is_binary(decoded.signature_s)
5757
end
58+
59+
test "does not fail with missing values" do
60+
assert %{signature_recovery_id: nil} =
61+
Transaction.decode_values(%{@transaction_fixture | signature_recovery_id: nil})
62+
63+
assert %{signature_recovery_id: nil} =
64+
Transaction.decode_values(%{@transaction_fixture | signature_recovery_id: ""})
65+
end
5866
end
5967
end

0 commit comments

Comments
 (0)