Packages

A User-Friendly Component-Based Cardano SDK for Elixir.

Current section

Files

Jump to
sutra_cardano priv blueprint_generator unit_module.eex
Raw

priv/blueprint_generator/unit_module.eex

defmodule <%= @name %> do
@moduledoc "Constructor with index <%= @index %>"
alias Sutra.Data.Plutus.Constr
defstruct []
@type t() :: %__MODULE__{}
@doc "Creates a new <%= @name %>"
def new, do: %__MODULE__{}
@doc "Converts to Plutus data"
def to_plutus(%__MODULE__{}), do: %Constr{index: <%= @index %>, fields: []}
@doc "Converts from Plutus data"
def from_plutus(%Constr{index: <%= @index %>, fields: []}), do: {:ok, %__MODULE__{}}
def from_plutus(_), do: {:error, :invalid_data}
end