Skip to content

Commit

Permalink
cleanup tests for calldata
Browse files Browse the repository at this point in the history
  • Loading branch information
InoMurko committed Jan 26, 2021
1 parent cd1cdfb commit 3936714
Show file tree
Hide file tree
Showing 21 changed files with 209 additions and 431 deletions.
162 changes: 81 additions & 81 deletions apps/omg_eth/lib/omg_eth/root_chain/abi_function_selector.ex
Original file line number Diff line number Diff line change
Expand Up @@ -18,90 +18,90 @@ defmodule OMG.Eth.RootChain.AbiFunctionSelector do
We define Solidity Function selectors that help us decode returned values from function calls
"""
# workaround for https://github.com/omgnetwork/elixir-omg/issues/1632
def start_exit() do
%ABI.FunctionSelector{
function: "startExit",
input_names: [
"utxoPosToExit",
"rlpOutputTxToContract",
"outputTxToContractInclusionProof",
"rlpInputCreationTx",
"inputCreationTxInclusionProof",
"utxoPosInput"
],
inputs_indexed: nil,
method_id: <<191, 31, 49, 109>>,
returns: [],
type: :function,
types: [{:uint, 256}, :bytes, :bytes, :bytes, :bytes, {:uint, 256}]
}
end
# def start_exit() do
# %ABI.FunctionSelector{
# function: "startExit",
# input_names: [
# "utxoPosToExit",
# "rlpOutputTxToContract",
# "outputTxToContractInclusionProof",
# "rlpInputCreationTx",
# "inputCreationTxInclusionProof",
# "utxoPosInput"
# ],
# inputs_indexed: nil,
# method_id: <<191, 31, 49, 109>>,
# returns: [],
# type: :function,
# types: [{:uint, 256}, :bytes, :bytes, :bytes, :bytes, {:uint, 256}]
# }
# end

def start_standard_exit() do
%ABI.FunctionSelector{
function: "startStandardExit",
input_names: ["utxoPos", "rlpOutputTx", "outputTxInclusionProof"],
inputs_indexed: nil,
method_id: <<112, 224, 20, 98>>,
returns: [],
type: :function,
types: [tuple: [{:uint, 256}, :bytes, :bytes]]
}
end
# def start_standard_exit() do
# %ABI.FunctionSelector{
# function: "startStandardExit",
# input_names: ["utxoPos", "rlpOutputTx", "outputTxInclusionProof"],
# inputs_indexed: nil,
# method_id: <<112, 224, 20, 98>>,
# returns: [],
# type: :function,
# types: [tuple: [{:uint, 256}, :bytes, :bytes]]
# }
# end

def challenge_in_flight_exit_not_canonical() do
%ABI.FunctionSelector{
function: "challengeInFlightExitNotCanonical",
input_names: [
"inputTx",
"inputUtxoPos",
"inFlightTx",
"inFlightTxInputIndex",
"competingTx",
"competingTxInputIndex",
"competingTxPos",
"competingTxInclusionProof",
"competingTxWitness"
],
inputs_indexed: [true, true, true, true, true, true, true, true, true],
method_id: <<232, 54, 34, 152>>,
returns: [],
type: :function,
types: [
tuple: [
:bytes,
{:uint, 256},
:bytes,
{:uint, 16},
:bytes,
{:uint, 16},
{:uint, 256},
:bytes,
:bytes
]
]
}
end
# def challenge_in_flight_exit_not_canonical() do
# %ABI.FunctionSelector{
# function: "challengeInFlightExitNotCanonical",
# input_names: [
# "inputTx",
# "inputUtxoPos",
# "inFlightTx",
# "inFlightTxInputIndex",
# "competingTx",
# "competingTxInputIndex",
# "competingTxPos",
# "competingTxInclusionProof",
# "competingTxWitness"
# ],
# inputs_indexed: [true, true, true, true, true, true, true, true, true],
# method_id: <<232, 54, 34, 152>>,
# returns: [],
# type: :function,
# types: [
# tuple: [
# :bytes,
# {:uint, 256},
# :bytes,
# {:uint, 16},
# :bytes,
# {:uint, 16},
# {:uint, 256},
# :bytes,
# :bytes
# ]
# ]
# }
# end

def start_in_flight_exit() do
%ABI.FunctionSelector{
function: "startInFlightExit",
input_names: ["inFlightTx", "inputTxs", "inputUtxosPos", "inputTxsInclusionProofs", "inFlightTxWitnesses"],
inputs_indexed: nil,
method_id: <<90, 82, 133, 20>>,
returns: [],
type: :function,
types: [
tuple: [
:bytes,
{:array, :bytes},
{:array, {:uint, 256}},
{:array, :bytes},
{:array, :bytes}
]
]
}
end
# def start_in_flight_exit() do
# %ABI.FunctionSelector{
# function: "startInFlightExit",
# input_names: ["inFlightTx", "inputTxs", "inputUtxosPos", "inputTxsInclusionProofs", "inFlightTxWitnesses"],
# inputs_indexed: nil,
# method_id: <<90, 82, 133, 20>>,
# returns: [],
# type: :function,
# types: [
# tuple: [
# :bytes,
# {:array, :bytes},
# {:array, {:uint, 256}},
# {:array, :bytes},
# {:array, :bytes}
# ]
# ]
# }
# end

# min_exit_period/0, get_version/0, exit_games/0, vaults/0 are
# victims of unfortinate bug: https://github.com/poanetwork/ex_abi/issues/25
Expand Down
118 changes: 59 additions & 59 deletions apps/omg_eth/lib/omg_eth/root_chain/fields.ex
Original file line number Diff line number Diff line change
Expand Up @@ -181,65 +181,65 @@ defmodule OMG.Eth.RootChain.Fields do
Map.update(reduce_naming(data, contracts_naming), :omg_data, %{key => value}, &Map.put(&1, key, value))
end

def rename(data, %ABI.FunctionSelector{function: "startInFlightExit"}) do
contracts_naming = [
{"inFlightTx", :in_flight_tx},
{"inputTxs", :input_txs},
{"inputUtxosPos", :input_utxos_pos},
{"inputTxsInclusionProofs", :input_inclusion_proofs},
{"inFlightTxWitnesses", :in_flight_tx_sigs}
]

reduce_naming(data, contracts_naming)
end

def rename(data, %ABI.FunctionSelector{function: "startStandardExit"}) do
contracts_naming = [
{"outputTxInclusionProof", :output_tx_inclusion_proof},
{"rlpOutputTx", :output_tx},
{"utxoPos", :utxo_pos}
]

# not used and discarded
Map.delete(reduce_naming(data, contracts_naming), :output_tx_inclusion_proof)
end

# workaround for https://github.com/omgnetwork/elixir-omg/issues/1632
def rename(data, %ABI.FunctionSelector{function: "startExit"}) do
contracts_naming = [
{"utxoPosToExit", :utxo_pos},
{"rlpOutputTxToContract", :output_tx},
{"outputTxToContractInclusionProof", :output_tx_inclusion_proof},
{"rlpInputCreationTx", :rlp_input_creation_tx},
{"inputCreationTxInclusionProof", :input_creation_tx_inclusion_proof},
{"utxoPosInput", :utxo_pos_input}
]

# not used and discarded
Map.drop(reduce_naming(data, contracts_naming), [
:output_tx_inclusion_proof,
:rlp_input_creation_tx,
:input_creation_tx_inclusion_proof,
:utxo_pos_input
])
end

def rename(data, %ABI.FunctionSelector{function: "challengeInFlightExitNotCanonical"}) do
contracts_naming = [
{"competingTx", :competing_tx},
{"competingTxInclusionProof", :competing_tx_inclusion_proof},
{"competingTxInputIndex", :competing_tx_input_index},
{"competingTxPos", :competing_tx_pos},
{"competingTxWitness", :competing_tx_sig},
{"inFlightTx", :in_flight_tx},
{"inFlightTxInputIndex", :in_flight_input_index},
{"inputTx", :input_tx_bytes},
{"inputUtxoPos", :input_utxo_pos}
]

# not used and discarded
Map.delete(reduce_naming(data, contracts_naming), :competing_tx_inclusion_proof)
end
# def rename(data, %ABI.FunctionSelector{function: "startInFlightExit"}) do
# contracts_naming = [
# {"inFlightTx", :in_flight_tx},
# {"inputTxs", :input_txs},
# {"inputUtxosPos", :input_utxos_pos},
# {"inputTxsInclusionProofs", :input_inclusion_proofs},
# {"inFlightTxWitnesses", :in_flight_tx_sigs}
# ]

# reduce_naming(data, contracts_naming)
# end

# def rename(data, %ABI.FunctionSelector{function: "startStandardExit"}) do
# contracts_naming = [
# {"outputTxInclusionProof", :output_tx_inclusion_proof},
# {"rlpOutputTx", :output_tx},
# {"utxoPos", :utxo_pos}
# ]

# # not used and discarded
# Map.delete(reduce_naming(data, contracts_naming), :output_tx_inclusion_proof)
# end

# # workaround for https://github.com/omgnetwork/elixir-omg/issues/1632
# def rename(data, %ABI.FunctionSelector{function: "startExit"}) do
# contracts_naming = [
# {"utxoPosToExit", :utxo_pos},
# {"rlpOutputTxToContract", :output_tx},
# {"outputTxToContractInclusionProof", :output_tx_inclusion_proof},
# {"rlpInputCreationTx", :rlp_input_creation_tx},
# {"inputCreationTxInclusionProof", :input_creation_tx_inclusion_proof},
# {"utxoPosInput", :utxo_pos_input}
# ]

# # not used and discarded
# Map.drop(reduce_naming(data, contracts_naming), [
# :output_tx_inclusion_proof,
# :rlp_input_creation_tx,
# :input_creation_tx_inclusion_proof,
# :utxo_pos_input
# ])
# end

# def rename(data, %ABI.FunctionSelector{function: "challengeInFlightExitNotCanonical"}) do
# contracts_naming = [
# {"competingTx", :competing_tx},
# {"competingTxInclusionProof", :competing_tx_inclusion_proof},
# {"competingTxInputIndex", :competing_tx_input_index},
# {"competingTxPos", :competing_tx_pos},
# {"competingTxWitness", :competing_tx_sig},
# {"inFlightTx", :in_flight_tx},
# {"inFlightTxInputIndex", :in_flight_input_index},
# {"inputTx", :input_tx_bytes},
# {"inputUtxoPos", :input_utxo_pos}
# ]

# # not used and discarded
# Map.delete(reduce_naming(data, contracts_naming), :competing_tx_inclusion_proof)
# end

defp reduce_naming(data, contracts_naming) do
Enum.reduce(contracts_naming, %{}, fn
Expand Down

0 comments on commit 3936714

Please sign in to comment.