diff --git a/lib/eth.ex b/lib/eth.ex index f342cf7..80b831c 100644 --- a/lib/eth.ex +++ b/lib/eth.ex @@ -62,11 +62,11 @@ defmodule ETH do defdelegate hash(transaction, include_signature), to: ETH.Transaction defdelegate sign_transaction(transaction, private_key), to: ETH.Transaction.Signer - defdelegate sign_transaction_list(transaction_list, private_key), to: ETH.Transaction.Signer defdelegate decode(rlp_encoded_transaction), to: ETH.Transaction.Signer defdelegate encode(signed_transaction_list), to: ETH.Transaction.Signer defdelegate send_transaction(params_or_wallet, private_key_or_params), to: ETH.Transaction + defdelegate send_transaction(sender_wallet, receiver_wallet, value_or_params), to: ETH.Transaction diff --git a/lib/eth/transaction.ex b/lib/eth/transaction.ex index 1fe549e..a56b79d 100644 --- a/lib/eth/transaction.ex +++ b/lib/eth/transaction.ex @@ -12,7 +12,6 @@ defmodule ETH.Transaction do defdelegate hash(transaction, include_signature), to: ETH.Transaction.Signer defdelegate sign_transaction(transaction, private_key), to: ETH.Transaction.Signer - defdelegate sign_transaction_list(transaction_list, private_key), to: ETH.Transaction.Signer defdelegate decode(rlp_encoded_transaction), to: ETH.Transaction.Signer defdelegate encode(signed_transaction_list), to: ETH.Transaction.Signer diff --git a/lib/eth/transaction/signer.ex b/lib/eth/transaction/signer.ex index e9c2476..61b1e64 100644 --- a/lib/eth/transaction/signer.ex +++ b/lib/eth/transaction/signer.ex @@ -56,11 +56,11 @@ defmodule ETH.Transaction.Signer do def sign_transaction(transaction, private_key) when is_map(transaction) do transaction |> ETH.Transaction.to_list() - |> sign_transaction_list(private_key) + |> sign_transaction(private_key) |> ExRLP.encode() end - def sign_transaction_list( + def sign_transaction( transaction_list = [ _nonce, _gas_price, @@ -73,11 +73,11 @@ defmodule ETH.Transaction.Signer do _s ], <> - ) do - to_signed_transaction_list(transaction_list, private_key) + ) when is_map(transaction_list) do + sign_transaction_list(transaction_list, private_key) end - def sign_transaction_list( + def sign_transaction( transaction_list = [ _nonce, _gas_price, @@ -90,12 +90,12 @@ defmodule ETH.Transaction.Signer do _s ], <> - ) do + ) when is_list(transaction_list) do decoded_private_key = Base.decode16!(encoded_private_key, case: :mixed) - to_signed_transaction_list(transaction_list, decoded_private_key) + sign_transaction_list(transaction_list, decoded_private_key) end - defp to_signed_transaction_list( + defp sign_transaction_list( transaction_list = [ nonce, gas_price, @@ -104,8 +104,8 @@ defmodule ETH.Transaction.Signer do value, data, v, - _r, - _s + r, + s ], <> ) do diff --git a/mix.exs b/mix.exs index 4ac396f..c3ef70e 100644 --- a/mix.exs +++ b/mix.exs @@ -4,7 +4,7 @@ defmodule Eth.Mixfile do def project do [ app: :eth, - version: "0.3.0", + version: "0.3.1", elixir: "~> 1.5", start_permanent: Mix.env() == :prod, deps: deps(), diff --git a/test/eth/eth_test.exs b/test/eth/eth_test.exs index 93a30f1..e63042e 100644 --- a/test/eth/eth_test.exs +++ b/test/eth/eth_test.exs @@ -59,7 +59,6 @@ defmodule ETH.Test do send_transaction: 3, send_transaction: 4, sign_transaction: 2, - sign_transaction_list: 2, syncing: 0, syncing!: 0, to_buffer: 1, diff --git a/test/eth/transaction_test.exs b/test/eth/transaction_test.exs index 62587ca..9c3a6dd 100644 --- a/test/eth/transaction_test.exs +++ b/test/eth/transaction_test.exs @@ -159,7 +159,7 @@ defmodule TransactionTest do |> Map.get("raw") |> Transaction.parse() |> Transaction.to_list() - |> Transaction.sign_transaction_list(transaction["privateKey"]) + |> Transaction.sign_transaction(transaction["privateKey"]) result = Transaction.get_sender_address(signed_transaction_list) assert result == "0x" <> String.upcase(transaction["sendersAddress"])