lib/types/pact_code.ex
defmodule Kadena.Types.PactCode do
@moduledoc """
`PactCode` struct definition.
"""
@behaviour Kadena.Types.Spec
@type code :: String.t()
@type t :: %__MODULE__{code: code()}
defstruct [:code]
@impl true
def new(code) when is_binary(code), do: %__MODULE__{code: code}
def new(_code), do: {:error, [code: :invalid]}
end