Packages

Cli app meant to ease interation with Elrond SCs

Current section

Files

Jump to
earendil lib transaction arguments.ex
Raw

lib/transaction/arguments.ex

defmodule EarendilCli.Transaction.Arguments do
alias EarendilCli.Deployment.ContractAgent, as: Contract
defp add_arguments(args, %{arguments: arguments}) do
if not is_nil(arguments), do: args ++ ["--arguments=#{arguments}"], else: args
end
defp add_value(args, %{value: value}) do
if not is_nil(value), do: args ++ ["--value=#{value}"], else: args
end
defp add_step_args(task, args) do
args
|> add_arguments(task)
|> add_value(task)
end
def make(task) do
args = [
"--verbose",
"contract",
"call",
Contract.get(),
"--function=#{task.function}",
]
args = add_step_args(task, args)
args ++ [
"--gas-limit=#{task.gas_limit}",
"--proxy=#{task.config.proxy}",
"--recall-nonce",
"--send",
"--chain=#{task.config.chain}",
"--pem=#{task.config.pem}"
]
end
end