lib/types/step.ex
defmodule Kadena.Types.Step do
@moduledoc """
`Step` struct definition.
"""
@behaviour Kadena.Types.Spec
@type t :: %__MODULE__{number: integer()}
defstruct [:number]
@impl true
def new(number) when is_integer(number), do: %__MODULE__{number: number}
def new(_number), do: {:error, [number: :invalid]}
end